Disclosure of Invention
The embodiment of the application provides a scheduling method, a server and a storage medium for dynamic routing of an Overlay virtual link, which are used for the Overlay virtual link, so that not only can state change in a real network be avoided, but also the calculation routing overhead can be reduced, and the routing scheduling efficiency is improved.
The first aspect of the present application provides a scheduling method for dynamic routing of an Overlay virtual link, which may include:
the method comprises the steps that a server receives an access request from a source node to a target node, wherein the access request is sent by the source node;
the server constructs a directed acyclic graph DAG from the source node to the target node according to the access request and the data of each node;
the server calculates a first shortest Round Trip Time (RTT) path from the source node to the target node according to the DAG;
the server sends a first control instruction to the source node, the first control instruction including information of a first RTT path from the source node to the target node.
Optionally, the data of each node includes round trip time RTT data of each node, and geographical location information of each node.
Optionally, the DAG is constructed in descending or ascending order according to the latitude of the geographic location.
Optionally, the information of the first RTT path from the source node to the destination node includes: address information of each node in a first RTT path from the source node to the destination node.
Optionally, the method further comprises:
the server receives a fault request sent by the source node, wherein the fault request comprises information of a fault node in a first RTT path from the source node to the target node;
the server calculates a second RTT path from the source node to the target node according to the fault request and the DAG, wherein the second RTT path does not comprise the fault node;
the server sends the second control instruction to the source node, the second control instruction including information of a second RTT path from the source node to the target node.
A second aspect of the present application provides a server, which may include:
the receiving and transmitting module is used for receiving an access request sent by a source node from the source node to a target node;
the processing module is used for constructing a directed acyclic graph DAG from the source node to the target node according to the access request and the data of each node; calculating a first shortest round trip time RTT path from the source node to the destination node according to the DAG;
the transceiver module is further configured to send a first control instruction to the source node, where the first control instruction includes information of a first RTT path from the source node to the target node.
Optionally, the data of each node includes round trip time RTT data of each node, and geographical location information of each node.
Optionally, the DAG is constructed in descending or ascending order according to the latitude of the geographic location.
Optionally, the information of the first RTT path from the source node to the destination node includes: address information of each node in a first RTT path from the source node to the destination node.
Optionally, the transceiver module is further configured to receive a failure request sent by the source node, where the failure request includes information of a failed node in a first RTT path from the source node to the target node;
the processing module is further configured to calculate a second RTT path from the source node to the destination node according to the failure request and the DAG, where the second RTT path does not include the failure node;
the transceiver module is further configured to send the second control instruction to the source node, where the second control instruction includes information of a second RTT path from the source node to the target node.
A third aspect of the present application provides a server, which may include:
a memory storing executable program code;
a processor and transceiver coupled to the memory;
the processor invokes the executable program code stored in the memory for the processor and the transceiver to perform the method according to the first aspect of the present application.
Yet another aspect of the present application provides a computer readable storage medium comprising instructions which, when run on a processor, cause the processor to perform the method as described in the first aspect of the present application.
In a further aspect, a computer program product is disclosed which, when run on a computer, causes the computer to perform the method according to the first aspect of the present application.
In yet another aspect, the invention discloses an application publishing platform for publishing a computer program product, wherein the computer program product, when run on a computer, causes the computer to perform the method according to the first aspect of the application.
From the above technical solutions, the embodiments of the present application have the following advantages:
in the embodiment of the application, a server receives an access request from a source node to a target node, wherein the access request is sent by the source node; the server constructs a directed acyclic graph DAG from the source node to the target node according to the access request and the data of each node; the server calculates a first shortest Round Trip Time (RTT) path from the source node to the target node according to the DAG; the server sends a first control instruction to the source node, the first control instruction including information of a first RTT path from the source node to the target node. The method is used for the Overlay virtual link, so that not only can the state change in the real network be avoided, but also the calculation routing overhead can be reduced, and the routing scheduling efficiency is improved.
Detailed Description
The embodiment of the application provides a scheduling method, a server and a storage medium for dynamic routing of an Overlay virtual link, which are used for the Overlay virtual link, so that not only can state change in a real network be avoided, but also the calculation routing overhead can be reduced, and the routing scheduling efficiency is improved.
In order for those skilled in the art to better understand the present application, the following description will describe embodiments of the present application with reference to the accompanying drawings, and it is apparent that the described embodiments are only some embodiments of the present application, not all embodiments. Based on the examples in this application, all shall fall within the scope of protection of this application.
As is well known, in reality, network conditions of physical environments (such as the conditions that nodes map and change in an enterprise intranet, node NAT (Network Address Translation, network address translation), public network IP (Internet Protocol ) change, and the like) are complex and variable, and these changes bring many challenges to network security and stable transmission and routing, while network virtualization technology establishes an application layer network above an original physical network, and shows network resources in a software quantization manner, so that a data center does not need to care how actual network devices are interconnected, how the network configuration is performed, and only care about ports and bandwidths that can be provided can complete service deployment. In recent years, overlay networks gradually become the mainstream technology of future data center networks, and represent the development direction of data center network technologies.
In addition, the routing algorithm is classified into a static routing algorithm and a dynamic routing algorithm. Static routing algorithms are simple and low overhead, but cannot accommodate changes in network state. The dynamic routing algorithm is a self-adaptive routing algorithm, and is decision-making by means of the state information of the current network, so that the routing result is suitable for the change of the network topology structure and the traffic to a certain extent, but the implementation is complex, and the cost is high. Thus, reducing the computational overhead of dynamic routing is a challenge.
The existing dynamic routing scheduling method generally calculates the shortest RTT (Round-Trip Time) between physical nodes to achieve the purpose of routing scheduling, and in reality, due to the complex condition of the network environment, the situation that a routing line is not through and a routing loop is scheduled in the whole routing scheduling process may occur, thereby affecting the whole routing efficiency.
The main problems existing in the prior art are:
the network condition change of the real physical node can cause the routing scheduling to have misjudgment and the routing is not passed and the scheduling loop is generated. The undirected node network data topology structure has long time for calculating the shortest route.
Aiming at the problems, the embodiment of the application provides a DAG-based Overlay virtual link dynamic route scheduling method which is applied to the Overlay virtual link, so that not only can the state change in a real network be avoided, but also the calculation route overhead can be reduced, and the route scheduling efficiency is improved.
Directed acyclic graphs (Directed Acyclic Graph, DAG) are one type of directed graph that is often used to represent driving dependencies between events, managing scheduling between tasks. As shown in fig. 1, a schematic diagram of the topological ordering of the directed acyclic graph. "directed" of the directed acyclic graph means that there is the same direction, and "acyclic" means that the graph is not closed loop, and from any node in the graph, the graph that cannot return to the original node according to the direction is called the directed acyclic graph.
In the following, by way of example, the technical solution of the present application is further described, as shown in fig. 2, which is a schematic diagram of one embodiment of a scheduling method for Overlay virtual link dynamic routing in the embodiment of the present application, and may include:
201. and the server receives an access request from the source node to the target node, wherein the access request is sent by the source node.
Prior to step 201, the method further comprises: the source node sends an access request from the source node to the target node to the server.
Exemplary, as shown in fig. 3, another embodiment of a scheduling method for dynamic routing of Overlay virtual links in an embodiment of the present application is shown. The user terminal wants to access the target service, initiates an access request, and requests to reach the exit source node A (for example, the source node A can be deployed in an external network or an enterprise intranet environment) to initiate a route access request for accessing the target node towards a central dispatching center, namely, a server.
202. The server constructs a directed acyclic graph DAG from the source node to the target node according to the access request and the data of each node.
Optionally, the data of each node includes round trip time RTT data of each node, and geographical location information of each node.
Optionally, the DAG is constructed in descending or ascending order according to the latitude of the geographic location.
Illustratively, after the central scheduling center receives the request, each transit node constructs an ordered acyclic graph DAG data structure (e.g., according to a direction of increasing dimension) according to the geographic positions of the source node a and the target node B, and in addition, each node periodically reports RTT time data to the central scheduling center.
203. The server calculates a first shortest round trip time, RTT, path from the source node to the destination node based on the DAG.
Optionally, the server calculates a first shortest round trip time RTT path from the source node to the destination node according to the DAG and round trip time RTT data of each node.
Optionally, the information of the first RTT path from the source node to the destination node includes: address information of each node in a first RTT path from the source node to the destination node.
Illustratively, the central scheduling center performs shortest RTT routing calculation according to the DAG, and assumes that a shortest RTT routing path is: source node a→pop1 (Point-of-Presence 1, point of Presence 1) →pop4→target node B.
204. The server sends a first control instruction to the source node, the first control instruction including information of a first RTT path from the source node to the target node.
And the source node receives a first control instruction sent by the server.
Illustratively, the central dispatch center issues control instructions (e.g., containing node address information for shortest path traversal) to source node a.
205. And the source node performs data communication with the target node according to the path information of the shortest round trip time.
Illustratively, the source node a finally reaches the target node B to access the target service according to the information of the first RTT path in the control command.
Optionally, the method may further include:
the server receives a fault request sent by the source node, wherein the fault request comprises information of a fault node in a first RTT path from the source node to the target node;
the server calculates a second RTT path from the source node to the target node according to the fault request and the DAG, wherein the second RTT path does not comprise the fault node;
the server sends the second control instruction to the source node, the second control instruction including information of a second RTT path from the source node to the target node.
It will be appreciated that if a node of the first RTT path fails, the central scheduling centre will recalculate the RTT path, referred to as the second RTT; and then issuing a new control instruction to bypass the fault node, so that the smoothness of the whole line is ensured. I.e. the first RTT is the shortest path selected among paths including the failed node, and the second RTT is the shortest path selected among paths not including the failed node.
It should be noted that, the concept of DAG is applied to the Overlay virtual link, and the DAG graph is constructed based on the geographical location of the node, so as to improve the calculation efficiency of the shortest RTT route. In the prior art, for example, POP1 would mutually detect with all other nodes, and the shortest route has high computational complexity. The method adopts the idea of DAG, so that POP1 only mutually detects with P0P2, POP4 and POP6, and the shortest route is calculated faster while less detection quantity is adopted.
The application provides a DAG-based Overlay virtual link dynamic routing scheduling method. When a source node of an enterprise external/internal network initiates an access request to a target node, a central dispatching center constructs a directed acyclic graph DAG from the source node to the target node according to the descending or ascending order of the latitude of the geographic position through real-time collected node data (including RTT data and the geographic position (such as an edge node, a transit node and the target node) of the node, and after the DAG is constructed, the central dispatching center calculates the path of the shortest RTT according to the DAG.
In the embodiment of the application, a server receives an access request from a source node to a target node, wherein the access request is sent by the source node; the server constructs a directed acyclic graph DAG from the source node to the target node according to the access request and the data of each node; the server calculates a first shortest Round Trip Time (RTT) path from the source node to the target node according to the DAG; the server sends a first control instruction to the source node, the first control instruction including information of a first RTT path from the source node to the target node. The method is used for the Overlay virtual link, so that not only can the state change in the real network be avoided, but also the calculation routing overhead can be reduced, and the routing scheduling efficiency is improved.
As shown in fig. 4, which is a schematic diagram of an embodiment of a server in an embodiment of the present application, may include:
a transceiver module 401, configured to receive an access request sent by a source node from the source node to a target node;
a processing module 402, configured to construct a directed acyclic graph DAG from the source node to the target node according to the access request and each node data; calculating a first shortest round trip time RTT path from the source node to the destination node according to the DAG;
the transceiver module 402 is further configured to send a first control instruction to the source node, where the first control instruction includes information of a first RTT path from the source node to the target node.
Optionally, the data of each node includes round trip time RTT data of each node, and geographical location information of each node.
Optionally, the DAG is constructed in descending or ascending order according to the latitude of the geographic location.
Optionally, the information of the first RTT path from the source node to the destination node includes: address information of each node in a first RTT path from the source node to the destination node.
Optionally, the transceiver module 401 is further configured to receive a failure request sent by the source node, where the failure request includes information of a failed node in the first RTT path from the source node to the destination node;
a processing module 402, configured to further calculate a second RTT path from the source node to the destination node according to the failure request and the DAG, where the second RTT path does not include the failure node;
the transceiver module 401 is further configured to send the second control instruction to the source node, where the second control instruction includes information of a second RTT path from the source node to the target node.
As shown in fig. 5, which is a schematic diagram of another embodiment of the server in the embodiment of the present application, may include:
a memory 501 in which executable program codes are stored;
a processor 502 and a transceiver 503 coupled to the memory 501;
a transceiver 503, configured to receive an access request sent by a source node from the source node to a target node;
processor 502 invokes the executable program code stored in memory 501 for constructing a directed acyclic graph, DAG, from the source node to the target node based on the access request and respective node data; calculating a first shortest round trip time RTT path from the source node to the destination node according to the DAG;
the transceiver 503 is further configured to send a first control instruction to the source node, where the first control instruction includes information of a first RTT path from the source node to the target node.
Optionally, the data of each node includes round trip time RTT data of each node, and geographical location information of each node.
Optionally, the DAG is constructed in descending or ascending order according to the latitude of the geographic location.
Optionally, the information of the first RTT path from the source node to the destination node includes: address information of each node in a first RTT path from the source node to the destination node.
Optionally, the transceiver module 503 is further configured to receive a failure request sent by the source node, where the failure request includes information of a failed node in the first RTT path from the source node to the destination node;
a processing module 502, further configured to calculate a second RTT path from the source node to the destination node according to the failure request and the DAG, where the second RTT path does not include the failure node;
the transceiver module 503 is further configured to send the second control instruction to the source node, where the second control instruction includes information of a second RTT path from the source node to the target node.
In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product.
The computer program product includes one or more computer instructions. When loaded and executed on a computer, produces a flow or function in accordance with embodiments of the present invention, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by a wired (e.g., coaxial cable, fiber optic, digital subscriber line (Digital Subscriber Line, DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer readable storage medium may be any available medium that can be stored by a computer or a data storage device such as a server, data center, etc. that contains an integration of one or more available media. The usable medium may be a magnetic medium (e.g., a floppy Disk, a hard Disk, a magnetic tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a Solid State Disk (SSD)), or the like.
It will be clear to those skilled in the art that, for convenience and brevity of description, specific working procedures of the above-described systems, apparatuses and units may refer to corresponding procedures in the foregoing method embodiments, which are not repeated herein.
In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods may be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of the units is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in each embodiment of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be embodied in essence or a part contributing to the prior art or all or part of the technical solution in the form of a software product stored in a storage medium, including several instructions to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
The above embodiments are merely for illustrating the technical solution of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit and scope of the corresponding technical solutions.