A method, apparatus and electronic device for determining a path

By pre-compiling and storing path sets, the problem of low path computation efficiency in centralized path computation architecture is solved, and path determination with fast response and network stability is achieved.

CN118233358BActive Publication Date: 2026-01-13RUIJIE NETWORKS CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211600742.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-13
Publication Date
2026-01-13
Estimated Expiration
2042-12-13

Smart Images

  • Figure CN118233358B_ABST
    Figure CN118233358B_ABST
Patent Text Reader

Abstract

The application discloses a method, device and electronic equipment for determining a path to improve path calculation efficiency. The method comprises the following steps: determining a pre-stored path set based on an acquired network topology, and storing the pre-stored path set; wherein the pre-stored path set comprises a transmission path and a performance parameter corresponding to the transmission path; receiving a path request; wherein the path request comprises a constraint condition, and the constraint condition indicates a demand for the transmission quality of the transmission path; and selecting at least one first selectable path in the pre-stored path set based on the constraint condition in the path request.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, and in particular to a method, apparatus and electronic device for determining a path. Background Technology

[0002] In a network architecture where paths are centrally determined, the transmission paths used for traffic forwarding are calculated centrally by a single system. For example, Software Defined Networking (SDN). The core of an SDN controller is the separation of the control plane and the forwarding plane. The control plane completely controls forwarding behavior, allowing devices to focus on forwarding functions within the network, while the SDN controller calculates and manages the paths, guiding traffic forwarding.

[0003] In a network architecture with centralized path determination, after receiving a user's path calculation request, the controller calculates a path that meets the conditions based on the network topology, distributes the preferred path to the source node of the path calculation, completes the path calculation, and forwards user data along the specified path. Clearly, this centralized path determination method, as an NP (Non-deterministic Polynomial) problem, has no optimal solution. A single user request for path calculation can take several seconds. Especially with large-scale networks, excessively long path calculation times can inevitably impact user services or cause network scheduling problems. Summary of the Invention

[0004] This application provides a method, apparatus, and electronic device for determining a path, in order to improve the efficiency of path calculation and to respond quickly to path requests.

[0005] In a first aspect, embodiments of this application provide a method for determining a path, including:

[0006] Based on the acquired network topology, a pre-stored path set is determined and stored; wherein, the pre-stored path set includes transmission paths and performance parameters corresponding to the transmission paths;

[0007] Receive a path request; wherein the path request includes constraints indicating the required transmission quality for the transmission path;

[0008] Based on the constraints in the path request, at least one first optional path is selected from the pre-stored path set.

[0009] One possible implementation is to obtain the network topology;

[0010] In the network topology, the transmission path and the performance parameters corresponding to the transmission path are determined;

[0011] Based on the network edge devices in the transmission path, the transmission paths are arranged to obtain a pre-stored path set.

[0012] One possible implementation, wherein determining the pre-stored path set based on the acquired network topology, includes:

[0013] Receive a first notification indicating the network topology change; wherein the first notification includes a first addition notification and / or a first deletion notification;

[0014] In response to the first addition notification and / or the first deletion notification, the transmission paths in the pre-stored path set and the performance parameters of the transmission paths are updated; wherein, the first addition notification includes at least one of adding a first network edge device, adding a first network core device, and adding a first link, and the first deletion notification includes at least one of deleting a second network edge device, deleting a second network core device, and deleting a second link.

[0015] One possible implementation, after updating the transmission path and its performance parameters, includes:

[0016] From the pre-stored path set, determine the transmission path with the lowest performance parameter among the same transmission paths of the network edge device;

[0017] Delete the transmission path with the lowest performance parameter, and add the updated transmission path and its performance parameter to the pre-stored path set.

[0018] In one possible implementation, if the first notification includes a first new notification, then updating the transmission path and its performance parameters in response to the first new notification and / or the first deletion notification includes:

[0019] Add the first network edge device and / or the first link to the network topology, and a first identifier corresponding to the first network edge device and / or the first link; wherein, the first identifier includes a newly added identifier and the time of addition of the first identifier;

[0020] Based on the time when the first identifier was added, determine the first duration for adding the first identifier;

[0021] In response to the first duration being greater than or equal to a preset aging threshold, the transmission path and its performance parameters are updated based on the first network edge device and / or the first link.

[0022] In one possible implementation, if the first notification includes a first deletion notification, then updating the transmission path and its performance parameters in response to the first addition notification and / or the first deletion notification includes:

[0023] In the network topology, a second identifier is added for the second network edge device and / or the second link; wherein the second identifier includes a deletion identifier and the time of addition of the second identifier;

[0024] Based on the time when the second identifier was added, determine the second duration for adding the second identifier;

[0025] In response to the second duration being greater than or equal to the preset aging threshold, the second network edge device and / or the second link are deleted from the network topology, and the transmission path and the performance parameters of the updated transmission path are updated.

[0026] One possible implementation includes, before updating the transmission path and the performance parameters of the updated transmission path, the following steps are further included:

[0027] Receive a second deletion notification indicating the network topology change;

[0028] In response to the second deletion notification including the deletion of a third link, the network core devices at both ends of the third link are identified in the network topology;

[0029] In response to the fact that the third link is different from the first link, a third identifier is added to the network core devices at both ends of the third link; wherein, the third identifier includes a deletion identifier and the time of addition of the third identifier; or,

[0030] In response to the fact that the third link is different from the first link, the first link and the first identifier corresponding to the first link are deleted from the network topology.

[0031] One possible implementation includes, before updating the transmission path and the performance parameters of the updated transmission path, the following steps are further included:

[0032] Receive a second new notification indicating the network topology change;

[0033] In response to the second new notification including the addition of a third network edge device, it is determined whether the third network edge device is the same as the second network edge device;

[0034] If so, delete the second network edge device and the second identifier corresponding to the second network edge device from the network topology;

[0035] If not, add the third network edge device and a fourth identifier corresponding to the third network edge device to the network topology; wherein the fourth identifier includes a newly added identifier and the time of addition of the fourth identifier.

[0036] One possible implementation, after selecting at least one first optional path from the pre-stored path set, further includes:

[0037] Receive a third notification; wherein the third notification indicates that at least one link in the first alternative path has changed;

[0038] Based on the third notification and service level agreement, a degraded link is identified, and a second optional path that does not include the degraded link is determined from the first optional path; wherein the performance parameters of the degraded link do not meet the preset reference values ​​corresponding to the constraint conditions;

[0039] Update the first optional path using the second optional path.

[0040] One possible implementation includes, before storing the pre-stored path set:

[0041] Determine the storage threshold of the controller, and the required space for the transmission path and the performance parameters; wherein the storage threshold is not greater than the storage space of the controller;

[0042] In response to the demand space being greater than the storage space, candidate transmission paths are determined among the same transmission paths of the network edge devices; wherein at least one of the performance parameters of the candidate transmission paths is lower than a corresponding preset reference value; wherein the performance parameter is the number of hops of the transmission path, the bandwidth of the transmission path, the latency of the transmission path, or the packet loss rate of the transmission path.

[0043] Delete at least one of the candidate transmission paths so that the remaining transmission paths and the required space for the performance parameters of the remaining transmission paths are no greater than the storage space.

[0044] The storage of the pre-stored path set includes:

[0045] The remaining transmission paths and their performance parameters are stored to obtain the pre-stored path set.

[0046] Secondly, embodiments of this application provide an apparatus for determining a path, comprising:

[0047] Set unit: used to determine a set of pre-stored paths based on the acquired network topology, and store the set of pre-stored paths; wherein, the set of pre-stored paths includes transmission paths and performance parameters corresponding to the transmission paths;

[0048] Receiving unit: for receiving path requests; wherein the path request includes constraints indicating the transmission quality requirements for the transmission path;

[0049] Selection unit: used to select at least one first optional path from the pre-stored path set based on the constraints in the path request.

[0050] In one possible implementation, the set unit is specifically used to acquire the network topology; determine the transmission path and the performance parameters corresponding to the transmission path in the network topology; and arrange the transmission paths according to the network edge devices in the transmission paths to obtain a pre-stored path set.

[0051] In one possible implementation, the collection unit is further configured to receive a first notification indicating a change in the network topology; wherein the first notification includes an indication of a first addition notification and / or a first deletion notification; in response to the first addition notification and / or the first deletion notification, updating the transmission paths in the pre-stored path set and the performance parameters of the transmission paths; wherein the first addition notification includes at least one of adding a first network edge device, adding a first network core device, and adding a first link, and the first deletion notification includes at least one of deleting a second network edge device, deleting a second network core device, and deleting a second link.

[0052] In one possible implementation, the path determination device further includes a deletion unit, which is specifically used to determine, from the pre-stored path set, any transmission path with the lowest performance parameter among the same transmission paths of the network edge device; delete the transmission path with the lowest performance parameter, and add the updated transmission path and the performance parameter of the updated transmission path to the pre-stored path set.

[0053] In one possible implementation, where the first notification includes a first new notification, the aggregation unit is further configured to add the first network edge device and / or the first link to the network topology, and a first identifier corresponding to the first network edge device and / or the first link; wherein the first identifier includes a new identifier and the time of addition of the first identifier; based on the time of addition of the first identifier, a first duration for adding the first identifier is determined; in response to the first duration being greater than or equal to a preset aging threshold, the transmission path and the performance parameters of the transmission path are updated based on the first network edge device and / or the first link.

[0054] In one possible implementation, where the first notification includes a first deletion notification, the aggregation unit is further configured to add a second identifier to the second network edge device and / or the second link in the network topology; wherein the second identifier includes a deletion identifier and the time of addition of the second identifier; based on the time of addition of the second identifier, a second duration for adding the second identifier is determined; in response to the second duration being greater than or equal to the preset aging threshold, the second network edge device and / or the second link are deleted from the network topology, and the transmission path and the performance parameters of the updated transmission path are updated.

[0055] In one possible implementation, the aggregation unit is further configured to receive a second deletion notification indicating a change in the network topology; in response to the second deletion notification including the deletion of a third link, to identify network core devices at both ends of the third link in the network topology; in response to the third link being different from the first link, to add a third identifier to the network core devices at both ends of the third link; wherein the third identifier includes a deletion identifier and the time of addition of the third identifier; or, in response to the third link being the same as the first link, to delete the first link and the first identifier corresponding to the first link in the network topology.

[0056] In one possible implementation, the aggregation unit is further configured to receive a second new notification indicating a change in the network topology; in response to the second new notification including the addition of a third network edge device, determining whether the third network edge device is the same as the second network edge device; if so, deleting the second network edge device and the second identifier corresponding to the second network edge device from the network topology; if not, adding the third network edge device and the fourth identifier corresponding to the third network edge device to the network topology; wherein the fourth identifier includes a new identifier and the time of addition of the fourth identifier.

[0057] In one possible implementation, the path determination apparatus further includes a degradation unit, specifically configured to receive a third notification; wherein the third notification indicates that at least one link in the first optional path has changed; based on the third notification and service level protocol, a degradation link is determined, and a second optional path excluding the degradation link is determined in the first optional path; wherein the performance parameters of the degradation link do not meet the preset reference value corresponding to the constraint condition; and the first optional path is updated using the second optional path.

[0058] In one possible implementation, the traffic forwarding device further includes a storage unit, specifically used to determine a storage threshold of the controller, and the required space for the transmission path and the performance parameters; wherein the storage threshold is not greater than the storage space of the controller; in response to the required space being greater than the storage space, candidate transmission paths are determined among the same transmission paths of the network edge device; wherein at least one of the performance parameters of the candidate transmission path is lower than a corresponding preset reference value; wherein the performance parameter is the hop count of the transmission path, the bandwidth of the transmission path, the latency of the transmission path, or the packet loss rate of the transmission path; at least one candidate transmission path is deleted, such that the required space for the remaining transmission paths and the performance parameters of the remaining transmission paths is not greater than the storage space;

[0059] The set unit is also used to store the remaining transmission paths and the performance parameters of the remaining transmission paths, to obtain the pre-stored path set.

[0060] Thirdly, embodiments of this application provide a readable storage medium, including,

[0061] memory,

[0062] The memory is used to store instructions that, when executed by a processor, cause an apparatus including the readable storage medium to perform the method as described in the first aspect and any possible implementation.

[0063] Fourthly, embodiments of this application provide an electronic device, including:

[0064] Memory, used to store computer programs;

[0065] When a processor executes a computer program stored in the memory, it implements the method as described in the first aspect and any possible implementation.

[0066] The present invention has the following beneficial effects:

[0067] (1) Before receiving a path request from a user, a pre-stored path set is determined and stored based on the acquired network topology. This allows the controller to directly select an applicable path from the pre-calculated path set based on the constraints in the path request after receiving it, thus completing the path calculation. This method of determining the path effectively avoids the problem of increased calculation time and low path calculation efficiency caused by only performing the corresponding transmission path calculation after receiving the path request when the network size increases or the path calculation constraints become more complex.

[0068] (2) Upon receiving a notification indicating a change in network topology, update the transmission paths in the pre-stored path set according to the changes (deletion and / or addition) indicated in the notification and the operation object, so as to ensure that after receiving a user request, any transmission path determined by the pre-stored path set can forward traffic for the user.

[0069] (3) To avoid network jitter and unnecessary updates to transmission paths that would waste the controller’s CPU resources and cause a decrease in response or processing speed, after receiving a notification indicating a change in network topology, the controller first marks the changes (deletion and / or addition) and the operation objects indicated in the notification. After the markings meet the preset aging threshold, the controller performs the operation corresponding to the changes indicated in the notification and updates the transmission paths in the pre-stored path set. This effectively avoids the impact of multiple additions and deletions of the same node or link in a short period of time on the controller during network jitter. Attached Figure Description

[0070] Figure 1 A flowchart illustrating a method for determining a path provided in an embodiment of this application;

[0071] Figure 2 A network topology diagram provided for an embodiment of this application;

[0072] Figure 3 A flowchart illustrating a method for determining a pre-stored path set provided in an embodiment of this application;

[0073] Figure 4 This is a schematic diagram illustrating a pre-stored transmission path for path determination, provided as an embodiment of this application.

[0074] Figure 5 A schematic diagram illustrating the use of a matrix hash table to store a pre-stored path set, as provided in an embodiment of this application;

[0075] Figure 6 A schematic diagram of a path-determining device provided in an embodiment of this application;

[0076] Figure 7 This is a schematic diagram of the structure of an electronic device for determining a path, provided in an embodiment of this application. Detailed Implementation

[0077] To address the low efficiency of path calculation in existing technologies, this application proposes a method for determining paths: based on the acquired network topology, a pre-stored path set is determined. This pre-stored path set includes each transmission path and its performance parameters. Therefore, when the controller receives a user's path request, it can compare the performance parameters of the transmission paths in the pre-stored path set with the constraints in the path request to determine a transmission path that meets the user's transmission requirements. In other words, the path determination method provided in this application pre-calculates and stores the transmission paths and their corresponding performance parameters before receiving the user's path request. This eliminates the need for the controller to perform path calculation after receiving the user's path request; instead, it only needs to select a first optional path from the pre-calculated pre-stored path set that meets the constraints in the user's path request. This avoids the waiting time required for path calculation after receiving the user's path request in existing technologies, thereby improving path calculation efficiency.

[0078] To better understand the above technical solutions, the relevant technical terms will be explained below:

[0079] Segment Routing IPv6 (SRv6) consists of three parts: Locator, Function, and Args. SRv6 combines the forwarding attributes of both routing and MPLS, integrating the advantages of both technologies.

[0080] Border Gateway Protocol (BGP) is a routing protocol for autonomous systems that runs on Transmission Control Protocol (TCP). BGP can be used to handle networks the size of the Internet, as well as multiplexing protocols between unrelated routing domains. The main function of BGP and other features of the BGP system include providing network reachability information. This network reachability information includes information about listed autonomous systems (AS), which effectively constructs a topology map of interconnected ASes (i.e., network topology), eliminates routing loops, and enables policy decisions at the AS level.

[0081] BGP Link-state (BGP-LS) is a technology for collecting network topology information and reporting it to the controller. BGP-LS can be used to achieve two types of event notifications: First, it aggregates topology information from various processes or ASs and reports it to the controller. Simultaneously, it promptly reports relevant nodes to the controller when the topology changes. Second, it periodically sends link or node information to the controller, enabling the controller to determine the network environment status based on the SLA (Service Level Agreement) and promptly detect network degradation. Here, network degradation refers to parameters such as network latency, jitter, and packet loss rate / service quality declining to a certain lower limit.

[0082] The technical solution of this application will be described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the embodiments and specific features in the embodiments are detailed descriptions of the technical solution of this application, rather than limitations on the technical solution of this application. Unless otherwise specified, the embodiments and technical features in the embodiments can be combined with each other.

[0083] Please refer to Figure 1 This application proposes a path determination method to improve the efficiency of path determination in a centralized path calculation architecture. Embodiments of this application can be applied to, but are not limited to, SRv6 path calculation. For example, SRv6 can efficiently calculate paths using the path calculation method provided in this application, and then achieve network programmability through flexible IPv6 extension headers. The method specifically includes the following implementation steps:

[0084] Step 101: Based on the acquired network topology, determine the pre-stored path set and store the pre-stored path set.

[0085] The network topology consists of multiple network edge devices (PEs), and between the PEs are one or more network core devices (Ps). Please refer to [reference needed]. Figure 2 .

[0086] The aforementioned PE and P devices can be collectively referred to as nodes. Furthermore, based on the direction of the (transmission) path, the PE device at the starting point of any transmission path can be called the source node, and the PE device at the end can be called the destination node. Therefore, a transmission path composed of any two PE devices can be further divided into two transmission paths based on different directions.

[0087] The aforementioned transmission path refers to all paths between any two PE devices. The pre-stored path set includes the transmission paths and the corresponding performance parameters for each transmission path.

[0088] The following provides a detailed explanation of how to determine the set of pre-stored paths. Please refer to [link / reference]. Figure 3 :

[0089] Step 301: Obtain network topology.

[0090] Step 302: In the network topology, determine the transmission path and the performance parameters of the transmission path.

[0091] The transmission path is the path connecting any two network edge devices in the network topology. Performance parameters indicate the transmission quality of the transmission path when forwarding traffic.

[0092] Specifically, the controller collects link information using methods such as BGP-LS, Simple Network Management Protocol (SNMP), and Remote Procedure Call (gRPC) to determine the performance parameters of any transmission path in the network topology. These performance parameters include, but are not limited to, latency, cost, and hop count; the cost value can be preset during the network planning phase.

[0093] Step 303: Arrange the transmission paths according to the network edge devices in the transmission path to obtain a pre-stored path set.

[0094] Specifically, the structure of the pre-stored path set can be chosen arbitrarily, including but not limited to list structure, tree structure, key-value pair structure, table structure, and matrix hash structure.

[0095] Furthermore, based on the aforementioned first function of BGP-LS for reporting network topology changes: summarizing the topology information of each process or each AS and reporting it to the controller. Simultaneously, when a topology change occurs, the relevant nodes promptly report it to the controller. The controller can determine and adjust the transmission path and its performance parameters based on the topology change notifications reported by BGP-LS. The following provides a detailed explanation:

[0096] First, based on BGP-LS, a first notification indicating a network topology change is received. This first notification includes a first addition notification and / or a first deletion notification.

[0097] Then, in response to the first addition notification and / or the first deletion notification, the transmission path and its performance parameters are updated. The first addition notification may include at least one of adding a first network edge device (PE device), adding a first network core device (P device), and adding a first link. The first deletion notification may include at least one of deleting a second network edge device (PE device), deleting a second network core device (P device), and deleting a second link. The number of nodes in the aforementioned links is generally two.

[0098] Generally, when the aforementioned first new notification includes a notification of a newly added first P device, the information regarding the link / transmission link connecting the P device to any PE device or P device in the current network topology can be redefined, thereby re-determining the performance parameters of each transmission path. Alternatively, the notification can be ignored, and the performance parameters of all transmission paths including the newly added first link of the first P device can be updated upon receiving the first new notification. This avoids the problem of excessive resource consumption caused by determining the links and transmission paths independently connected to each P device and all nodes (P devices and PE devices) in the network topology.

[0099] Similarly, when the aforementioned first deletion notification includes a notification to delete a second P device, the information of all links and transmission paths including that P device can be re-determined and updated. Furthermore, since, unless it's an isolated node, after receiving a notification to delete a P device, it will generally receive a notification to delete a second link including that device, it's also possible to wait until the notification to delete a second link including that device is received before deleting the transmission path including that link. This avoids the resource waste caused by excessive transmission path updates due to deleting a large number of links while simultaneously deleting the link and the device.

[0100] Furthermore, in this embodiment of the application, only the first new notification and / or first deletion notification regarding the PE device and the first new notification and / or first deletion notification regarding the link can be responded to (i.e., corresponding updates are performed); while the first new notification and / or first deletion notification regarding the P device is not responded to, in order to avoid unnecessary resource (e.g., CPU) consumption issues.

[0101] Before the update, to avoid repeatedly receiving notifications such as "add, delete, add, delete" or "delete, add, delete, add" due to network jitter, which could lead to unnecessary resource consumption, this embodiment does not immediately perform a topology update after receiving a notification of a topology change. Instead, it waits for an aging cycle of the node and / or link; the node and / or link is the node or link indicated in the notification. If the status of the corresponding node (including PE devices and P devices, with PE devices as the primary focus) does not change after the aging cycle ends, no further processing is performed. The following is a detailed description:

[0102] When the first notification includes a first new notification, in response to the first notification, a first network edge device and / or a first link are added to the network topology, and a first identifier is also added to the first network edge device and / or the first link to facilitate the controller's timing for aging. This first identifier includes a new identifier and the time at which the first identifier was added. Whether the first network edge device or the first link is specifically added to the network topology here is consistent with the indication in the first new notification.

[0103] Next, based on the time of addition of the first identifier, the first duration for adding the first identifier is determined. Once the first duration is not less than a preset aging threshold, it can be determined that the first network edge device and / or the first link indicated in the first new notification is a stable new device / link. Then, the aforementioned transmission path and its performance parameters are updated based on the first network edge device and / or the first link. The preset aging threshold is used to indicate the aging period.

[0104] Similarly, when the first notification includes a first deletion notification; and the first deletion notification includes deleting a second network edge device and / or deleting a second link, then in response to the first notification, a second identifier is added to the second network edge device and / or the second link in the network topology; wherein, the second identifier includes a deletion identifier and the time at which the second identifier was added. It should be noted that for each received notification including information about deleting a certain network edge device, the network edge device is an existing network edge device in the currently unupdated network topology.

[0105] Next, based on the time when the second identifier was added, the second duration for adding the second identifier is determined.

[0106] Next, in response to the second duration being not less than the aforementioned preset aging threshold, the second network edge device and / or the second link are deleted from the network topology, and the transmission path and its performance parameters are updated.

[0107] The above update is based on the premise that no new notifications regarding the first network edge device and / or the first link are received from the controller during the first time period from 0 to the time the preset aging threshold is met. If the controller receives a notification regarding the corresponding device / link during this period, it should perform actions appropriate to the notification indication to complete the aging of the device / link. Taking the first notification as a first addition notification as an example, if a second deletion notification indicating a network topology change is received during this period based on BGP-LS, different processing is required for the link deletion notification or the network edge device deletion notification indicated by the second deletion notification. Specifically, in response to the second deletion notification including the deletion of the third link, it is necessary to first determine whether the network core devices at both ends of the third link still exist in the network topology. If any one or both ends of the third link's network core devices (P devices) no longer exist due to previous notifications, the link does not exist at this time, and no deletion identifier is made. If it is determined that the network topology includes the network core devices at both ends of the third link, then in response to the third link being different from the newly added first link in the first notification, a third identifier is added to the third link in the current network topology. The third identifier includes the deletion identifier and the time of addition of the third identifier. Alternatively, in response to the third link being the same as the first link, the first link that has not yet finished aging and the first identifier of the first link are deleted from the network topology.

[0108] Similarly, when the second deletion notification includes an instruction to delete a network edge device, the implementation steps consistent with those in the third link deletion notification instruction can be performed. That is, in response to the second deletion notification including the deletion of a fourth network edge device, and since the fourth network edge device is identical to the first network edge device, and the first network edge device is still in its aging phase, the first network edge device and the first identifier corresponding to it are deleted from the network topology. This avoids the resource consumption problem caused by immediately starting path calculation after receiving the first notification. In other words, it avoids the resource waste caused by multiple unnecessary path calculations due to network jitter leading to the addition and subsequent deletion of the first network edge device.

[0109] Furthermore, if a second new notification is received before updating the transmission path and its performance parameters, the implementation steps consistent with the aforementioned first or second notification can be executed. That is, in response to a second new notification including the addition of a third network edge device, the third network edge device is first identified in the network topology; if the edge device cannot be identified, it indicates that the network edge device may have already been aged out and deleted, and the aging process for the newly added third network edge device can be restarted. In most cases, when the controller receives a node notification about a network edge device based on BGP-LS, the aforementioned third network edge device can be identified in the network topology. Therefore, it can be directly determined whether the third network edge device is the same as the aforementioned second network edge device that was indicated for deletion.

[0110] If yes, delete the second network edge device and its corresponding second identifier in the network topology, thus ending the aging process for the second network edge device without updating or processing the transmission path. If no, add the third network edge device and its corresponding fourth identifier to the network topology. The fourth identifier includes a newly added identifier and the time of its addition. Alternatively, if the third network edge device is the same as the second network edge device.

[0111] It should be noted that the main difference between the aforementioned first notification, second deletion notification, and second addition notification lies in the time at which they are received before the transmission path is updated. The implementation methods for deletion and addition can be the same. The main difference between the first and fourth identifiers, besides the difference in the addition or deletion flags, lies in the time of addition.

[0112] Furthermore, due to the limited storage space of the controller, to avoid the CPU not supporting the pre-stored path set due to its excessive size, the transmission path selection can be performed before storing the aforementioned pre-stored path set. The following is a detailed explanation:

[0113] First, determine the controller's storage threshold, as well as the required space for transmission paths and performance parameters. The storage threshold should not exceed the controller's storage capacity.

[0114] Then, in response to the demand space exceeding the storage space, to avoid impacting the controller's operating efficiency by storing all transmission paths and performance parameters, a screening process based on performance parameters is determined. Among transmission paths with the same source and destination nodes at the network edge devices, the transmission paths are sorted based on their performance parameters to identify any transmission path whose performance parameter is lower than a corresponding preset reference value. The performance parameters of the transmission path include one or more of the following: hop count, bandwidth, latency, and packet loss rate. That is, the performance parameter is either the hop count, bandwidth, latency, or packet loss rate of the transmission path.

[0115] Finally, delete at least one transmission path whose performance parameters are lower than the preset threshold, that is, delete at least one candidate transmission path, so that the required space of the remaining transmission paths and the performance parameters of the remaining transmission paths is not greater than the storage space of the controller; then store the remaining transmission paths and the performance parameters of the remaining transmission paths as a pre-stored path set.

[0116] For example, if performance parameters include the number of hops and the bandwidth of a transmission path, the transmission paths are sorted based on their bandwidth to obtain a bandwidth sequence. Similarly, they are sorted based on their hop count to obtain a hop count sequence. Then, a preset threshold corresponding to the bandwidth is obtained, and transmission paths below this threshold are identified in the bandwidth sequence. Likewise, a preset threshold corresponding to the hop count is obtained, and transmission paths below this threshold are identified in the hop count sequence. Finally, the number of transmission paths to be deleted is determined based on the difference between the required space and the storage threshold.

[0117] This application does not limit the deletion method; it can be to first delete all transmission paths in the bandwidth sequence as described above that are lower than the corresponding preset reference value, and then delete transmission paths in the hop count sequence that are lower than the corresponding preset reference value, until the remaining transmission paths and the required space for transmission path performance parameters are not greater than the storage space. Alternatively, the deletion method can be to simultaneously delete the same number of transmission paths in both the hop count sequence and the bandwidth sequence until the remaining transmission paths and the required space for transmission path performance parameters are not greater than the storage space; then, the remaining transmission paths and their performance parameters are stored to obtain a pre-stored path set.

[0118] Furthermore, when the number of transmission paths increases after updating the transmission paths and their performance parameters based on BGP-LS, several transmission paths in the pre-stored path set can be grouped together. In each group of transmission paths, the source node and destination node are the same (i.e., both ends are the same PE devices). The transmission paths in each group are sorted based on any performance parameter. The transmission path with the lowest performance parameter in each group is determined. Then, based on the updated transmission path situation, the transmission path with the lowest performance parameter is deleted, thereby achieving the purpose of providing storage space for the updated transmission paths.

[0119] Step 102: Receive path request.

[0120] The path request includes constraints; these constraints indicate the transmission quality requirements for the transmission path. A Service Level Agreement (SLA), as a service level agreement between a user and a provider, generally includes requirements for network transmission quality such as latency, jitter, packet loss rate, and bandwidth. Therefore, the constraints here correspond to the aforementioned SLA agreement.

[0121] This path request can be obtained by the user purchasing a dedicated line, triggering the controller to open a Virtual Private Network (VPN), a remote access technology.

[0122] Therefore, the path request includes constraints indicating the user's requirements for the desired forwarding traffic output path. These constraints may include hop count, cost, packet loss rate, or latency. In other words, these constraints correspond to the performance parameters of the transmission path.

[0123] Step 103: Based on the constraints in the path request, select at least one first optional path from the pre-stored path set.

[0124] Since the set of storage paths, including transmission paths and their performance parameters, has been pre-calculated, this step can directly select the first alternative path for forwarding traffic based on the constraints.

[0125] Furthermore, when multiple first optional paths are available, there are various ways to select one or more of these first optional paths to forward traffic to the user, and this application embodiment does not impose specific limitations. For example, one path can be selected arbitrarily; or two paths can be selected arbitrarily, with the two paths serving as alternative paths to each other. When one of the first optional paths cannot continue forwarding traffic due to network fluctuations or other reasons, the remaining traffic can be forwarded using the other first optional path.

[0126] Furthermore, after determining the first optional path, when traffic is forwarded using that first optional path, if a link in the network environment changes, the controller will receive a third notification based on BGP-LS. This third notification indicates that at least one link in the first optional path has changed. Then, based on the aforementioned third notification and the SLA protocol, the controller identifies the degraded link and, within the first optional path, determines a second optional path that does not include the degraded link. The performance parameters of the degraded link do not meet the preset reference values ​​corresponding to the constraints. Then, the traffic is forwarded based on the second optional path, thereby achieving timely path switching and ensuring that the transmission quality of traffic forwarded via the second optional path is not affected by the degraded related links.

[0127] As can be seen, the method provided in this application embodiment can still use the first optional path in the pre-calculated pre-stored path set to reselect an available transmission path when the network fluctuates during the process of determining the path according to the user request. This avoids recalculating the path, which would reduce response efficiency and cause problems such as network latency on the user side.

[0128] The third notification mentioned above can inform the controller about network degradation through notification nodes, or it can be sent via a link consisting of multiple nodes. When the notification is sent via a link, all nodes on that link are considered degraded nodes.

[0129] The notifications regarding nodes or links during the aforementioned aging period are only for identification purposes. This is especially true for newly added links or nodes; in addition to directly marking nodes in the network topology and adding identifiers, a separate aging list can be established to perform routing calculations based on the network topology after the aging period of nodes or links in the list has expired. The following examples, based on steps 101-103 above, further illustrate these points; please refer to [link / reference]. Figure 4 .

[0130] In this embodiment, PE devices or links that have not completed aging are recorded in an aging list. Once the aforementioned PE devices or links have completed aging, they are deleted from the aging list. When a notification regarding addition or deletion is received, the relevant PE devices and links, along with their corresponding identifiers, are stored in the aging list. When a PE device or link finishes aging, the corresponding operation is performed, and the PE device or link is deleted from the aging list.

[0131] Upon controller startup, network topology information is collected and centralized path calculations are performed. When a network topology change notification is received, it is determined whether the network topology change is a new event notification or a deleted event notification related to a device or link. Regardless of whether the event notification is new or deleted, in this embodiment, the device prioritizes processing event notifications related to PE devices, followed by event notifications related to PE links.

[0132] When the above change notification is a new event notification, determine whether the new event notification is a new PE device (i.e., a network edge device) or a new PE link.

[0133] When a new event notification includes a new PE device, directly compare the new PE device with the devices marked for deletion in the aging list as follows:

[0134] If the same PE device exists in the aging list and is marked as deleted, then it is determined that the newly added PE device does not need to be added to the network topology, and the PE device marked as deleted in the aging list is deleted.

[0135] If there is no identical PE device marked as deleted in the aging list, and there is no identical PE device marked as added, then the newly added PE device will be added to the aging list.

[0136] If there is no identical PE device in the aging list and it is marked as deleted, but there is an identical PE device marked as added, then it is not necessary to add the PE device to the aging list, nor is it necessary to add a new label for the PE device again.

[0137] When a new event notification includes a newly added PE link, it is first determined whether the devices at both ends of the link exist in the current network topology. If so, the following comparison is performed in the aging list, corresponding to when the new event notification includes a newly added PE device:

[0138] If there is a PE link with the same node in the aging list that is marked as deleted, then it is determined that the newly added PE link does not need to be added to the network topology, and the PE link marked as deleted in the aging list is deleted.

[0139] If there is no PE link with the same node and marked as deleted in the aging list, and there is no PE link with the same node and marked as added, then the PE link indicated in the new event notification will be added to the aging list.

[0140] If there is no PE link with the same node and marked as deleted in the aging list, but there is already a PE link with the same node and marked as added, then it is not necessary to add the PE link indicated in the new event notification to the aging list, nor is it necessary to add the new identifier for the PE link again.

[0141] When the above change notification is a deletion event notification, the implementation steps correspond to those for the addition event notification, and will not be repeated here. Please refer to [link / reference needed] for details. Figure 4 .

[0142] Record the aging timestamps of devices or links added to the aging list. When the aging time of a node / link exceeds the aging cycle, the device / node completes aging. Then, identify the transmission path passing through the PE device or PE link and recalculate the performance parameters of the transmission path. Finally, archive the transmission path and performance parameters.

[0143] The following example uses a matrix hash table to store the aforementioned transmission paths and performance parameters. (Reference) Figure 5 The first column represents the source nodes, and the first row represents the destination nodes. Each point in the matrix represents a path between two PE devices. There can be multiple possible paths between two PE devices, and the performance parameters of each candidate path, such as cost, latency, hop count, and path planning, are stored in the matrix hash table along with the transmission path. For example... Figure 5 As shown, there are at least two candidate paths (i.e., alternative paths) between the source node PE1 and the destination node PE2: alternative path 1 and candidate path 2. Each candidate path includes performance parameters such as cost, time, and hop count. Accordingly, when a new PE device is determined to appear in the network topology, the above matrix can be pre-calculated to expand it. After each recalculation, the path can be compared with the path in the network topology that has the same source and destination nodes, and the old path can be replaced with a better new path.

[0144] Similarly, when a PE device or PE link is deleted after aging, the aforementioned hash matrix can be adaptively reduced to allow the controller to work more efficiently.

[0145] Based on the same inventive concept, this application provides a device for determining a path, which is similar to the aforementioned device. Figure 1 The method for determining the path shown corresponds to the specific implementation of this device, which can be found in the description of the aforementioned method embodiments. Repeated descriptions will not be repeated here. Figure 6 The device includes:

[0146] Set unit 601: used to determine a set of pre-stored paths based on the acquired network topology, and store the set of pre-stored paths.

[0147] The pre-stored path set includes transmission paths and performance parameters corresponding to the transmission paths.

[0148] The set unit 601 is specifically used to obtain the network topology; in the network topology, determine the transmission path and the performance parameters corresponding to the transmission path; and arrange the transmission paths according to the network edge devices in the transmission path to obtain a pre-stored path set.

[0149] The collection unit 601 is further configured to receive a first notification indicating a change in the network topology; wherein the first notification includes an indication of a first addition notification and / or a first deletion notification; in response to the first addition notification and / or the first deletion notification, update the transmission paths in the pre-stored path set and the performance parameters of the transmission paths; wherein the first addition notification includes at least one of adding a first network edge device, adding a first network core device, and adding a first link, and the first deletion notification includes at least one of deleting a second network edge device, deleting a second network core device, and deleting a second link.

[0150] The path determination device further includes a deletion unit, which is specifically used to determine, from the pre-stored path set, any transmission path with the lowest performance parameter among the same transmission paths of the network edge device; delete the transmission path with the lowest performance parameter, and add the updated transmission path and the performance parameter of the updated transmission path to the pre-stored path set.

[0151] If the first notification includes a first new notification, then the collection unit 601 is further configured to add the first network edge device and / or the first link to the network topology, and a first identifier corresponding to the first network edge device and / or the first link; wherein, the first identifier includes a new identifier and the time of addition of the first identifier; based on the time of addition of the first identifier, a first duration for adding the first identifier is determined; in response to the first duration being greater than or equal to a preset aging threshold, the transmission path and the performance parameters of the transmission path are updated based on the first network edge device and / or the first link.

[0152] If the first notification includes a first deletion notification, then the collection unit 601 is further configured to add a second identifier to the second network edge device and / or the second link in the network topology; wherein the second identifier includes a deletion identifier and the time of addition of the second identifier; based on the time of addition of the second identifier, a second duration for adding the second identifier is determined; in response to the second duration being greater than or equal to the preset aging threshold, the second network edge device and / or the second link are deleted from the network topology, and the transmission path and the performance parameters of the updated transmission path are updated.

[0153] The aggregation unit 601 is further configured to receive a second deletion notification indicating a change in the network topology; in response to the second deletion notification including the deletion of a third link, to identify the network core devices at both ends of the third link in the network topology; in response to the third link being different from the first link, to add a third identifier to the network core devices at both ends of the third link; wherein the third identifier includes a deletion identifier and the time of addition of the third identifier; or, in response to the third link being the same as the first link, to delete the first link and the first identifier corresponding to the first link in the network topology.

[0154] The aggregation unit 601 is further configured to receive a second new notification indicating a change in the network topology; in response to the second new notification including the addition of a third network edge device, it determines whether the third network edge device is the same as the second network edge device; if so, it deletes the second network edge device and the second identifier corresponding to the second network edge device in the network topology; if not, it adds the third network edge device and the fourth identifier corresponding to the third network edge device in the network topology; wherein the fourth identifier includes a new identifier and the time of addition of the fourth identifier.

[0155] The traffic forwarding device further includes a storage unit, specifically used to determine the storage threshold of the controller, and the required space of the transmission path and the performance parameters; wherein the storage threshold is not greater than the storage space of the controller; in response to the required space being greater than the storage space, candidate transmission paths are determined among the same transmission paths of the network edge device; wherein at least one of the performance parameters of the candidate transmission path is lower than a corresponding preset reference value; wherein the performance parameter is the hop count of the transmission path, the bandwidth of the transmission path, the latency of the transmission path, or the packet loss rate of the transmission path; at least one candidate transmission path is deleted, so that the required space of the remaining transmission paths and the performance parameters of the remaining transmission paths is not greater than the storage space;

[0156] The set unit 601 is also used to store the remaining transmission paths and the performance parameters of the remaining transmission paths, so as to obtain the pre-stored path set.

[0157] Receiving unit 602: Used to receive path requests.

[0158] The path request includes constraints that indicate the required transmission quality for the transmission path.

[0159] Selection unit 603: is used to select at least one first optional path from the pre-stored path set based on the constraints in the path request.

[0160] The traffic forwarding device further includes a degradation unit, which is specifically configured to forward the traffic based on the first optional path; receive a third notification based on the BGP-LS; wherein the third notification indicates that at least one link in the first optional path has changed; determine the degraded link based on the third notification and the service level protocol, and determine a second optional path that does not include the degraded link in the first optional path; wherein the performance parameters of the degraded link do not meet the preset reference value corresponding to the constraint condition; and update the first optional path using the second optional path.

[0161] Based on the same inventive concept, embodiments of this application also provide a readable storage medium, including:

[0162] memory,

[0163] The memory is used to store instructions that, when executed by a processor, cause a device including the readable storage medium to perform the method of determining a path as described above.

[0164] Based on the same inventive concept as the path determination method described above, this application also provides an electronic device that can implement the function of the aforementioned path determination method. Please refer to [link / reference needed]. Figure 7 The electronic device includes:

[0165] At least one processor 701 and a memory 702 connected to at least one processor 701. In this embodiment, the specific connection medium between the processor 701 and the memory 702 is not limited. Figure 7 The example shown is the connection between processor 701 and memory 702 via bus 700. Bus 700 is... Figure 7 The connections between other components are indicated by thick lines and are for illustrative purposes only, not as limiting information. The 700 bus can be divided into address bus, data bus, control bus, etc., for ease of representation. Figure 7 The term is represented by a single thick line, but this does not imply that there is only one bus or one type of bus. Alternatively, the processor 701 can also be called a controller; there is no restriction on the name.

[0166] In this embodiment, memory 702 stores instructions executable by at least one processor 701. By executing the instructions stored in memory 702, at least one processor 701 can perform the path determination method described above. Processor 701 can implement... Figure 6 The functions of each module in the device shown.

[0167] The processor 701 is the control center of the device. It can connect to various parts of the control device through various interfaces and lines. By running or executing instructions stored in memory 702 and calling data stored in memory 702, the processor can perform various functions and process data, thereby monitoring the device as a whole.

[0168] In one possible design, processor 701 may include one or more processing units. Processor 701 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications, and the modem processor mainly handles wireless communication. It is understood that the modem processor may also not be integrated into processor 701. In some embodiments, processor 701 and memory 702 may be implemented on the same chip; in some embodiments, they may also be implemented on separate chips.

[0169] Processor 701 can be a general-purpose processor, such as a central processing unit (CPU), digital signal processor, application-specific integrated circuit, field-programmable gate array or other programmable logic device, discrete gate or transistor logic device, or discrete hardware component, capable of implementing or executing the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the path determination method disclosed in the embodiments of this application can be directly manifested as execution by a hardware processor, or execution by a combination of hardware and software modules within the processor.

[0170] Memory 702, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules. Memory 702 may include at least one type of storage medium, such as flash memory, hard disk, multimedia card, card-type memory, random access memory (RAM), static random access memory (SRAM), programmable read-only memory (PROM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), magnetic storage, magnetic disk, optical disk, etc. Memory 702 can be any other medium capable of carrying or storing desired program code in the form of instructions or data structures that can be accessed by a computer, but is not limited thereto. In the embodiments of this application, memory 702 may also be a circuit or any other device capable of implementing storage functions for storing program instructions and / or data.

[0171] By designing and programming the processor 701, the code corresponding to the path determination method described in the foregoing embodiments can be embedded into the chip, enabling the chip to execute it during runtime. Figure 1 The steps of the method for determining the path are shown. How to design and program the processor 701 is a technique well-known to those skilled in the art and will not be elaborated upon here.

[0172] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional modules is used as an example. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. The specific working process of the system, device, and unit described above can be referred to the corresponding process in the foregoing method embodiments, and will not be repeated here.

[0173] In the several embodiments provided by this invention, it should be understood that the disclosed apparatus and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.

[0174] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0175] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0176] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes: Universal Serial Bus flash disks, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, optical disks, and other media capable of storing program code.

[0177] Obviously, those skilled in the art can make various modifications and variations to this invention without departing from its spirit and scope. Therefore, if these modifications and variations fall within the scope of the claims of this invention and their equivalents, this invention also intends to include these modifications and variations.

Claims

1. A method for determining a path, characterized in that, include: Based on the acquired network topology, a pre-stored path set is determined and stored; wherein, the pre-stored path set includes transmission paths and performance parameters corresponding to the transmission paths; Receive a path request; wherein the path request includes constraints indicating the transmission quality requirements for the transmission path; Based on the constraints in the path request, at least one first optional path is selected from the pre-stored path set.

2. The method as described in claim 1, characterized in that, The process of determining the pre-stored path set based on the acquired network topology includes: Obtain the network topology; In the network topology, the transmission path and the performance parameters corresponding to the transmission path are determined; Arrange the transmission paths according to the network edge devices in the transmission path to obtain a pre-stored path set.

3. The method as described in claim 1, characterized in that, The process of determining the pre-stored path set based on the acquired network topology includes: Receive a first notification indicating the network topology change; wherein the first notification includes a first addition notification and / or a first deletion notification; In response to the first addition notification and / or the first deletion notification, the transmission paths in the pre-stored path set and the performance parameters of the transmission paths are updated; wherein, the first addition notification includes at least one of adding a first network edge device, adding a first network core device, and adding a first link, and the first deletion notification includes at least one of deleting a second network edge device, deleting a second network core device, and deleting a second link.

4. The method as described in claim 3, characterized in that, After updating the transmission path and its performance parameters, the process includes: From the pre-stored path set, determine the transmission path with the lowest performance parameter among the same transmission paths of the network edge device; Delete the transmission path with the lowest performance parameter, and add the updated transmission path and its performance parameter to the pre-stored path set.

5. The method as described in claim 3, characterized in that, If the first notification includes a first new notification, then the step of updating the transmission path and its performance parameters in response to the first new notification and / or the first deletion notification includes: Add the first network edge device and / or the first link to the network topology, and a first identifier corresponding to the first network edge device and / or the first link; wherein, the first identifier includes a newly added identifier and the time of addition of the first identifier; Based on the time when the first identifier was added, determine the first duration for adding the first identifier; In response to the first duration being greater than or equal to a preset aging threshold, the transmission path and its performance parameters are updated based on the first network edge device and / or the first link.

6. The method as described in claim 3, characterized in that, If the first notification includes a first deletion notification, then the step of updating the transmission path and its performance parameters in response to the first addition notification and / or the first deletion notification includes: In the network topology, a second identifier is added for the second network edge device and / or the second link; wherein the second identifier includes a deletion identifier and the time of addition of the second identifier; Based on the time when the second identifier was added, determine the second duration for adding the second identifier; In response to the second duration being greater than or equal to a preset aging threshold, the second network edge device and / or the second link are deleted from the network topology, and the transmission path and the performance parameters of the updated transmission path are updated.

7. The method according to any one of claims 3-6, characterized in that, Before updating the transmission path and the performance parameters of the updated transmission path, the method further includes: Receive a second deletion notification indicating the network topology change; In response to the second deletion notification including the deletion of a third link, the network core devices at both ends of the third link are identified in the network topology; In response to the fact that the third link is different from the first link, a third identifier is added to the network core devices at both ends of the third link; wherein, the third identifier includes a deletion identifier and the time of addition of the third identifier; or, In response to the fact that the third link is the same as the first link, the first link and the first identifier corresponding to the first link are deleted from the network topology.

8. The method according to any one of claims 3-6, characterized in that, Before updating the transmission path and the performance parameters of the updated transmission path, the method further includes: Receive a second new notification indicating the network topology change; In response to the second new notification including the addition of a third network edge device, it is determined whether the third network edge device is the same as the second network edge device; If so, delete the second network edge device and the second identifier corresponding to the second network edge device from the network topology; If not, add the third network edge device and a fourth identifier corresponding to the third network edge device to the network topology; wherein the fourth identifier includes a newly added identifier and the time of addition of the fourth identifier.

9. The method as described in claim 1 or 2, characterized in that, After selecting at least one first optional path from the pre-stored path set, the method further includes: Receive a third notification; wherein the third notification indicates that at least one link in the first alternative path has changed; Based on the third notification and service level agreement, a degraded link is identified, and a second optional path that does not include the degraded link is determined from the first optional path; wherein the performance parameters of the degraded link do not meet the preset reference values ​​corresponding to the constraint conditions; Update the first optional path using the second optional path.

10. The method as described in claim 1 or 2, characterized in that, Before storing the pre-stored path set, the method further includes: Determine the storage threshold of the controller, and the required space for the transmission path and the performance parameters; wherein the storage threshold is not greater than the storage space of the controller; In response to the demand space being greater than the storage space, candidate transmission paths are determined among the same transmission paths of the network edge devices; wherein at least one of the performance parameters of the candidate transmission paths is lower than a corresponding preset reference value; the performance parameter is the number of hops of the transmission path, the bandwidth of the transmission path, the latency of the transmission path, or the packet loss rate of the transmission path. Delete at least one of the candidate transmission paths so that the remaining transmission paths and the required space for the performance parameters of the remaining transmission paths are no greater than the storage space. The storage of the pre-stored path set includes: The remaining transmission paths and their performance parameters are stored to obtain the pre-stored path set.

11. A path-determining device, characterized in that, include: Set unit: used to determine a set of pre-stored paths based on the acquired network topology, and store the set of pre-stored paths; wherein, the set of pre-stored paths includes transmission paths and performance parameters corresponding to the transmission paths; Receiving unit: for receiving path requests; wherein the path request includes constraints indicating the transmission quality requirements for the transmission path; Selection unit: used to select at least one first optional path from the pre-stored path set based on the constraints in the path request.

12. A readable storage medium, characterized in that, include, memory, The memory is used to store instructions that, when executed by a processor, cause a device including the readable storage medium to perform the method as described in any one of claims 1-10.

13. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor, when executing a computer program stored in the memory, implements the method as described in any one of claims 1-10.

Citation Information

Patent Citations

  • Scheduling method and device

    CN108306948A

  • Network path selection method and device, equipment and storage medium

    CN114298431A