Visual route path control method, device, equipment and storage medium
By identifying the start and end nodes on the routing map, generating candidate path planning tasks, and modifying the paths using the Dijkstra algorithm, the problem of slow modification speed and error susceptibility in traditional routing control methods is solved, achieving fast and accurate path modification.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA UNITED NETWORK COMM GRP CO LTD
- Filing Date
- 2023-06-09
- Publication Date
- 2026-05-29
AI Technical Summary
Traditional routing control methods are implemented through command lines, which makes it difficult to form an overall concept, and modifications are slow and prone to errors.
A visual routing path control method is adopted. By obtaining a routing map and confirming the start and end nodes on it, a candidate path planning task is generated. The Dijkstra algorithm is used to generate modified paths and modify the weight values of the segment list to generate a routing control strategy.
It enables users to visually display routes on a routing map, allowing them to quickly and accurately modify routes and reduce error rates.
Smart Images

Figure CN116647496B_ABST
Abstract
Description
Technical Field
[0001] This application relates to communication technology, and more particularly to a visual routing path control method, apparatus, device, and storage medium. Background Technology
[0002] With societal progress and the rapid development of computer technology, the internet has permeated every aspect of people's lives, bringing convenience while also presenting challenges: the explosive growth of data traffic and the rapid development of smart devices have placed enormous pressure on network construction, demanding higher standards in stability, security, and efficiency (bandwidth, latency, load), among other aspects. The purpose of routing planning is to find the optimal path from the source address to the destination address; clear and reasonable routing planning is the cornerstone of sound network management.
[0003] Traditional routing control methods are primarily implemented through command prompts (CMD). Administrators or users can configure appropriate alternative paths to mitigate potential risks. Before operators provide commercial leased line services with selectable latency, customers with specific latency requirements can also manually configure services to be deployed on low-latency paths.
[0004] However, when controlling routes via the CMD command line, what is displayed is a string of path names and IPs. It is difficult for administrators or users to form an overall concept of the routing structure. Modifying static routes via the command line is slow and prone to errors. Summary of the Invention
[0005] This application provides a visual routing path control method, apparatus, device, and storage medium to solve the problems of existing routing path planning not being able to directly display paths, slow modification speed, and susceptibility to errors.
[0006] Firstly, this application provides a visual routing path control method, which is applied to a server and includes:
[0007] Obtain a routing map, which includes multiple routing nodes, the connection relationships between the routing nodes, and the location of each routing node on a geographic information map;
[0008] In the routing map, the starting routing node and the ending routing node are identified, and a candidate path planning task is generated based on the starting routing node and the ending routing node. The candidate path planning task is then sent to the controller.
[0009] In response to a candidate path set sent by the controller, the candidate path set includes at least two candidate paths with different priorities, and the candidate path includes multiple segment lists with different weight values. The candidate path with the highest priority is selected as the primary path, and the target segment list that needs to be modified in the primary path is confirmed.
[0010] On the routing map, at least one routing node is identified as a necessary node. Based on the target segment list and the necessary node, a modified path is generated according to the Dijkstra algorithm.
[0011] Modify the weight values of the target segment list in the modified path to generate a routing control policy.
[0012] In one possible implementation, obtaining the routing map includes:
[0013] Obtain routing information from the controller, the routing information including routing nodes and link information between routing nodes, and obtain the address information of routing nodes from the Internet Protocol address database;
[0014] Obtain a geographic information map, and mark the routing nodes on the geographic information map according to the address information of the routing nodes;
[0015] The routing nodes are connected using connecting lines based on the link information to generate a routing map.
[0016] In one possible implementation, the routing information includes bandwidth information between routing nodes, and the acquisition of the routing map further includes:
[0017] The bandwidth information between each routing node is divided according to the preset bandwidth level table to obtain the bandwidth level between two connected routing nodes.
[0018] Based on the bandwidth level, adjust the thickness of the connection line between the two connected routing nodes.
[0019] In one possible implementation, the step of confirming the starting and ending routing nodes in the routing map includes:
[0020] Determine the importance level of the routing nodes and group routing nodes of the same importance level into the same display layer;
[0021] The display hierarchy is sorted in descending order of importance.
[0022] In response to the target level selected by the user, the routing nodes corresponding to the target level and the routing nodes corresponding to the display levels sorted before the target level are displayed on the routing map.
[0023] In one possible implementation, the step of identifying at least one routing node as a necessary node on the routing map, and generating a modified path based on the target segment list and the necessary nodes according to the Dijkstra algorithm, includes:
[0024] The head node and tail node are determined based on the target segment list;
[0025] The first intermediate node is obtained as a necessary node. An intermediate path set is generated based on the Dijkstra algorithm. The intermediate path set includes a first intermediate path from the head node to the first intermediate node and a second intermediate path from the first intermediate node to the tail node.
[0026] Determine if the modification is complete;
[0027] If not, retain the intermediate paths that do not need to be modified, reconfirm the head and tail nodes of the intermediate paths that need to be modified, select the second intermediate node as the necessary node, generate the third intermediate path from the head node to the second intermediate node and the fourth intermediate path from the second intermediate node to the tail node based on the Dijkstra algorithm, and so on, until the modification is completed.
[0028] If so, generate the modified path based on the intermediate path set.
[0029] In one possible implementation, the step of generating the intermediate path set based on the Dijkstra algorithm further includes:
[0030] The target planning strategy is determined from a set of preset planning strategies, which includes distance strategy, bandwidth strategy, latency strategy and fault avoidance strategy.
[0031] Secondly, this application provides a visual routing path control method, which is applied to a controller and includes:
[0032] Obtain routing network information;
[0033] In response to a candidate path planning task sent by the server, the candidate path planning task includes a starting routing node and an ending routing node. Based on a preset planning strategy set and the routing network information, a candidate path set between the starting routing node and the ending routing node is generated, and the candidate path set is fed back to the server.
[0034] In response to the routing control policy sent by the server, the routing control policy is distributed via the Border Gateway Protocol.
[0035] In one possible implementation, the routing network information includes routing nodes and link information between routing nodes, bandwidth information, and latency information; the preset planning strategy set includes distance strategy, bandwidth strategy, and latency strategy; and generating a candidate path set between the starting routing node and the ending routing node based on the preset planning strategy set and the routing network information includes:
[0036] Based on the distance policy and the link information between the routing nodes, a distance candidate path is generated between the starting routing node and the ending routing node;
[0037] Based on the bandwidth policy and the bandwidth information between the routing nodes, a bandwidth candidate path is generated between the starting routing node and the ending routing node;
[0038] The latency policy and the latency information between the routing nodes are used to generate a latency candidate path between the starting routing node and the ending routing node.
[0039] The distance candidate path, bandwidth candidate path, and latency candidate path are aggregated to generate a candidate path set.
[0040] Thirdly, this application provides a visual routing path control device, which is applied to a server and includes:
[0041] The map acquisition module is used to acquire a routing map, which includes multiple routing nodes, the connection relationships between the routing nodes, and the location of each routing node on a geographic information map.
[0042] The route planning task generation module is used to identify the starting route node and the ending route node in the route map, generate candidate route planning tasks based on the starting route node and the ending route node, and send the candidate route planning tasks to the controller.
[0043] The path selection module is used to respond to a candidate path set sent by the controller. The candidate path set includes a primary path and at least one backup path. Both the primary path and the backup path include multiple segment lists with different weight values. Based on the primary path, the target segment list that needs to be modified is confirmed.
[0044] The path modification module is used to identify at least one routing node as a necessary node on the routing map, and generate a modified path based on the target segment list and the necessary node according to the Dijkstra algorithm.
[0045] The control policy generation module is used to modify the weight values of the target segment list in the modified path and generate a routing control policy.
[0046] Fourthly, this application provides a visual routing path control device, which is applied to a controller and includes:
[0047] The routing network information acquisition module is used to acquire routing network information;
[0048] The path planning module is used to respond to the candidate path planning task sent by the server. The candidate path planning task includes a starting routing node and an ending routing node. Based on the preset planning strategy set and the routing network information, it generates a set of candidate paths between the starting routing node and the ending routing node, and feeds back the candidate path set to the server.
[0049] The policy distribution module is used to distribute the routing control policy in response to the routing control policy sent by the server via the border gateway protocol.
[0050] Fifthly, this application provides an electronic device including a memory, a processor, and computer-executable instructions stored in the memory and executable on the processor, wherein the processor executes the computer-executable instructions to implement the visual routing path control method described in any one of the first aspects above.
[0051] In a sixth aspect, this application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the visual routing path control method described in any one of the first aspects above.
[0052] The visualization routing path control method, apparatus, device, and storage medium provided in this application acquire a routing map, identify a starting routing node and an ending routing node in the routing map, generate a candidate path planning task based on the starting routing node and the ending routing node, send the candidate path planning task to a controller, and respond to a candidate path set sent by the controller. The candidate path set includes at least two candidate paths with different priorities, and the candidate paths include multiple segment lists with different weight values. The candidate path with the highest priority is selected as the primary path. The target segment list that needs to be modified in the primary path is identified. At least one routing node is identified as a mandatory node on the routing map. Based on the target segment list and the mandatory node, a modified path is generated according to the Dijkstra algorithm. The weight values of the target segment list in the modified path are modified to generate a routing control strategy. By directly displaying each routing node on the routing map, users can intuitively see the candidate paths on the routing map and modify the mandatory nodes of the segment list of the candidate paths as needed. The modification method is quick and less prone to errors. Attached Figure Description
[0053] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0054] Figure 1 This is a schematic diagram illustrating an application scenario of the visual routing path control method provided in the embodiments of this application.
[0055] Figure 2 A flowchart of a server-side visual routing path control method provided in an embodiment of this application.
[0056] Figure 3 This is a flowchart of the method for obtaining a routing map provided in this embodiment.
[0057] Figure 4 The flowchart illustrates the method for generating a modified path based on the target segment list and the required nodes, according to the Dijkstra algorithm, as provided in this embodiment.
[0058] Figure 5 A flowchart of the controller-side visual routing path control method provided in the embodiments of this application.
[0059] Figure 6 A schematic diagram of a server-side visual routing path control device provided in an embodiment of this application.
[0060] Figure 7 A schematic diagram of a controller-side visual routing path control device provided in an embodiment of this application.
[0061] Figure 8 A schematic diagram of the structure of an electronic device for a visual routing path control device provided in an embodiment of this application.
[0062] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation
[0063] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0064] First, let me explain the terms used in this application:
[0065] Segment routing (SR) constrains the path taken by a packet (service packet) by pushing a set of labels onto it from the source node. These labels represent a path. SR Policy is an SR-TE (SegmentRouting Traffic Engineering) architecture. SR Policy has a set of candidate paths, and each candidate path contains one or more segment lists.
[0066] If an SR Policy has multiple candidate paths, the highest priority candidate path is usually selected as the actual forwarding path, and load balancing is performed within the multiple Segment-Lists of the candidate paths. When the optimal candidate path fails, the second-best candidate path is selected as the actual forwarding path; that is, the forwarding effectiveness rule of the SR Policy is related to priority. SR Policies include, but are not limited to, three distribution methods: Configuration, BGP (Border Gateway Protocol), and PCEP (Path Computation Element Communication Protocol). Configuration typically distributes SR Policies through local input; BGP and PCEP involve the controller distributing SR Policies to node devices via BGP and PCEP protocols, respectively. For example, the controller can be networked with node devices, and the controller can distribute SR Policies to node devices using the PCEP protocol. The node devices then forward services (service data) according to the forwarding path of the SR Policy distributed by the controller.
[0067] In related technologies, when administrators or users need to understand the routing paths of certain critical routes and select appropriate alternative routes to avoid potential risks, the control method is mainly implemented through the command prompt (CMD) command line. CMD routing policies mainly include viewing the current system's routing table, adding new routing table entries, modifying or deleting routing table entries, setting default routes, and configuring routing policies. For example, entering the "routeadd" command in CMD allows for routing control of specific traffic by specifying the name of the routing policy table. However, configuring CMD routing policies requires administrators or users to possess certain network knowledge and skills; otherwise, improper operation may lead to network failures. Furthermore, this control method presents administrators or users with a string of path names, making it difficult to infer the overall routing structure. Therefore, this routing control method is inefficient and has a high error rate when modifying routes.
[0068] To address the aforementioned technical problems, this application aims to propose a visual routing path control method, apparatus, device, and storage medium. The core idea of this method is to utilize SR Policy technology to visualize routing nodes and routing paths based on dynamic routing planning. By selecting a target segment list from the candidate path set, the necessary nodes can be directly modified, thereby simplifying the routing control method and reducing the error rate.
[0069] To better understand the solutions of the embodiments of this application, an application scenario involved in the embodiments of this application will be introduced below.
[0070] Please see Figure 1 , Figure 1 This is a schematic diagram illustrating an application scenario of the visual routing path control method provided in the embodiments of this application, such as... Figure 1 As shown, it includes client 100, server 200, controller 300 and routing network 400.
[0071] The client 100 can be used to display visualized routing nodes and routing paths, select or modify paths according to user needs, and send relevant operation instructions to the server 200. The client 100 may include personal computers, tablets, smart panels, etc., and this embodiment of the application does not limit it.
[0072] Server 200 can respond to instructions from client 100, execute corresponding operations, and visualize data to client 100 based on content sent by controller 300. Specifically, server 200 can generate a routing map based on routing information and geographic information map, allowing users to select routing nodes, and generate a path planning task based on the user-selected start and end nodes, sending it to controller 300; server 200 can also modify the selected path based on user operation instructions, generating routing control policies.
[0073] The controller 300 can be used to obtain routing information from the routing network 400 and send the routing information to the server 200. In response to the path planning task sent by the server 200, the controller 300 generates a set of candidate paths and feeds it back to the server 200. The controller 300 can also respond to the routing control policy sent by the server 200 and send the routing control policy to the routing network 400.
[0074] The routing network 400 is a network structure formed by multiple routing node devices. The controller 300 can collect routing information of the routing network 400 through the link state of the Border Gateway Protocol-Segment Routing (BGP-LS).
[0075] The technical solution of this application and how it solves the above-mentioned technical problems will be described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will be described below with reference to the accompanying drawings.
[0076] Figure 2 A flowchart illustrating the server-side visual routing path control method provided in this application embodiment. Figure 2 As shown, the method in this embodiment includes:
[0077] S201: Obtain a routing map, which includes multiple routing nodes, the connection relationships between the routing nodes, and the location of each routing node on a geographic information map.
[0078] The execution entity of this application embodiment can be a server or a visual routing path control platform within the server, wherein the visual routing path control platform can be implemented by software.
[0079] Understandably, a routing map is essentially a representation of the structure of a routing network on a geographic information map. Through a routing map, one can intuitively see the location of each routing node on the actual geographic information map, enabling administrators or users to have a clear understanding of the entire routing network.
[0080] S202: Confirm the starting route node and the ending route node in the routing map, generate a candidate path planning task based on the starting route node and the ending route node, and send the candidate path planning task to the controller.
[0081] In this step, administrators or users can directly select the desired routing node as the starting or ending routing node in the routing map, which is simple and quick.
[0082] It is understandable that a candidate route planning task can be generated based on the selected starting and ending routing nodes, along with the preferred policies set by administrators or users (such as short latency, high bandwidth, etc.). This candidate route planning task is then sent to the controller, which generates the corresponding candidate path set.
[0083] S203: In response to the candidate path set sent by the controller, the candidate path set includes at least two candidate paths with different priorities, and the candidate path includes multiple segment lists with different weight values. The candidate path with the highest priority is selected as the primary path, and the target segment list that needs to be modified in the primary path is confirmed.
[0084] In this step, the candidate path set can be a group of candidate paths obtained through SRPolicy based on the starting and ending routing nodes. A candidate path represents a possible path for transmitting traffic from the corresponding starting routing node to the ending routing node. Since the candidate path is also the basic unit for sending the SR Policy's optional path to the starting routing node via the communication protocol, different candidate paths will be obtained depending on the different communication protocols. The segment list is a sequence of segments encoded as the SR Policy forwarding path. A candidate path can be associated with multiple segment lists. Each segment list has a weight attribute used to identify the load proportion of traffic in that segment identifier (SID) list.
[0085] Understandably, each candidate path has a preference value that indicates its priority; the higher the preference value, the higher the priority. By default, the path with the highest priority among the multiple candidate paths is selected as the primary path.
[0086] S204: Identify at least one routing node as a necessary node on the routing map, and generate a modified path based on the target segment list and the necessary node according to the Dijkstra algorithm.
[0087] In this step, a route node is selected as a mandatory node on the routing map. Administrators or users can drag and drop the primary path to the mandatory node on the routing map, or click on the target segment list and mandatory node to issue a modification command for the path.
[0088] In this step, Dijkstra's algorithm is a shortest path algorithm from one vertex to all other vertices, solving the shortest path problem in a weighted graph. Based on the target segment list and the required nodes, a modified path including the required nodes can be generated using Dijkstra's algorithm.
[0089] S205: Modify the weight values of the target segment list in the modified path to generate a routing control policy.
[0090] In this step, since the routing nodes in the modified path are different from those in the original path, it means that the direction of traffic has changed. Therefore, administrators or users can modify the weight values of the target segment list in the modified path as needed, and the candidate paths will be adjusted accordingly to generate the final routing control policy.
[0091] In this embodiment, by identifying the starting and ending routing nodes in the routing map, a candidate path planning task is generated based on the starting and ending routing nodes and sent to the controller. In response to the candidate path set sent by the controller, the candidate path set includes at least two candidate paths with different priorities, and each candidate path includes multiple segment lists with different weight values. The candidate path with the highest priority is selected as the primary path. The target segment list that needs to be modified in the primary path is identified. Users can intuitively see the routing nodes and candidate paths on the routing map and can directly select routing nodes. By identifying at least one routing node as a mandatory node on the routing map, a modified path is generated based on the target segment list and the mandatory node, according to the Dijkstra algorithm. The weight values of the target segment list in the modified path are modified to generate a routing control strategy. Users can intuitively see the candidate paths on the routing map and modify the mandatory nodes in the segment list of the candidate paths as needed. The modification is efficient and less prone to errors.
[0092] The technical solution of the above-mentioned server-side visual routing path control method is described in detail below.
[0093] In one possible implementation, the visual routing path control method provided in this embodiment generates a routing map by marking routing nodes and the lines connecting the routing nodes in a geographic information map.
[0094] Figure 3 The flowchart of the method for obtaining a routing map provided in this embodiment is as follows: Figure 3 As shown, obtaining the route map includes:
[0095] S301: Obtain routing information from the controller, the routing information including routing nodes and link information between routing nodes, and obtain the address information of routing nodes from the Internet Protocol address database.
[0096] In this embodiment, the server calls the routing information in the controller through the business interface. The routing information includes information about each routing node and the communication line between two routing nodes.
[0097] In this step, by combining a third-party, highly accurate Internet Protocol address database, the geographical location information of each routing node can be obtained.
[0098] It should be noted that the routing node in this application can be a router or a switch with forwarding function.
[0099] S302: Obtain a geographic information map and mark the routing nodes in the geographic information map according to the address information of the routing nodes.
[0100] In this step, depending on the actual needs of the administrators and users, the geographic information map can be a provincial or municipal map or a national map; this application does not impose any restrictions here.
[0101] In this step, routing node information is added to the corresponding location on the geographic information map. The display range of the geographic information map is sufficient to cover all routing nodes in the routing information, and the display accuracy of the geographic information map is sufficient to ensure that the annotations of different routing nodes in the routing information do not overlap.
[0102] S303: Connect the routing nodes with connecting lines according to the link information to generate a routing map.
[0103] It is understood that the link is a unique line between two routing nodes, without any intermediate switching nodes. Based on the link information, the routing nodes on the geographic information map are connected, thereby clearly displaying the structure of the entire routing network on the geographic information map.
[0104] In this embodiment, by combining routing information and geographic information maps, a routing map that can intuitively show the structure of the entire routing network is generated, realizing the visualization of the routing network and making it convenient for managers and users to select routing nodes and modify routing paths.
[0105] In one possible implementation, higher bandwidth between two routing nodes indicates stronger data transmission capacity of the link between them, a greater amount of data passing through the link per unit time, and a more powerful display capability. Bandwidth, as a crucial indicator of network characteristics, is more readily apparent on a routing map if it can be clearly distinguished, allowing administrators and users to better understand the routing network and make more informed path control decisions.
[0106] Specifically, in Figure 3 Based on the provided method for obtaining a routing map, after connecting the routing nodes with connecting lines according to the link information, the method further includes: dividing the bandwidth information between each routing node according to a preset bandwidth level table to obtain the bandwidth level between two connected routing nodes; and adjusting the thickness of the connecting line between the two connected routing nodes based on the bandwidth level.
[0107] In this embodiment, the preset bandwidth level table is used to distinguish links based on their bandwidth. For example, common fiber broadband speeds and bandwidths are 10M, 20M, 50M, and 100M. Links with bandwidth not exceeding 10M can be classified as Level 1, links with bandwidth exceeding 10M but not exceeding 20M can be classified as Level 2, links with bandwidth exceeding 20M but not exceeding 50M can be classified as Level 3, and links with bandwidth exceeding 50M but not exceeding 100M can be classified as Level 4.
[0108] Understandably, if the bandwidth of a link needs to be differentiated on a routing map, the thickness of the connecting wire representing that link can be adjusted according to the link's bandwidth level. For example, for a Level 1 link, the thickness of the connecting wire representing that link can be 0.1 units; for a Level 2 link, the thickness of the connecting wire representing that link can be 0.2 units; for a Level 3 link, the thickness of the connecting wire representing that link can be 0.5 units; and for a Level 2 link, the thickness of the connecting wire representing that link can be 1.0 unit.
[0109] It should be noted that the above bandwidth classification and connection cable thickness adjustment are just examples, and this application does not limit the specific classification rules and connection cable thickness adjustment rules.
[0110] In this embodiment, by representing the links on the routing map with connecting lines of different thicknesses according to the different bandwidths of the links, it is possible for managers and users to more easily understand the distribution of bandwidth resources in the routing network structure, and to facilitate managers and users to adjust the routing path in the future.
[0111] In one possible implementation, considering that there are a large number of routing nodes, if they are all displayed on the routing map at the same time, it may affect the viewing experience of administrators and users due to excessive density, and may also lead to incorrect selection during operation. Therefore, the routing nodes displayed on the routing map can be displayed in a hierarchical manner based on their importance.
[0112] Specifically, in Figure 3 Based on the provided method for obtaining a routing map, after generating the routing map, the method further includes: confirming the importance level of routing nodes and dividing routing nodes of the same importance level into the same display level; sorting the display levels according to the importance level from largest to smallest; and, in response to the target level selected by the user, displaying the routing nodes corresponding to the target level and the routing nodes corresponding to the display levels sorted before the target level on the routing map.
[0113] In this embodiment, the importance level of routing nodes can be classified according to the router's (or switch's) address information, the number of links it connects to, or the type of router (or switch). Taking the classification of routing nodes according to router type as an example, router types mainly include access routers, enterprise-level routers, backbone routers, etc. All access routers can be regarded as routing nodes with an importance level of 1, all enterprise-level routers as routing nodes with an importance level of 2, and all backbone routers as routing nodes with an importance level of 3.
[0114] In this step, administrators or users can select the actual routing nodes displayed on the routing map according to their needs. For example, if third-level routing nodes need to be displayed, the routing map will display all routing nodes representing backbone routers; if first-level routing nodes need to be displayed, the routing map will display all third-level, second-level, and first-level routing nodes, that is, all routing nodes representing access routers, enterprise routers, and backbone routers.
[0115] In this embodiment, by classifying the importance of routing nodes, the routing map can be displayed hierarchically according to the needs of administrators and users. This is beneficial for administrators and users to select nodes and choose paths, and avoids a poor visual experience due to too many routing nodes on the routing map.
[0116] In one possible implementation, the visual routing path control method provided in this embodiment determines the head node and tail node based on the target segment list, generates an intermediate path set by selecting necessary nodes, and modifies the path. Figure 4 This embodiment provides a flowchart of a method for generating a modified path based on the target segment list and the required nodes, using the Dijkstra algorithm. The method includes:
[0117] S401: Determine the head node and tail node based on the target segment list.
[0118] In this embodiment, SR, as an architecture for forwarding data packets on a network based on the concept of source routing, divides the network path into segments, and the segment list is a forwarding path obtained by arranging the peer and network nodes in an orderly manner. For the target segment list, its first node and last node can be used as the head node and tail node, respectively.
[0119] S402: Obtain the first intermediate node as a necessary node, and generate an intermediate path set based on the Dijkstra algorithm. The intermediate path set includes a first intermediate path from the head node to the first intermediate node and a second intermediate path from the first intermediate node to the tail node.
[0120] In this step, administrators or users can confirm the first intermediate node by clicking the routing node with the mouse, or by dragging the path of the target segment list to the routing node.
[0121] It is understandable that before generating the intermediate path set based on the Dijkstra algorithm, managers or users can also confirm the target planning strategy from a preset planning strategy set, which includes distance strategy, bandwidth strategy, latency strategy and fault avoidance strategy.
[0122] It's important to note that in SR policy application, different SR policies for specified head and destination nodes can be identified by color, and can be associated with a range of service attributes, such as low latency and high bandwidth. For example, a policy with a latency of less than 10ms between routing nodes can be assigned a Color value of 100. In the routing map, different colors can also be used to display candidate paths in different locations. When selecting a target planning policy, it can be determined either by the Color of the path in the selected target segment list or by a custom policy.
[0123] S403: Determine if the modification is complete.
[0124] In this step, after the intermediate path set is generated, the completion of the modification can be determined by detecting the instructions sent by the administrator or user. If the administrator or user sends an instruction indicating that the modification is complete, the modification is confirmed to be complete. If the administrator or user continues to operate, the modification operation continues.
[0125] S404: If not, retain the intermediate paths that do not need to be modified, reconfirm the head node and tail node for the intermediate paths that need to be modified, select the second intermediate node as the necessary node, generate the third intermediate path from the head node to the second intermediate node and the fourth intermediate path from the second intermediate node to the tail node based on the Dijkstra algorithm, and so on, until the modification is completed.
[0126] Understandably, given the generated set of intermediate paths, administrators or users can choose to modify some of the intermediate paths or modify all of them.
[0127] Similarly, selecting the intermediate path and the second intermediate node that need to be modified will generate two new intermediate paths based on the original intermediate path, and these new intermediate paths will be stored in the intermediate path set.
[0128] S405: If so, generate the modified path based on the intermediate path set.
[0129] In this step, administrators or users can determine whether to complete the modification based on the path information displayed on the routing map. After the modification is completed, the modified path corresponding to the target segment list is generated based on the intermediate path set.
[0130] Understandably, administrators or users can set the weights of the modified paths, i.e., the new segment list, as needed.
[0131] In this embodiment, by combining the target segment list and the necessary nodes, administrators or users can intuitively see the path modification process on the routing map, adjust intermediate paths until they meet the requirements, and the modification process is quick, convenient, and less prone to errors.
[0132] Figure 5 A flowchart illustrating the controller-side visualized routing path control method provided in this application embodiment. Figure 5 As shown, the method in this embodiment includes:
[0133] S501: Obtain routing network information.
[0134] In this embodiment, the executing entity is a controller. It should be noted that the controller described in this application is a system or device that can establish a session with the information device that maintains the network topology, synchronize the network topology information, and obtain information such as node links, bandwidth, and latency. The controller described in this application can also run on a server.
[0135] Understandably, routes can be divided into multiple autonomous systems (AS), each with its own speaker. AS obtains routing information within its own AS through internal gateway protocols such as Open Shortest Path First (OSB). AS Speakers synchronize relevant information with neighboring AS Speakers through border gateway protocols. Two AS S Speakers that have synchronized information can be considered as a new AS, which then interacts with other AS S, and finally aggregates the information to the information device that maintains the network topology.
[0136] S502: In response to a candidate path planning task sent by the server, the candidate path planning task includes a starting routing node and an ending routing node. Based on a preset planning strategy set and the routing network information, a candidate path set between the starting routing node and the ending routing node is generated, and the candidate path set is fed back to the server.
[0137] It is understandable that, based on the starting and ending routing nodes, different candidate paths will be generated for different planning strategies. The candidate paths generated according to the preset planning strategy are then summarized to generate a candidate path set.
[0138] S503: In response to the routing control policy sent by the server, the routing control policy is distributed via the Border Gateway Protocol.
[0139] In this step, the controller sends the path information of the routing control policy to the head node of the routing network. The head node generates routing control policy entries based on the upload message of the border gateway protocol, which includes key information such as headend address, destination address and color.
[0140] Understandably, the head node of the routing network can select appropriate routing control policies to guide forwarding for services. During forwarding, each forwarding router executes its own published SID instructions according to the information carried in the routing control policy message.
[0141] In this embodiment, the controller provides routing network information to the server and generates a candidate path set based on the candidate path planning task. It can quickly generate candidate paths based on the starting and ending routing nodes selected by administrators and users. Administrators and users only need to make modifications based on these candidate paths, which is fast and efficient.
[0142] In one possible implementation, the routing network information includes routing nodes and link information between routing nodes, bandwidth information, and latency information, and the preset planning strategy set includes distance strategy, bandwidth strategy, and latency strategy.
[0143] Specifically, generating a candidate path set between the starting routing node and the ending routing node based on a preset planning strategy set and the routing network information includes: generating a distance candidate path between the starting routing node and the ending routing node based on the distance strategy and the link information between routing nodes; generating a bandwidth candidate path between the starting routing node and the ending routing node based on the bandwidth strategy and the bandwidth information between routing nodes; generating a delay candidate path between the starting routing node and the ending routing node based on the delay strategy and the delay information between routing nodes; and summarizing the distance candidate path, bandwidth candidate path, and delay candidate path to generate a candidate path set.
[0144] It is understandable that different planning strategies will generate different candidate paths, and each candidate path has a different priority based on its preference value.
[0145] In this embodiment, by using different planning strategies based on a preset planning strategy set, multiple candidate paths are generated, which enriches the selection of candidate paths, is suitable for various needs, and improves the efficiency of routing control for managers or users.
[0146] Figure 6 This is a schematic diagram of a server-side visual routing path control device provided in an embodiment of this application. Figure 6 As shown, the visual routing path control device includes:
[0147] The map acquisition module 61 is used to acquire a routing map, which includes multiple routing nodes, the connection relationship between the routing nodes, and the location of each routing node on a geographic information map.
[0148] The route planning task generation module 62 is used to identify the starting route node and the ending route node in the route map, generate candidate route planning tasks based on the starting route node and the ending route node, and send the candidate route planning tasks to the controller.
[0149] The path selection module 63 is used to respond to a candidate path set sent by the controller. The candidate path set includes a primary path and at least one backup path. Both the primary path and the backup path include multiple segment lists with different weight values. Based on the primary path, the target segment list that needs to be modified is confirmed.
[0150] The path modification module 64 is used to identify at least one routing node as a necessary node on the routing map, and generate a modified path based on the target segment list and the necessary node according to the Dijkstra algorithm.
[0151] The control policy generation module 65 is used to modify the weight values of the target segment list in the modified path and generate a routing control policy.
[0152] In one possible design, the map acquisition module 61 is specifically used for:
[0153] Obtain routing information from the controller, the routing information including routing nodes and link information between routing nodes, and obtain the address information of routing nodes from the Internet Protocol address database;
[0154] Obtain a geographic information map, and mark the routing nodes on the geographic information map according to the address information of the routing nodes;
[0155] The routing nodes are connected using connecting lines based on the link information to generate a routing map.
[0156] In one possible design, the routing information includes bandwidth information between routing nodes, and the map acquisition module 61 is further specifically used for:
[0157] The bandwidth information between each routing node is divided according to the preset bandwidth level table to obtain the bandwidth level between two connected routing nodes.
[0158] Based on the bandwidth level, adjust the thickness of the connection line between the two connected routing nodes.
[0159] In one possible design, the map acquisition module 61 is also specifically used for:
[0160] The importance level of the routing nodes is determined based on their address information, and routing nodes of the same importance level are grouped into the same display layer.
[0161] The display hierarchy is sorted in descending order of importance.
[0162] In response to the target level selected by the user, the routing nodes corresponding to the target level and the routing nodes corresponding to the display levels sorted before the target level are displayed on the routing map.
[0163] In one possible design, the path planning task generation module 62 is specifically used for:
[0164] The head node and tail node are determined based on the target segment list;
[0165] The first intermediate node is obtained as a necessary node. An intermediate path set is generated based on the Dijkstra algorithm. The intermediate path set includes a first intermediate path from the head node to the first intermediate node and a second intermediate path from the first intermediate node to the tail node.
[0166] Determine if the modification is complete;
[0167] If not, retain the intermediate paths that do not need to be modified, reconfirm the head and tail nodes of the intermediate paths that need to be modified, select the second intermediate node as the necessary node, generate the third intermediate path from the head node to the second intermediate node and the fourth intermediate path from the second intermediate node to the tail node based on the Dijkstra algorithm, and so on, until the modification is completed.
[0168] If so, generate the modified path based on the intermediate path set.
[0169] In one possible design, the path planning task generation module 62 is also specifically used for:
[0170] The target planning strategy is determined from a set of preset planning strategies, which includes distance strategy, bandwidth strategy, latency strategy and fault avoidance strategy.
[0171] Figure 7 This is a schematic diagram of a controller-side visual routing path control device provided in an embodiment of this application. Figure 7 As shown, the visual routing path control device includes:
[0172] The routing network information acquisition module 71 is used to acquire routing network information;
[0173] The path planning module 72 is used to respond to the candidate path planning task sent by the server. The candidate path planning task includes a starting routing node and an ending routing node. Based on the preset planning strategy set and the routing network information, it generates a set of candidate paths between the starting routing node and the ending routing node, and feeds back the candidate path set to the server.
[0174] The policy distribution module 73 is used to distribute the routing control policy in response to the routing control policy sent by the server via the border gateway protocol.
[0175] In one possible design, the routing network information includes routing nodes and link information between routing nodes, bandwidth information, and latency information; the preset planning strategy set includes distance strategy, bandwidth strategy, and latency strategy; and the path planning module 72 is specifically used for:
[0176] Based on the distance policy and the link information between the routing nodes, a distance candidate path is generated between the starting routing node and the ending routing node;
[0177] Based on the bandwidth policy and the bandwidth information between the routing nodes, a bandwidth candidate path is generated between the starting routing node and the ending routing node;
[0178] The latency policy and the latency information between the routing nodes are used to generate a latency candidate path between the starting routing node and the ending routing node.
[0179] The distance candidate path, bandwidth candidate path, and latency candidate path are aggregated to generate a candidate path set.
[0180] Figure 8 This is a schematic diagram of the structure of an electronic device for a visual routing path control device provided in an embodiment of this application. The visual routing path control device can be based on either a server-side or a controller-side approach. Figure 8 As shown, the electronic device of this embodiment includes: at least one processor 80 ( Figure 8 (Only one is shown) a processor, a memory 81, and a computer program stored in the memory 81 that can run on at least one processor 80, which, when executing the computer program, implements the steps in any of the above-described embodiments of the visual routing path control method.
[0181] The electronic device may include, but is not limited to, a processor 80 and a memory 81. Those skilled in the art will understand that... Figure 8 This is merely an example of an electronic device and does not constitute a limitation on electronic devices. It may include more or fewer components than shown in the illustration, or combinations of certain components, or different components. For example, it may also include input / output devices, network access devices, etc.
[0182] The processor 80 may be a Central Processing Unit (CPU), or it may be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor.
[0183] The specific implementation process of processor 801 can be found in the above method embodiments, and its implementation principle and technical effect are similar. It will not be repeated here.
[0184] In some embodiments, memory 81 may be an internal storage unit of an electronic device, such as the memory of the electronic device. In other embodiments, memory 81 may be an external storage device of the electronic device, such as a plug-in hard drive, smart media card (SMC), secure digital (SD) card, flash card, etc. Furthermore, memory 81 may include both internal and external storage units of the electronic device. Memory 81 is used to store operating systems, applications, bootloaders, data, and other programs, such as program code for computer programs. Memory 81 can also be used to temporarily store data that has been output or will be output.
[0185] This application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps described in the various method embodiments above.
[0186] The aforementioned computer-readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. The readable storage medium can be any available medium accessible to a general-purpose or special-purpose computer.
[0187] An exemplary readable storage medium is coupled to a processor, enabling the processor to read information from and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can reside in an application-specific integrated circuit (ASIC). Alternatively, the processor and the readable storage medium can exist as discrete components in the aforementioned electronic device.
[0188] Those skilled in the art will understand that all or part of the steps of the above-described method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments; and the aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.
[0189] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software 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.
[0190] In the embodiments provided in this application, it should be understood that the disclosed apparatus / network devices and methods can be implemented in other ways. For example, the apparatus / network device 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 devices or units may be electrical, mechanical, or other forms.
[0191] 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, depending on actual needs. Other embodiments of this application will readily conceive of by those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and embodiments are to be considered exemplary only, and the true scope and spirit of this application are indicated by the following claims.
[0192] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.
Claims
1. A visual routing path control method, characterized in that, The method is applied to a server, and the method includes: Obtain a routing map, which includes multiple routing nodes, the connection relationships between the routing nodes, and the location of each routing node on a geographic information map; In the routing map, the starting routing node and the ending routing node are identified, and a candidate path planning task is generated based on the starting routing node and the ending routing node. The candidate path planning task is then sent to the controller. In response to a candidate path set sent by the controller, the candidate path set includes at least two candidate paths with different priorities, and the candidate paths include multiple segment lists with different weight values, and the candidate path with the highest priority is used as the primary path; Based on the user's instruction to modify the path, confirm the list of target segments in the primary path that need to be modified; Based on the user's operation on at least one node on the routing map, the at least one node operated by the user is determined as a necessary node. Based on the target segment list and the necessary node, a modified path is generated according to the Dijkstra algorithm. Modify the weight values of the target segment list in the modified path to generate a routing control policy; The step of generating a modified path based on the target segment list and the required nodes, according to Dijkstra's algorithm, includes: The head node and tail node are determined based on the target segment list; Based on the intermediate path set generated according to the Dijkstra algorithm, the intermediate path set includes a first intermediate path from the head node to the first intermediate node and a second intermediate path from the first intermediate node to the tail node; the first intermediate node is the necessary node. Determine if the modification is complete; If not, retain the intermediate paths that do not need to be modified, reconfirm the head and tail nodes of the intermediate paths that need to be modified, select the second intermediate node as the necessary node, and generate the third intermediate path from the head node to the second intermediate node and the fourth intermediate path from the second intermediate node to the tail node based on the Dijkstra algorithm, and so on, until the modification is completed. If so, generate the modified path based on the intermediate path set.
2. The method according to claim 1, characterized in that, The process of obtaining the routing map includes: Obtain routing information from the controller, the routing information including routing nodes and link information between routing nodes, and obtain the address information of routing nodes from the Internet Protocol address database; Obtain a geographic information map, and mark the routing nodes on the geographic information map according to the address information of the routing nodes; The routing nodes are connected using connecting lines based on the link information to generate a routing map.
3. The method according to claim 2, characterized in that, The routing information includes bandwidth information between routing nodes, and the process of obtaining the routing map further includes: The bandwidth information between each routing node is divided according to the preset bandwidth level table to obtain the bandwidth level between two connected routing nodes. Based on the bandwidth level, adjust the thickness of the connection line between the two connected routing nodes.
4. The method according to claim 2, characterized in that, Before confirming the start and end routing nodes in the routing map, the process includes: Determine the importance level of the routing nodes and group routing nodes of the same importance level into the same display layer; The display hierarchy is sorted in descending order of importance. In response to the target level selected by the user, the routing nodes corresponding to the target level and the routing nodes corresponding to the display levels sorted before the target level are displayed on the routing map.
5. The method according to claim 1, characterized in that, Before generating the intermediate path set based on Dijkstra's algorithm, the process also includes: The target planning strategy is determined from a set of preset planning strategies, which includes distance strategy, bandwidth strategy, latency strategy and fault avoidance strategy.
6. A visual routing path control method, characterized in that, The method is applied to a controller, and the method includes: Obtain routing network information; In response to a candidate path planning task sent by the server, the candidate path planning task includes a starting routing node and an ending routing node. Based on a preset planning strategy set and the routing network information, a candidate path set between the starting routing node and the ending routing node is generated, and the candidate path set is fed back to the server. The candidate path set includes at least two candidate paths with different priorities, and the candidate path includes multiple segmented lists with different weight values. The candidate path with the highest priority is used as the primary path. In response to the routing control policy sent by the server, the routing control policy is distributed via the Border Gateway Protocol. The routing control policy is generated by the server by modifying the weight values of the target segment list in the modified path. The modified path is generated by the server based on the target segment list and the required nodes, according to the Dijkstra algorithm. The target segment list is the list of target segments in the primary path that need to be modified, confirmed by the server based on the user's modification instruction for the path. The required nodes are at least one node operated by the user on the routing map. Based on the target segment list and the required nodes, the modified path is generated according to Dijkstra's algorithm, including: The head node and tail node are determined based on the target segment list; Based on the intermediate path set generated according to the Dijkstra algorithm, the intermediate path set includes a first intermediate path from the head node to the first intermediate node and a second intermediate path from the first intermediate node to the tail node; the first intermediate node is the necessary node. Determine if the modification is complete; If not, retain the intermediate paths that do not need to be modified, reconfirm the head and tail nodes of the intermediate paths that need to be modified, select the second intermediate node as the necessary node, and generate the third intermediate path from the head node to the second intermediate node and the fourth intermediate path from the second intermediate node to the tail node based on the Dijkstra algorithm, and so on, until the modification is completed. If so, generate the modified path based on the intermediate path set.
7. The method according to claim 6, characterized in that, The routing network information includes routing nodes and link information, bandwidth information, and latency information between routing nodes. The preset planning strategy set includes distance strategy, bandwidth strategy, and latency strategy. Generating a candidate path set between the starting routing node and the ending routing node based on the preset planning strategy set and the routing network information includes: Based on the distance policy and the link information between the routing nodes, a distance candidate path is generated between the starting routing node and the ending routing node; Based on the bandwidth policy and the bandwidth information between the routing nodes, a bandwidth candidate path is generated between the starting routing node and the ending routing node; Based on the latency policy and the latency information between routing nodes, a latency candidate path is generated between the starting routing node and the ending routing node; The distance candidate path, bandwidth candidate path, and latency candidate path are aggregated to generate a candidate path set.
8. A visual routing path control device, characterized in that, The device is used in a server, and the device includes: The map acquisition module is used to acquire a routing map, which includes multiple routing nodes, the connection relationships between the routing nodes, and the location of each routing node on a geographic information map. The route planning task generation module is used to identify the starting route node and the ending route node in the route map, generate candidate route planning tasks based on the starting route node and the ending route node, and send the candidate route planning tasks to the controller. The path selection module is used to respond to a candidate path set sent by the controller. The candidate path set includes a primary path and at least one backup path. Both the primary path and the backup path include multiple segment lists with different weight values. Based on the user's modification instruction for the primary path, the module confirms the target segment list that needs to be modified in the primary path. The path modification module is used to determine at least one node operated by the user as a necessary node based on the user's operation on at least one node on the routing map, and to generate a modified path based on the target segment list and the necessary nodes according to the Dijkstra algorithm. The path modification module is specifically used to determine the head node and tail node based on the target segment list; Based on the intermediate path set generated according to the Dijkstra algorithm, the intermediate path set includes a first intermediate path from the head node to the first intermediate node and a second intermediate path from the first intermediate node to the tail node; the first intermediate node is the necessary node. Determine if the modification is complete; If not, retain the intermediate paths that do not need to be modified, reconfirm the head and tail nodes of the intermediate paths that need to be modified, select the second intermediate node as the necessary node, and generate the third intermediate path from the head node to the second intermediate node and the fourth intermediate path from the second intermediate node to the tail node based on the Dijkstra algorithm, and so on, until the modification is completed. If so, generate the modified path based on the intermediate path set; The control policy generation module is used to modify the weight values of the target segment list in the modified path and generate a routing control policy.
9. A visual routing path control device, characterized in that, The device is used in a controller, and the device includes: The routing network information acquisition module is used to acquire routing network information; The path planning module is used to respond to the candidate path planning task sent by the server. The candidate path planning task includes a starting routing node and an ending routing node. Based on a preset planning strategy set and the routing network information, it generates a set of candidate paths between the starting routing node and the ending routing node, and feeds the candidate path set back to the server. The candidate path set includes at least two candidate paths with different priorities. The candidate paths include multiple segmented lists with different weight values. The candidate path with the highest priority is used as the primary path. The policy distribution module is used to respond to the routing control policy sent by the server and distribute the routing control policy through the border gateway protocol. The routing control policy is generated by the server by modifying the weight values of the target segment list in the modification path. The modification path is generated by the server based on the target segment list and the necessary nodes, according to the Dijkstra algorithm. The target segment list is the list of target segments in the primary path that need to be modified, confirmed by the server based on the user's modification instruction for the path. The necessary nodes are at least one node operated by the user on the routing map. Based on the target segment list and the required nodes, the modified path is generated according to Dijkstra's algorithm, including: The head node and tail node are determined based on the target segment list; Based on the intermediate path set generated according to the Dijkstra algorithm, the intermediate path set includes a first intermediate path from the head node to the first intermediate node and a second intermediate path from the first intermediate node to the tail node; the first intermediate node is the necessary node. Determine if the modification is complete; If not, retain the intermediate paths that do not need to be modified, reconfirm the head and tail nodes of the intermediate paths that need to be modified, select the second intermediate node as the necessary node, and generate the third intermediate path from the head node to the second intermediate node and the fourth intermediate path from the second intermediate node to the tail node based on the Dijkstra algorithm, and so on, until the modification is completed. If so, generate the modified path based on the intermediate path set.
10. An electronic device, comprising: A processor, and a memory communicatively connected to the processor; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory to implement the method as described in any one of claims 1 to 7.
11. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1 to 7.