Method and apparatus for processing routing calculation tasks, computer device, storage medium

By splitting the routing computing task into topological computing tasks and graph computing tasks, and performing distributed parallel computing, the problem of too slow processing speed and low efficiency when the number of edge nodes is large or the same edge node triggers multiple routing computing tasks is solved, and efficient routing computing task processing is achieved.

CN116366537BActive Publication Date: 2025-06-03BEIJING VOLCANO ENGINE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310343118.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-31
Publication Date
2025-06-03
Estimated Expiration
2043-03-31

AI Technical Summary

Technical Problem

When there are too many edge nodes or when the same edge node triggers multiple routing computing tasks, the routing computing tasks are too slow and low efficiency.

Method used

The routing calculation task is split into topological calculation task and graph calculation task, and the topological calculation task is scheduled to the first routing calculation instance for processing through task scheduling, and the graph calculation task is scheduled to the second routing calculation instance for processing, realizing distributed parallel computing.

Benefits of technology

The processing speed and efficiency of routing computing tasks are improved, especially when there are many edge nodes or the same edge node triggers multiple routing computing tasks, the impact of processing speed is significantly reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116366537B_ABST
    Figure CN116366537B_ABST
Patent Text Reader

Abstract

The present disclosure can provide a method and apparatus for processing routing calculation tasks, a computer device, and a storage medium. The method for processing routing calculation tasks includes: receiving a networking request and creating a topology calculation task according to the networking request; scheduling the topology calculation task to a first routing calculation instance and using the first routing calculation instance to execute the topology calculation task to obtain a topology set including a plurality of first edge border routing tables; determining a plurality of graph calculation tasks corresponding one-to-one to the plurality of first edge border routing tables, respectively scheduling the plurality of graph calculation tasks to corresponding second routing calculation instances, and using the second routing calculation instances to execute the graph calculation tasks; and updating the first edge border routing tables to second edge border routing tables according to the execution results of the graph calculation tasks. Compared with conventional technologies, the present disclosure can greatly improve the processing speed and efficiency of routing calculation tasks.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the technical field of edge cloud, and more specifically, to a method and apparatus for processing routing calculation tasks, a computer device, and a storage medium. Background Art

[0002] Edge cloud technology is a cloud platform technology built on edge infrastructure based on cloud computing technology and edge computing technology. The edge network involved in edge cloud technology can provide users with the function of interconnecting multiple edge nodes locally and / or across domains to provide better network services. For the solution of edge network networking, such as the solution of VPC (Virtual Private Cloud) networking, the core point is to calculate the routing information forwarded by each edge node.

[0003] In the related art, a general solution is for a central controller to perform routing calculations according to the priority or time sequence of routing calculation tasks to obtain the routing information forwarded by each edge node.

[0004] However, in the related art, when the number of edge nodes is large or the same edge node triggers multiple routing calculation tasks at the same time, it is easy to cause problems such as too slow processing speed of routing calculation tasks and low processing efficiency of routing calculation tasks. Summary of the Invention

[0005] To solve the problems of too slow processing speed and low efficiency of routing calculation tasks in the related art, the present disclosure provides a method and apparatus for processing routing calculation tasks, a computer device, and a storage medium, so as to achieve the purpose of improving the processing speed of routing calculation tasks and enhancing the processing efficiency of routing calculation tasks.

[0006] To achieve the above technical purpose, the present disclosure provides a method for processing routing calculation tasks, where the routing calculation tasks include topology calculation tasks and graph calculation tasks; the method includes: receiving a networking request, creating a topology calculation task according to the networking request; scheduling the topology calculation task to a first routing calculation instance, and using the first routing calculation instance to execute the topology calculation task to obtain a topology set of edge boundary routing tables; the topology set includes a plurality of first edge boundary routing tables; determining a plurality of graph calculation tasks corresponding one-to-one to the plurality of first edge boundary routing tables, and scheduling the plurality of graph calculation tasks to corresponding second routing calculation instances respectively, and using the second routing calculation instances to execute the graph calculation tasks; updating the first edge boundary routing tables to second edge boundary routing tables according to the execution results of the graph calculation tasks, and the routing calculation tasks are used to determine the second edge boundary routing tables for networking.

[0007] To achieve the above technical objectives, the present disclosure also provides an apparatus for processing routing calculation tasks. The routing calculation tasks include topology calculation tasks and graph calculation tasks. The apparatus includes: a task creation module, configured to receive a networking request and create a topology calculation task according to the networking request; a first scheduling module, configured to schedule the topology calculation task to a first routing calculation instance and execute the topology calculation task by using the first routing calculation instance to obtain a topology set of edge border routing tables. The topology set includes a plurality of first edge border routing tables; a second scheduling module, configured to determine a plurality of graph calculation tasks corresponding one by one to the plurality of first edge border routing tables and schedule the plurality of graph calculation tasks to corresponding second routing calculation instances respectively, and execute the graph calculation tasks by using the second routing calculation instances; a routing table update module, configured to update the first edge border routing tables to second edge border routing tables according to the execution results of the graph calculation tasks. The routing calculation tasks are used to determine the second edge border routing tables for networking.

[0008] To achieve the above technical objectives, the present disclosure may also provide a computer device, including a memory and a processor. Computer-readable instructions are stored in the memory. When the computer-readable instructions are executed by the processor, the processor is caused to execute the method for processing routing calculation tasks in any embodiment of the present disclosure.

[0009] To achieve the above technical objectives, the present disclosure can also provide a storage medium storing computer-readable instructions, characterized in that when the computer-readable instructions are executed by one or more processors, the one or more processors are caused to execute the method for processing routing calculation tasks in any embodiment of the present disclosure.

[0010] The beneficial effects of the present disclosure include: The present disclosure splits the routing calculation tasks into topology calculation tasks and graph calculation tasks, and schedules the topology calculation tasks to the first routing calculation instance for processing and the graph calculation tasks to the second routing calculation instance for processing through task scheduling, realizing distributed parallel calculation of multi-node routing. Even if the number of edge nodes is large or the same edge node triggers multiple routing calculation tasks at the same time, the impact on the processing speed of the routing calculation tasks of this solution is very small. Compared with the conventional technology, the present disclosure can greatly improve the processing speed of routing calculation tasks and enhance the processing efficiency of routing calculation tasks. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] Figure 1 A flowchart showing the method for processing routing calculation tasks in one or more embodiments of the present disclosure is shown.

[0012] Figure 2 A flowchart showing creating a topology calculation task according to a networking request in one or more embodiments of the present disclosure is shown.

[0013] Figure 3 Shows a schematic flow chart of performing a topology calculation task using a first routing calculation instance in one or more embodiments of the present disclosure.

[0014] Figure 4 Shows a schematic flow chart of constructing a topology set using multiple third edge boundary routing tables in one or more embodiments of the present disclosure.

[0015] Figure 5 Shows a schematic diagram of the processing flow of a topology calculation task and a graph calculation task in one or more embodiments of the present disclosure.

[0016] Figure 6 Shows a schematic flow chart of asynchronous task scheduling based on a routing calculation instance in one or more embodiments of the present disclosure.

[0017] Figure 7 Shows a schematic flow chart of processing a topology calculation task in one or more embodiments of the present disclosure.

[0018] Figure 8 Shows a schematic diagram of the implementation principle of updating the edge boundary routing table of an edge node in one or more embodiments of the present disclosure.

[0019] Figure 9 Shows a schematic diagram of the virtual private cloud networking view from the perspective of underlying network elements in one or more embodiments of the present disclosure.

[0020] Figure 10 Shows a schematic diagram of the virtual private cloud networking view from the perspective of users in one or more embodiments of the present disclosure.

[0021] Figure 11 Shows a schematic structural diagram of an apparatus for processing a routing calculation task in one or more embodiments of the present disclosure.

[0022] Figure 12 Shows a schematic internal structure diagram of a computer device in one or more embodiments of the present disclosure. Detailed implementation manners

[0023] In the related art, in the case of a large number of edge nodes, the serial routing calculation method adopted leads to a sharp decline in the routing calculation speed, that is, the problem of too slow processing speed of routing calculation tasks; in the case where multiple routing calculation tasks are triggered by the same edge node at the same time, in order to avoid the generation of race conditions, multiple routing calculation tasks need to queue up, seriously affecting the routing calculation efficiency; in addition, any error or failure in a certain routing calculation process in the related art will cause the retry of the entire routing calculation task, and the scope of error influence is relatively wide.

[0024] In view of this, the present disclosure provides a method and apparatus for processing routing calculation tasks, a computer device, and a storage medium, so as to effectively solve at least one problem existing in the related art.

[0025] As Figure 1 shown, one or more embodiments of the present disclosure provide a method for processing routing calculation tasks, and the routing calculation tasks include topology calculation tasks and graph calculation tasks.

[0026] The method for processing routing calculation tasks may include but is not limited to steps S101 to S104, which are specifically described as follows.

[0027] Step S101: Receive a networking request and create a topology calculation task according to the networking request.

[0028] Wherein, the topology calculation task may be one or more.

[0029] Step S102: Schedule the topology calculation task to a first routing calculation instance, and use the first routing calculation instance to execute the topology calculation task to obtain an edge border routing table topology set; the topology set includes a plurality of first edge border routing tables.

[0030] Wherein, for multiple topology calculation tasks, the multiple topology calculation tasks are scheduled to multiple first routing calculation instances one by one. The topology calculation task is a single task, and the execution result involves all EBRs with routing changes. The edge border routing table topology set may specifically be an EBR topology list.

[0031] The EBR involved in the embodiments of the present disclosure refers to Edge Border Router, that is, an edge border router, and the edge border routing table refers to an EBR routing table.

[0032] Step S103: Determine a plurality of graph calculation tasks corresponding one-to-one to the plurality of first edge border routing tables, and schedule the plurality of graph calculation tasks to corresponding second routing calculation instances respectively, and use the second routing calculation instances to execute the graph calculation tasks.

[0033] Wherein, for each first edge border routing table in the edge border routing table topology set, a graph calculation task is submitted respectively. A complete routing calculation task in units of a graph calculation task (DAG Task) is used to update a single EBR routing table.

[0034] Step S104: Update the first edge border routing table to a second edge border routing table according to the execution result of the graph calculation task, and the routing calculation task is used to determine the second edge border routing table for networking.

[0035] Thus, the embodiments of the present disclosure obtain the latest routing configuration, that is, the second edge border routing table used for network formation and the routing entries included in the second edge border routing table.

[0036] Based on the scheduling of the topology calculation task and the graph calculation task respectively, the embodiments of the present disclosure achieve the distributed parallel calculation of the routing between multiple edge nodes, effectively solve the problem that multiple routing calculation tasks need to queue up to avoid race conditions, avoid the competition problem caused by the re-entry calculation at the single-node granularity, and further ensure the final consistency of the routing calculation results. The embodiments of the present disclosure significantly improve the overall routing calculation performance, speed up the routing calculation speed, and improve the efficiency of edge network formation.

[0037] As Figure 2 shown, in an alternative embodiment of the present disclosure, creating a topology calculation task according to a network formation request includes, but is not limited to, steps S201 and S202.

[0038] Step S201, determine the edge interconnection instance allocated for the network formation request, and the edge interconnection instance is used to configure a private network for the network formation request.

[0039] The edge interconnection instance involved in the present disclosure does not have a location attribute, does not belong to a certain edge node, is the carrier for the interconnection between edge node VPCs, and the routes of multiple VPC instances added to the same edge interconnection instance are automatically fully opened.

[0040] Step S202, create a topology calculation task corresponding to the edge interconnection instance.

[0041] Among them, the topology calculation task is used to determine the topology set including multiple first edge border routing tables under the current edge interconnection instance.

[0042] Based on the network formation request, the above embodiments of the present disclosure determine the edge interconnection instance allocated for it, thereby ensuring that the network formation process covers all relevant edge border routing tables and improving the reliability of network formation.

[0043] As Figure 3 shown, and in combination with Figure 7 , in an alternative embodiment of the present disclosure, using a first routing calculation instance to execute a topology calculation task includes, but is not limited to, steps S301 to S303.

[0044] Step S301, traverse each third edge border routing table in the edge interconnection instance.

[0045] For the edge interconnection instance corresponding to the network formation request, this embodiment first obtains all the EBR routing tables in this edge interconnection instance, such as EBR:A, EBR:B, EBR:C, etc.

[0046] Step S302: Determine the routing forwarding information from each third edge border routing table to the private network. The routing forwarding information indicates that the routing type between the third edge border routing table and the edge border routing table in the private network is a direct connection type or a relay type.

[0047] Among them, the direct connection type can be expressed as source EBR → destination EBR, and the relay type can be expressed as source EBR → relay EBR → destination EBR.

[0048] In this embodiment, each EBR routing table in the edge interconnection instance is traversed, and the route from each EBR routing table to the private network is obtained according to the routing type being a direct connection type or a relay type.

[0049] Step S303: Based on the routing forwarding information, use multiple third edge border routing tables to construct a topology set, and use the third edge border routing tables used to construct the topology set as the first edge border routing tables.

[0050] The topology set can represent the topological relationship between multiple third edge border routing tables. For example, in combination with the above example, it can be expressed as {EBR: A, EBR: B, EBR: C}.

[0051] In the embodiment of the present disclosure, a topology set is constructed using multiple third edge border routing tables based on a routing policy with a direct connection type or a relay type. This method can improve the integrity and accuracy of the topology set construction.

[0052] In this embodiment, the third edge border routing tables with a direct connection type as the routing type between them and the edge border routing tables in the private network are directly added to the topology set without additional processing.

[0053] As Figure 4 shown, in an optional embodiment of the present disclosure, based on the routing forwarding information, using multiple third edge border routing tables to construct a topology set includes, but is not limited to, steps S401 to S403.

[0054] Step S401: Divide the third edge border routing tables with a relay type as the routing type between them and the edge border routing tables in the private network into a first routing table and a second routing table. The first routing table is associated with the routing table in the edge interconnection instance, and the second routing table is not associated with the routing table in the edge interconnection instance.

[0055] Among them, both the first routing table and the second routing table involved are third edge border routing tables, and this embodiment makes a targeted distinction between them. The first routing table can be directly added to the topology set without additional processing.

[0056] Step S402: Create a corresponding third routing table associated with the routing table in the edge interconnection instance according to the second routing table.

[0057] In the embodiment of the present disclosure, by creating a third routing table corresponding to the second routing table, the second routing table is indirectly associated with the edge interconnection instance. If the forwarding device in the area corresponding to the second routing table is not registered, an error is returned.

[0058] Step S403: Construct a topology set through the first routing table, the third routing table, and a third edge border routing table whose routing type between the edge border routing table in the private network is a direct connection type; where the second edge border routing table added to the topology set is used as the first edge border routing table.

[0059] The above embodiment of the present disclosure realizes adding third edge border routing tables with direct connection type and relay type routing to the topology set, ensuring that the topology set covers all EBRs under the edge interconnection instance, and ensuring the integrity, reliability, and effectiveness of the topology calculation task execution process in this embodiment.

[0060] Combined with Figure 5 As shown, in an alternative embodiment of the present disclosure, using a second routing calculation instance to execute a graph calculation task includes: calculating the full routes of a plurality of first edge border routing tables corresponding to a plurality of graph calculation tasks one by one to obtain full route calculation results; the execution result of the graph calculation task includes the full route calculation results.

[0061] Among them, (1) if the target version of the EBR differs from the current version by 1, calculate the full route and write it to Redis in KV format, and at the same time increment the current version by 1 and write it to the db (data block) of MySQL (relational database management system), and return; (2) if the target version of the EBR differs from the current version by 2, wait until the two versions differ by 1, and perform the processing in the above step (1); (3) if the target version of the EBR differs from the current version by more than 2, directly exit because there is a waiting state in the above (2) and no additional calculation is required.

[0062] The embodiment of the present disclosure can write the obtained full route calculation results to Redis (remote dictionary service) in a preset format, where the preset format can be, for example, KV format (source code file format written in Kivy language).

[0063] The above embodiment of the present disclosure can realize the determination of the full route of each first edge border routing table, and moreover, the failure of the full route calculation process in the entire graph calculation task will not affect other processes.

[0064] Combined with Figure 5As shown, in an alternative embodiment of the present disclosure, when using a second routing calculation instance to execute a graph calculation task, it further includes: separately updating the target version field values in multiple first edge boundary routing tables to obtain updated version field values; the execution result of the graph calculation task includes the updated version field values.

[0065] The first edge boundary routing table of the present disclosure has a current version field and a target version field. In this embodiment, the target version field value can be incremented by 1 to obtain a new target version field value, that is, the updated version field value.

[0066] The above embodiments of the present disclosure can determine the target version field value of each first edge boundary routing table, and moreover, a failure in the target version field value update process in the entire graph calculation task will not affect other processes.

[0067] Combined with Figure 5 As shown, in an alternative embodiment of the present disclosure, when using a second routing calculation instance to execute a graph calculation task, it further includes: calculating the incremental routes of multiple first edge boundary routing tables corresponding to multiple graph calculation tasks one by one according to the full routes corresponding to the target version field values and the full routes corresponding to the updated version field values to obtain incremental route calculation results; the execution result of the graph calculation task includes the incremental route calculation results.

[0068] Among them, in this embodiment, the incremental routes are calculated based on the difference between the full routes of the updated target version and the full routes of the previous version.

[0069] The above embodiments of the present disclosure can determine the incremental routes of each first edge boundary routing table, and moreover, a failure in the incremental route calculation process in the entire graph calculation task will not affect other processes.

[0070] Combined with Figure 5 As shown, in an alternative embodiment of the present disclosure, when using a second routing calculation instance to execute a graph calculation task, it further includes: detecting the routing conflicts of multiple first edge boundary routing tables corresponding to multiple graph calculation tasks one by one to obtain routing conflict detection results; the execution result of the graph calculation task includes the routing conflict detection results.

[0071] Among them, in this embodiment, the routing conflicts are detected. If a routing conflict is found, the routing entry status is set to the conflict status; otherwise, the routing entry status is set to the normal status.

[0072] The above embodiments of the present disclosure can determine the routing conflicts of each first edge boundary routing table, and moreover, a failure in the routing conflict detection process in the entire graph calculation task will not affect other processes.

[0073] Based on the version field value update process, routing conflict detection process, full-scale routing calculation process, and incremental routing calculation process, the above embodiments of the present disclosure achieve a fine-grained segmentation of the routing calculation process, realize task decomposition, and achieve the purposes of optimizing the impact scope of fault retry and reducing the rollback surface.

[0074] Combined with Figure 5 As shown, in an alternative embodiment of the present disclosure, the method for processing routing calculation tasks further includes: if an exception occurs during any of the processes of topology calculation task execution, full-scale routing calculation, version field value update, incremental routing calculation, and routing conflict detection, then re-execute the process where the exception occurs.

[0075] Among them, the situations where exceptions occur include but are not limited to routing calculation instance exceptions or faults, task execution returning errors, etc.

[0076] The present disclosure's re-execution of the process where an exception occurs includes a rescheduling process, which is a process of scheduling the process where an exception occurs to a new routing calculation instance for processing. When an exception occurs during the topology calculation task execution process, then re-execute the topology calculation task execution process; when an exception occurs during the full-scale routing calculation process, then re-execute the full-scale routing calculation process; when an exception occurs during the version field value update process, then re-execute the version field value update process; when an exception occurs during the incremental routing calculation process, then re-execute the incremental routing calculation process; when an exception occurs during the routing conflict detection process, then re-execute the routing conflict detection process.

[0077] Compared with the conventional solution of retrying the entire routing calculation task in the case of any error or fault in a certain routing calculation process, the above embodiments of the present disclosure can significantly reduce the error impact scope and further improve the efficiency of routing calculation task processing. When the nodes for deploying the first routing calculation instance and the first routing calculation instance fail, the present disclosure can ensure the integrity and effectiveness of the routing calculation task processing results through the above abnormal rescheduling method.

[0078] As Figure 5 shown, a routing calculation model based on the present disclosure is provided. The topology calculation task involved in the present disclosure is a single task (Simple Task), and its execution result is all EBRs related to routing changes. For example, the illustrated {EBR:A, EBR:B, EBR:C}, of course, is not limited to this.

[0079] As described above, the present disclosure decomposes each graph calculation task and disassembles it into a version field value update stage (A1), a routing conflict detection stage (A2), a full-scale routing calculation stage (A3), and an incremental routing calculation stage (A4), and summarizes the task status.

[0080] As shown Figure 6 in the figure, the networking request in this embodiment is an API (Application Programming Interface) request. In this embodiment, the received networking requests are scheduled to a certain routing calculation instance (such as the illustrated routing calculation instance 1, routing calculation instance 2... routing calculation instance n) to run through a load balancing method. The routing calculation instance can have the flexibility of horizontal scaling. In the case of large calculation pressure, an expanded instance can be used to solve the calculation resource bottleneck problem.

[0081] Among them, the intermediate states and final results of each task calculation in this embodiment are stored and managed by MySQL (Relational Database Management System) / Redis (Remote Dictionary Service).

[0082] Combined with Figure 7 the figure, a detailed flowchart for processing the topology calculation task is provided. In this embodiment, the version number of the edge interconnection instance allocated for the networking request is determined and obtained according to the received networking request to determine the edge interconnection instance allocated for the networking request; then all EBR instances under the edge interconnection instance can be obtained. All EBR instances can include each of the above-mentioned third edge border routing tables, and each third edge border routing table in the edge interconnection instance can be traversed by traversing all EBR instances under the edge interconnection instance.

[0083] Then, it is judged whether the routing type between the third edge border routing table and the edge border routing table in the private network is a direct connection type. If so, the traversal continues; if not, the steps S401 to S403 in Figure 4 are executed to add the relay node to the topology set.

[0084] After the traversal, a topologically complete EBR topology list is obtained, that is, an edge border routing table topology set is obtained. After this embodiment obtains the topologically complete EBR topology list, the EIC (Edge Interconnection) instance version number is updated using a MySQL optimistic lock, such as version+1 (increment the version number by 1), and then it is judged whether the version number is updated successfully. If the update is successful, the topologically complete EBR topology list is output. If the update fails, the step of obtaining the version number of the edge interconnection instance allocated for the networking request is returned.

[0085] As Figure 8As shown in the figure, the execution subject of the method for processing routing calculation tasks provided by the present disclosure can be an Edge Inter Connection (EIC) core controller. This EIC core controller can be connected to the control platform through an intranet. The control platform can be, for example, the Volcano control platform, which can be used for edge interconnection instance lifecycle management, commodity management, billing-related management, etc.

[0086] Among them, the EIC core controller is deployed on the central side and is used to provide a global perspective of all edge node forwarding links. It mainly performs routing calculation, control, and distribution of the network architecture, such as routing calculation, control, and distribution of the VPC network architecture. The EIC core controller is connected to each edge node. The EIC core controller and the edge nodes are communicatively connected through a public network security channel, and the data transmitted is encrypted. The edge nodes include, for example, but are not limited to the L1-Node A, L1-Node B, L2-Node N shown in the figure.

[0087] Each user can send a network architecture request to the EIC core controller through the control platform. This network architecture request can be, for example, InnerAPIs (internal application programming interface call requests), and then obtain the second edge boundary routing table based on the solution provided by the present disclosure, and distribute it to each edge node respectively.

[0088] The EGW (Edge Gateway) is a centralized gateway device deployed on the edge node, carrying the traffic for cross-node forwarding, and is also the physical entity carrying the EBR. Compared with the EGW, the EBR belongs to the edge boundary routing in the logical concept. Each edge network architecture instance has a logical EBR instance at each node, carrying the routing table of the edge interconnection instance at a certain node. In this embodiment Figure 8 The EGW Controller shown represents the EGW controller on the edge node side, responsible for pulling the routing configuration generated by the EIC core controller and distributing it to the device Agent (agent). The device Agent is used to distribute the routing configuration pulled by the EGW Controller to the specific EGW.

[0089] Combined with Figure 9 As shown in the figure, the network architecture request includes a virtual private cloud network architecture request. It can be seen that when applying the solution of the present disclosure to the virtual private cloud (VPC, Virtual Private Cloud) network architecture scenario, a routing calculation method for edge node VPC network architecture can also be provided based on the present disclosure.

[0090] Build an isolated, self-configurable and manageable virtual network environment for resources on the edge cloud through the VPC networking scenario, and customize network features such as IP (Internet Protocol) address segments, security groups, and routing policies in the private network to facilitate the management and configuration of the cloud network and perform network changes safely and quickly.

[0091] In the implementation of traffic forwarding in the VPC networking of edge nodes, routing forwarding information is the key information that controls the forwarding actions of the underlying network elements of each edge node. Therefore, in the entire VPC networking solution, the core point is to calculate the routing information forwarded by each edge node.

[0092] Combined with Figure 9 As shown, calculating the routing information forwarded by edge nodes is embodied as determining the EBR routing table of each edge node in the current edge interconnection instance. Figure 9 Schematically shows the edge node at the first location and the edge node at the second location. The first location and the second location are two different locations, such as Ningbo and Hengyang respectively. Among them, although the first location and the second location are cross-domain connections, the edge node at the first location and the edge node at the second location are in the same edge interconnection instance.

[0093] For the edge node EBR at the first location, the target network segments include but are not limited to 172.16.1.0 / 24, 172.16.2.0 / 24, 192.168.1.0 / 24, 192.168.2.0 / 24. The next hop of the target network segment 172.16.1.0 / 24 is VPC1, and the type is local type; the next hop of the target network segment 172.16.2.0 / 24 is VPC2, and the type is local type; the next hop of the target network segment 192.168.1.0 / 24 is the edge node EBR at the second location, and the type is cross-domain type; the next hop of the target network segment 192.168.2.0 / 24 is the edge node EBR at the second location, and the type is cross-domain type.

[0094] Combined with Figure 10 As shown, one or more embodiments of the present disclosure provide a schematic diagram of VPC networking from the user's perspective.

[0095] VPC instances can be deployed on the edge nodes in the edge cloud, and each VPC instance is configured with an EBR, so that the edge network products of the edge cloud have basic VPC product capabilities within the node, for example, they can support the network capabilities of edge computing products such as virtual machines / containers.

[0096] Among them, the VPC networking of cross-regional edge nodes belongs to the basic edge Iaas (Infrastructure as a Service) network layer, which provides the ability for multiple edge nodes to communicate across regions. It is the basis for building the multi-access and unified network coordination capabilities of edge nodes.

[0097] Therefore, for users, in the process of applying the solution of the present disclosure to provide the ability for multiple edge nodes to communicate across regions, one or more embodiments of the present disclosure can improve the routing calculation speed and efficiency.

[0098] As Figure 11 shown, based on the same inventive technical concept as the method for processing routing calculation tasks in one or more embodiments of the present disclosure, at least one embodiment of the present disclosure can also provide an apparatus for processing routing calculation tasks, and the routing calculation tasks include topology calculation tasks and graph calculation tasks.

[0099] Among them, the apparatus for processing routing calculation tasks may include, but is not limited to, a task creation module 111, a first scheduling module 112, a second scheduling module 113, and a routing table update module 114.

[0100] The task creation module 111 is configured to receive a networking request and create a topology calculation task according to the networking request.

[0101] The first scheduling module 112 is configured to schedule the topology calculation task to a first routing calculation instance and use the first routing calculation instance to execute the topology calculation task to obtain a topology set of edge boundary routing tables; the topology set includes a plurality of first edge boundary routing tables.

[0102] The second scheduling module 113 is configured to determine a plurality of graph calculation tasks corresponding one-to-one to the plurality of first edge boundary routing tables and schedule the plurality of graph calculation tasks to the corresponding plurality of second routing calculation instances respectively, and use the second routing calculation instances to execute the graph calculation tasks.

[0103] The routing table update module 114 is configured to update the first edge boundary routing table to a second edge boundary routing table according to the execution result of the graph calculation task, and the routing calculation task is used to determine the second edge boundary routing table for networking.

[0104] Optionally, the task creation module 111 includes an instance determination unit and a task creation unit.

[0105] The instance determination unit is configured to determine an edge interconnection instance allocated for the networking request, and the edge interconnection instance is used to configure a private network for the networking request.

[0106] The task creation unit is configured to create a topology calculation task corresponding to the edge interconnection instance.

[0107] Optionally, the first scheduling module 112 includes a routing table traversal unit, a forwarding information determination unit, and a topology set creation unit.

[0108] The routing table traversal unit is configured to traverse each third edge border routing table in the edge interconnection instance.

[0109] The forwarding information determination unit is configured to respectively determine the routing and forwarding information from each third edge border routing table to the private network, where the routing and forwarding information indicates that the routing type between the third edge border routing table and the edge border routing table in the private network is a direct connection type or a relay type.

[0110] The topology set creation unit is configured to construct a topology set by using multiple third edge border routing tables based on the routing and forwarding information, and use the third edge border routing table used to construct the topology set as the first edge border routing table.

[0111] Optionally, the topology set creation unit includes a routing table partitioning unit, a routing table creation unit, and a topology set creation subunit.

[0112] The routing table partitioning unit is configured to partition the third edge border routing tables whose routing type with the edge border routing table in the private network is a relay type into a first routing table and a second routing table, where the first routing table is associated with the routing table in the edge interconnection instance, and the second routing table is not associated with the routing table in the edge interconnection instance.

[0113] The routing table creation unit is configured to create a corresponding third routing table associated with the routing table in the edge interconnection instance according to the second routing table.

[0114] The topology set creation subunit is configured to construct a topology set through the first routing table, the third routing table, and the third edge border routing tables whose routing type with the edge border routing table in the private network is a direct connection type; where the second edge border routing table added to the topology set is used as the first edge border routing table.

[0115] Optionally, the second scheduling module 113 includes a full - scale routing calculation unit.

[0116] The full - scale routing calculation unit is configured to respectively calculate the full - scale routes of multiple first edge border routing tables corresponding to multiple graph calculation tasks one by one, and obtain a full - scale routing calculation result; the execution result of the graph calculation task includes the full - scale routing calculation result.

[0117] Optionally, the second scheduling module 113 includes a version field value update unit.

[0118] A version field value update unit is configured to separately update the target version field values in multiple first edge boundary routing tables to obtain updated version field values; the execution result of the graph calculation task includes the updated version field values.

[0119] Optionally, the second scheduling module 113 includes an incremental routing calculation unit.

[0120] The incremental routing calculation unit is configured to calculate the incremental routes of multiple first edge boundary routing tables corresponding to multiple graph calculation tasks one by one according to the full - scale route corresponding to the target version field value and the full - scale route corresponding to the updated version field value, to obtain incremental routing calculation results; the execution result of the graph calculation task includes the incremental routing calculation results.

[0121] Optionally, the second scheduling module 113 includes a routing conflict detection unit.

[0122] The routing conflict detection unit is configured to detect the routing conflicts of multiple first edge boundary routing tables corresponding to multiple graph calculation tasks one by one, to obtain routing conflict detection results; the execution result of the graph calculation task includes the routing conflict detection results.

[0123] Optionally, the second scheduling module 113 further includes an exception re - scheduling unit.

[0124] The exception re - scheduling unit is configured to, if an exception occurs in any process of topology calculation task execution, full - scale routing calculation, version field value update, incremental routing calculation, or routing conflict detection, re - execute the process where the exception occurs.

[0125] Optionally, the networking request includes a virtual private cloud networking request.

[0126] As Figure 12 shown, based on the same inventive technical concept as the method for processing routing calculation tasks provided in at least one embodiment of the present disclosure, at least one embodiment of the present disclosure can further provide a computer device. The computer device includes a memory and a processor. Computer - readable instructions are stored in the memory. When the computer - readable instructions are executed by the processor, the processor executes the method for processing routing calculation tasks in any embodiment of the present disclosure. Among them, the detailed implementation process of the method for processing routing calculation tasks has been described in detail in this specification, and will not be elaborated here.

[0127] As Figure 12As shown, based on the same inventive technical concept as the method for processing routing calculation tasks provided by at least one embodiment of the present disclosure, at least one embodiment of the present disclosure can also provide a storage medium storing computer-readable instructions. When the computer-readable instructions are executed by one or more processors, the one or more processors are caused to execute the method for processing routing calculation tasks in any embodiment of the present disclosure. Among them, the detailed implementation process of the method for processing routing calculation tasks has been described in detail in this specification and will not be elaborated here.

[0128] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a definite sequence list of executable instructions for implementing logical functions, and can be specifically implemented in any computer-readable storage medium for use by an instruction execution system, apparatus, or device (such as a computer-based system, a system including a processor, or other systems that can fetch and execute instructions from the instruction execution system, apparatus, or device), or in combination with these instruction execution systems, apparatus, or devices. For the purposes of this specification, a "computer-readable storage medium" can be any device that can contain, store, communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. More specific examples (non-exhaustive list) of computer-readable storage mediums include the following: an electrical connection portion with one or more wirings (electronic device), a portable computer diskette (magnetic device), a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM, or flash memory), an optical fiber device, and a portable compact disc read-only memory (CDROM). Additionally, the computer-readable storage medium can even be paper or other suitable media on which the program can be printed, because the program can be obtained electronically, for example, by optically scanning the paper or other media, followed by editing, interpretation, or otherwise processing as appropriate, and then storing it in a computer memory.

[0129] It should be understood that various parts of the present disclosure can be implemented by hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented by software or firmware stored in a memory and executed by a suitable instruction execution system. For example, if implemented by hardware, as in another embodiment, any one or a combination of the following techniques well known in the art can be used: discrete logic circuits having logic gate circuits for implementing logical functions on data signals, application specific integrated circuits having appropriate combinational logic gate circuits, programmable gate arrays (PGA), field programmable gate arrays (FPGA), and the like.

[0130] In the description of this specification, the descriptions referring to the terms "this embodiment", "one embodiment", "some embodiments", "examples", "specific examples", or "some examples", etc. mean that the specific features, structures, materials, or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present disclosure. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials, or characteristics described can be combined in any one or more embodiments or examples in a suitable manner. In addition, without conflict, those skilled in the art can combine and combine the different embodiments or examples described in this specification and the features of different embodiments or examples.

[0131] Furthermore, the terms "first" and "second" are used for descriptive purposes only and cannot be construed as indicating or implying relative importance or implicitly specifying the quantity of the indicated technical features. Thus, the features defined with "first" and "second" can explicitly or implicitly include at least one of the features. In the description of the present disclosure, the meaning of "a plurality" is at least two, such as two, three, etc., unless otherwise specifically and clearly defined.

[0132] The above are only the preferred embodiments of the present disclosure and are not intended to limit the present disclosure. Any modifications, equivalent replacements, and simple improvements made to the substantial content of the present disclosure shall be included in the protection scope of the present disclosure.

Claims

1. A method for processing routing calculation tasks, characterized in that, the routing calculation tasks include topology calculation tasks and graph calculation tasks; the method includes: receiving a networking request, and creating a topology calculation task according to the networking request; scheduling the topology calculation task to a first routing calculation instance, and using the first routing calculation instance to execute the topology calculation task to obtain an edge boundary routing table topology set; the topology set includes a plurality of first edge boundary routing tables; determining a plurality of graph calculation tasks corresponding one-to-one to the plurality of first edge boundary routing tables, and respectively scheduling the plurality of graph calculation tasks to corresponding plurality of second routing calculation instances, and using the second routing calculation instances to execute the graph calculation tasks; updating the first edge boundary routing table to a second edge boundary routing table according to the execution result of the graph calculation task, and the routing calculation task is used to determine the second edge boundary routing table for networking.

2. The method for processing routing calculation tasks according to claim 1, characterized in that, the creating a topology calculation task according to the networking request includes: determining an edge interconnection instance allocated for the networking request, and the edge interconnection instance is used to configure a private network for the networking request; creating a topology calculation task corresponding to the edge interconnection instance.

3. The method for processing routing calculation tasks according to claim 2, characterized in that, the using the first routing calculation instance to execute the topology calculation task includes: traversing each third edge boundary routing table in the edge interconnection instance; respectively determining routing forwarding information from each third edge boundary routing table to the private network, and the routing forwarding information indicates that the routing type between the third edge boundary routing table and the edge boundary routing table in the private network is a direct connection type or a relay type; based on the routing forwarding information, using a plurality of third edge boundary routing tables to construct the topology set, and using the third edge boundary routing table used to construct the topology set as the first edge boundary routing table.

4. The method for processing routing calculation tasks according to claim 3, characterized in that, the using a plurality of third edge boundary routing tables to construct the topology set based on the routing forwarding information includes: dividing the third edge boundary routing tables with a relay type routing between the edge boundary routing tables in the private network into a first routing table and a second routing table, the first routing table is a routing table associated with the edge interconnection instance, and the second routing table is a routing table not associated with the edge interconnection instance; creating a corresponding third routing table associated with the edge interconnection instance according to the second routing table; constructing the topology set through the first routing table, the third routing table and the third edge boundary routing tables with a direct connection type routing between the edge boundary routing tables in the private network; wherein, the second edge boundary routing table added to the topology set is used as the first edge boundary routing table.

5. The method for processing routing calculation tasks according to any one of claims 1 to 4, It is characterized in that the execution of the graph computing task by using the second routing calculation instance includes: calculating the full routing of each of the multiple first edge boundary routing tables corresponding to the multiple graph computing tasks one by one to obtain a full routing calculation result; the execution result of the graph computing task includes the full routing calculation result.

6. The method for processing a routing calculation task according to claim 5, It is characterized in that the execution of the graph computing task by using the second routing calculation instance further includes: updating the target version field values in the multiple first edge boundary routing tables respectively to obtain updated version field values; the execution result of the graph computing task includes the updated version field values.

7. The method for processing a routing calculation task according to claim 6, It is characterized in that the execution of the graph computing task by using the second routing calculation instance further includes: calculating the incremental routing of each of the multiple first edge boundary routing tables corresponding to the multiple graph computing tasks one by one according to the full routing corresponding to the target version field value and the full routing corresponding to the updated version field value to obtain an incremental routing calculation result; the execution result of the graph computing task includes the incremental routing calculation result.

8. The method for processing a routing calculation task according to claim 7, It is characterized in that the execution of the graph computing task by using the second routing calculation instance further includes: detecting the routing conflicts of each of the multiple first edge boundary routing tables corresponding to the multiple graph computing tasks one by one to obtain a routing conflict detection result; the execution result of the graph computing task includes the routing conflict detection result.

9. The method for processing a routing calculation task according to claim 8, It is characterized in that the method further includes: if an exception occurs in any process of topology calculation task execution, full routing calculation, version field value update, incremental routing calculation, and routing conflict detection, re-execute the process where the exception occurs.

10. The method for processing a routing calculation task according to any one of claims 1 to 4, It is characterized in that the network configuration request includes a virtual private cloud network configuration request.

11. An apparatus for processing a routing calculation task, It is characterized in that the routing calculation task includes a topology calculation task and a graph calculation task; the apparatus includes: a task creation module, configured to receive a network configuration request and create a topology calculation task according to the network configuration request; a first scheduling module, configured to schedule the topology calculation task to a first routing calculation instance and execute the topology calculation task by using the first routing calculation instance to obtain a topology set of edge boundary routing tables; the topology set includes multiple first edge boundary routing tables; a second scheduling module, configured to determine multiple graph calculation tasks corresponding to the multiple first edge boundary routing tables one by one and schedule the multiple graph calculation tasks to corresponding multiple second routing calculation instances respectively, and execute the graph calculation tasks by using the second routing calculation instances; A routing table update module, configured to update a first edge boundary routing table to a second edge boundary routing table according to an execution result of the graph calculation task, where the routing calculation task is used to determine a second edge boundary routing table for network deployment.

12. A computer device, characterized in that it includes a memory and a processor. Computer-readable instructions are stored in the memory. When the computer-readable instructions are executed by the processor, the processor is caused to execute the method for processing a routing calculation task according to any one of claims 1 to 10.

13. A storage medium storing computer-readable instructions, characterized in that when the computer-readable instructions are executed by one or more processors, the one or more processors are caused to execute the method for processing a routing calculation task according to any one of claims 1 to 10.

Citation Information

Patent Citations

  • Pcep extension for pcecc support of distributed computing, multiple services, and inter-domain routing

    CN109314663A

  • Edge artificial intelligence computing method, Internet-of-Things nodes and storage medium

    CN112511592A