CN113904974A - Intelligent routing method, device and equipment - Google Patents
Intelligent routing method, device and equipment Download PDFInfo
- Publication number
- CN113904974A CN113904974A CN202111177669.4A CN202111177669A CN113904974A CN 113904974 A CN113904974 A CN 113904974A CN 202111177669 A CN202111177669 A CN 202111177669A CN 113904974 A CN113904974 A CN 113904974A
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- client
- information
- target access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000004891 communication Methods 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 description 33
- 230000008569 process Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 14
- 230000008859 change Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 230000036541 health Effects 0.000 description 10
- 238000004519 manufacturing process Methods 0.000 description 5
- 238000005314 correlation function Methods 0.000 description 4
- 238000013441 quality evaluation Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000010355 oscillation Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 241001123248 Arma Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- YHXISWVBGDMDLQ-UHFFFAOYSA-N moclobemide Chemical compound C1=CC(Cl)=CC=C1C(=O)NCCN1CCOCC1 YHXISWVBGDMDLQ-UHFFFAOYSA-N 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The embodiment of the invention relates to the technical field of network routing, and discloses an intelligent routing method, device and equipment, wherein the method comprises the steps of obtaining a connection request of a client; determining a target access node according to the connection request, and establishing the connection between the client and the target access node; predicting the predicted load information of each node according to the resource use condition information of each node in the global topology; determining the shortest path for forwarding the connection request of the client from the target access node to each arrival node in the global topology according to the predicted load information; and forwarding the connection request of the client from the target access node to the arrival node according to the shortest path, so as to avoid the high-load node and greatly improve the efficiency of forwarding the media stream.
Description
Technical Field
The embodiment of the invention relates to the technical field of network routing, in particular to an intelligent routing method, device and equipment.
Background
WebRTC is the API standard supporting web browser to make real-time voice conversation or video conversation, and a plurality of open source projects are provided to support the construction of enterprise-level conference and live broadcast system. At present, the WebRTC system architecture mainly includes three types, namely Mesh/mcu (multipoint Control unit)/sfu (selective Forwarding unit), where the Mesh architecture allows nodes to form a complete p2p network, but cannot support online systems with a large number of people; the MCU framework allows all nodes to access a centralized media server, and the media server completes complex logics such as coding, transcoding, decoding, mixing and the like, so that the MCU generally has overlarge pressure and is not beneficial to rapid expansion; the SFU still has a central node server, but the core idea is to minimize the server logic processing and only take charge of the forwarding of the media stream data. Therefore, the WebRTC uses the SFU architecture as the current mainstream selection, and meanwhile, the SFU architecture can form an edge-to-edge cascade mode by deploying redundant forwarding nodes, so that a client can access the system according to the principle of proximity, and media streams can be transmitted through an optimal path in a route selection forwarding mode, thereby facilitating the expansion of large conferences and live broadcast systems.
The conventional WebRTC technology based on the SFU architecture generally adopts a route calculation method based on link quality. Routing information guides forwarding paths of network data packets transmitted in a network, and a lot of work is focused on researching an optimal routing method based on link distances, wherein the link distances have different evaluation methods under different scenes, such as data stream forwarding scenes and the like. For different evaluation methods, for example, indexes such as packet loss rate, available bandwidth and delay jitter of a link are converted into link distances between nodes, and then the shortest path is calculated through algorithms such as Dijkstra. Furthermore, the purpose of route load balancing is achieved by dynamically updating distance information of different links, setting a standby forwarding link and the like.
The inventor of the application finds in research that when routing is performed, the optimal forwarding node is determined only according to the current link distance, a scheduling delay phenomenon occurs, and a routing path cannot fast and effectively avoid the forwarding node with an excessively high load in a WebRTC node cascade scene.
Disclosure of Invention
In view of the above problems, embodiments of the present invention provide an intelligent routing method, apparatus and device, which are used to solve the problem that forwarding nodes with too high load cannot be avoided in the prior art.
The embodiment of the application provides an intelligent routing method, which is applied to a WebRTC node cascade network and comprises the following steps:
acquiring a connection request of a client;
determining a target access node according to the connection request, and establishing the connection between the client and the target access node; the target access node is any one of a plurality of nodes in a global topology;
predicting the predicted load information of each node according to the resource use condition information of each node in the global topology;
determining a shortest path for forwarding a connection request of the client from the target access node to each arrival node in the global topology according to the predicted load information;
and forwarding the connection request of the client from the target access node to the arrival node according to the shortest path.
Preferably, the predicting load information of each node according to the resource usage status information of each node in the global topology includes: determining the historical load condition of each node according to the resource use condition information of each node; constructing a historical load condition sequence of each node according to the historical load conditions; and determining the predicted load information of each node according to the historical load condition sequence of each node and a preset prediction model.
Preferably, the determining, according to the predicted load information, the shortest path for forwarding the connection request of the client from the target access node to the destination node according to the shortest path includes: acquiring link distance between the nodes; determining the node distance between the nodes according to the predicted load information of the nodes and the link distance between the nodes; and determining the shortest path of each target access node forwarded to the arrival node according to the node distance.
Preferably, the determining the predicted load information of each node according to the historical load condition sequence of each node and a preset prediction model includes: acquiring the number of sub-topologies where each node is located, the number of connections established by each node and the upper limit of preset service resources of the node; and inputting the historical load condition sequence of each node, the number of sub-topologies where each node is located, the number of connections established by each node and the upper limit of the preset service resource of the node into the preset prediction model to obtain a node load prediction sequence.
Preferably, the determining the predicted load information of each node according to the historical load condition sequence of each node and a preset prediction model includes: when the service resource of the node is more than or equal to the preset service resource upper limit of the node or the sub-topology number of the node is more than or equal to the maximum sub-topology bearing number, the predicted load information of the node is full load; and when the service resource of the node is smaller than the preset service resource upper limit of the node or the sub-topology number of the node is smaller than the maximum sub-topology bearing number, the predicted load information of the node is the node load prediction sequence.
Preferably, the determining a node distance between the nodes according to the predicted load information of each node and the link distance between the nodes includes: acquiring a middle node set among the nodes and increment factors of the nodes; and determining the node distance between the nodes according to the predicted load information of the nodes, the link distance between the nodes, the intermediate node set and the increment factor.
The embodiment of the present application further provides an intelligent routing apparatus, including:
the first acquisition module is used for acquiring a connection request of a client;
a first determining module, configured to determine a target access node according to the connection request, and establish a connection between the client and the target access node; the target access node is any one of a plurality of nodes in a global topology;
the prediction module is used for predicting the predicted load information of each node according to the resource use condition information of each node in the global topology;
a second determining module, configured to determine, according to the predicted load information, a shortest path for forwarding a connection request of the client from the target access node to each of the arrival nodes in the global topology;
and the forwarding module is used for forwarding the connection request of the client from the target access node to the arrival node according to the shortest path.
An embodiment of the present application further provides an electronic device, including: the system comprises a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface complete mutual communication through the communication bus;
the memory is used for storing at least one executable instruction, and the executable instruction causes the processor to execute the intelligent routing method.
The embodiment of the present application further provides a computer-readable storage medium, where at least one executable instruction is stored in the storage medium, and when the executable instruction runs on an electronic device, the electronic device is enabled to execute the intelligent routing method.
According to the intelligent routing method provided by the embodiment of the application, the predicted load information of the nodes and the link distance between the nodes are generated by adopting the prediction model based on the historical load condition sequence of the nodes, so that the routing calculation can be effectively carried out, the shortest path is generated, the high-load nodes are avoided, and the efficiency of forwarding the media stream is greatly improved.
The foregoing description is only an overview of the technical solutions of the embodiments of the present invention, and the embodiments of the present invention can be implemented according to the content of the description in order to make the technical means of the embodiments of the present invention more clearly understood, and the detailed description of the present invention is provided below in order to make the foregoing and other objects, features, and advantages of the embodiments of the present invention more clearly understandable.
Drawings
The drawings are only for purposes of illustrating embodiments and are not to be construed as limiting the invention. Also, like reference numerals are used to refer to like parts throughout the drawings. In the drawings:
FIG. 1 shows a schematic diagram of an application network architecture of an embodiment of the present invention;
FIG. 2 is a schematic diagram of another application network architecture according to an embodiment of the present invention;
fig. 3 is a flow chart of an intelligent routing method according to an embodiment of the present invention;
fig. 4 is a diagram illustrating an application example of the intelligent routing method according to the embodiment of the present invention;
fig. 5 is a schematic diagram of an intelligent routing apparatus according to an embodiment of the present invention;
fig. 6 is a schematic diagram of an intelligent routing apparatus according to another embodiment of the present invention;
fig. 7 is a schematic diagram illustrating an interaction flow between an intelligent routing apparatus and a client and between nodes according to an embodiment of the present invention;
fig. 8 is a timing diagram illustrating a process of routing scheduling and node media stream forwarding performed by the provided intelligent routing apparatus according to an embodiment of the present invention;
fig. 9 is a flowchart illustrating the operation of the intelligent routing system according to another embodiment of the present invention;
fig. 10 shows a flow chart of intelligent route update proposed by an embodiment of the present invention;
fig. 11 shows a schematic diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
Exemplary embodiments of the present invention will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the invention are shown in the drawings, it should be understood that the invention can be embodied in various forms and should not be limited to the embodiments set forth herein.
WebRTC is currently becoming widely recognized as a standard for low latency live technologies. And based on the realization of the SFU architecture, the system can quickly expand the connection mode of multi-node cascade, and provides a low-delay near access function for users in a cross-region scene through a node forwarding mode. However, in the current SFU cascading scheme, the relay forwarding function is mostly realized in a manual physical configuration manner, and an intelligent routing function at an application level is lacked, so that the requirement of selecting an optimal forwarding path when a link state changes cannot be met.
Meanwhile, a route calculation method based on link quality usually calculates route information only based on the current link distance, and unlike network layer forwarding devices such as a router, SFU forwards a media service data stream, which often cannot avoid its load from being too high directly through strategies such as discarding. When the SFU has too high loads such as memory and CPU, if routing is simply performed based on the link distance, it is easy to have a short routing path distance but cover a forwarding node with a high load. Meanwhile, the WebRTC connection has high dynamics, and when the number of the node access connections changes, the media stream often occupies a network bandwidth in a delayed manner, which causes hysteresis of a link state, so that a scheduling hysteresis phenomenon is difficult to avoid only according to a current link distance, and a routing path cannot be quickly and effectively avoided from a forwarding node with an excessively high load in a WebRTC node cascade scenario.
The intelligent routing method, device, equipment and system provided by the embodiment of the application are applied to a WebRTC node cascade scene, can provide an intelligent routing function of a global topology, can dynamically update link distances according to the quality of cascaded links and the predicted load conditions of all nodes, can avoid congested media forwarding links, can accurately avoid high-load nodes, routes data streams to an optimal link for media stream forwarding, and enhances user experience.
Fig. 1 is a schematic diagram illustrating an application environment of the intelligent routing method, apparatus, device, and system according to an embodiment of the present application. In the network structure deployment of the WebRTC node cascade, nodes in different areas can play the role of SFUs and are in the same enterprise network. The client node may have nearby access to the nearest node in the area a/B/C through network metrics for the production or consumption of the media stream. In this deployment example, all nodes are accessible nodes, i.e., the client may directly establish direct connections with all nodes.
Fig. 2 is a schematic diagram illustrating another application environment of the intelligent routing method, apparatus, device, and system according to the embodiment of the present application, and the intelligent routing method, apparatus, device, and system is composed of an access node, a relay node, and an arrival node. In the data forwarding process, the client passes through the relay node from the access node and is finally sent to the arrival node. The access node is a node which establishes connection with the client and forwards a link request or media stream data sent by the client; an arriving node refers to a node that receives a link request or media stream data sent by one client from a node in the topology to another client connected to the arriving node. That is, the access node and the arrival node define corresponding changes according to the flow direction of data, and an arrival node may be substantially an access node. Except for an access node and an arrival node, relay SFU node groups (comprising a plurality of relay nodes) can be deployed in different areas, namely a client does not directly establish direct connection with the relay nodes, the relay nodes only complete routing forwarding of media stream data and forward a link request or the media stream data of the client to the arrival node, and the arrival node is a node corresponding to application data such as conferences and rooms needing to be accessed by the client in the global topology. Taking fig. 2 as an example, in the implementation process of the present invention, the SFU node is consistent with the example of fig. 2, and has two role identities of an access node and a relay node. The access node is directly connected with the client to complete the functions of production acquisition, coding, transcoding, decoding, mixing, forwarding and the like of the media stream, and equipment with a high-performance processor can be deployed in the specific implementation process; the relay node only establishes connection with the access node, the arrival node or other relay nodes, and mainly completes the routing forwarding function of the media stream, wherein the routing information is actively acquired from the intelligent routing equipment at regular time by the relay node, or receives the routing notification.
Fig. 3 illustrates an intelligent routing method proposed in an embodiment of the present application, including:
step 101: and acquiring a connection request of the client.
The client initiates a connection request, wherein the connection request comprises sub-topology information in the global topology to be accessed and a connection requirement for a target access node. In the embodiment of the invention, the sub-topology is one of the global topologies and represents application data of a conference, a room and the like to be accessed. The demand is an index set including performance requirements for the target access node. For example, the connection requirements for the target access node may include, but are not limited to, the following:
requirement={delay≤100ms,bandwidth≥10Mbps,droprate<1%...}
the index representation requires that the target access node needs to meet the requirements that the time delay is less than 100ms, the bandwidth is greater than 10Mbps, and the link packet loss rate is less than 1%.
Step 102: and determining a target access node according to the connection request, and establishing the connection between the client and the target access node.
The target access node is any one of a plurality of nodes in the global topology. According to the connection requirement of the client to the target access node, the candidate list of the access node can be inquired and determined in the global topology. Wherein, the candidate list of access nodes satisfying the condition of matched filtering is marked as C ═ C1,...,Ci,...,Cn}. Wherein, element CiThe connection information representing the access node includes IP, Port, Protocol type. In a specific embodiment of the present invention, the Protocol type Protocol may use Interactive Connectivity Establishment (ICE) to complete the hole-making connection from the client to the target access node. And after receiving the access node candidate list C, the client selects a target access node from the access node candidate list C, and establishes the connection between the client and the target access node according to the selected target access node.
In the embodiment of the invention, after the connection between the client and the target access node is established, the information of the target access node selected by the client is acquired, and the target access node is waited to report the actual access condition of the client and the target access node, wherein the actual access condition comprises the connection state of the corresponding sub-topology and the node health state. And the target access node reports the actual access condition through heartbeat.
Step 103: and predicting the predicted load information of each node according to the resource use condition information of each node in the global topology.
In the embodiment of the invention, the step of predicting the predicted load information of each node comprises the following steps:
step 301: and determining the historical load condition of each node according to the resource use condition information of each node.
Each node can report the resource use condition information at regular time, wherein the resource use condition information comprises hardware resource use condition information and service resource use condition information, so that the hardware resource use condition information and the service resource use condition information of each node can be obtained. Specifically, the hardware resource usage information of the node includes: the node CPU resource usage status, the memory resource usage status, the bandwidth resource usage status and the like are used for reflecting the load status of the current node. The service resource usage information includes the device access number and the data link number, etc., for reflecting the importance level of the current node in the service, and for assisting the logic control of the service system, for example: when the access number of the equipment is greater than the preset maximum threshold value, the access request of the corresponding client is not accepted any more; when the neighbor node goes down, the routing redirection of the data stream needs to establish the latest neighbor path of the data link carried by the current node, so as to ensure the availability of the service.
Step 302: and constructing a historical load condition sequence of each node according to the historical load conditions.
Firstly, determining the historical load condition sequence of each node according to the hardware resource use condition information and the service resource use condition information of each node.
Recording the historical load condition of each node as alphacurIn which α iscurE (0,1), the historical load condition of the current node can be calculated by the following formula:
wherein, ciCore utilization of the ith CPU representing a node, N representing the total number of CPUs for the node, MuRepresenting used physical memory, MtRepresenting the total amount of physical memory, NCuRepresenting used network bandwidth, NCmaxRepresenting the desired maximum network bandwidth, θc,θm,θncWeight factors representing CPU, memory and network bandwidth respectivelySub, and θc+θm+θnc=1。
In a specific implementation process, different weight factors can be configured for different nodes, so that the intelligent routing calculation is ensured to selectively skip nodes with high loads of hardware resources. For example, configuring relay nodes with a larger θncThe network bandwidth of the relay node belongs to important hardware resources in the media stream forwarding process, and the high load of the resources needs to be skipped mainly; for another example: configuring access nodes with a larger thetacOr thetamThe access node is required to perform operations such as encoding, transcoding, mixing and the like on the media stream generated by the terminal, so that the routing calculation should avoid accessing the node with high CPU and memory load.
And then, constructing a historical load condition sequence of each node according to the historical load conditions corresponding to each historical moment. Wherein alpha at different timescurForming a historical load condition sequence of each node load, and based on the historical load condition alpha of the nodescurConstructing a sequence of historical load conditions alphahistory={αcur-T,αcur-T+1,...,αcur-1,αcurWhere T is the longest life time of the historical data sequence.
Step 303: and determining the predicted load information of each node according to the historical load condition sequence of each node and a preset prediction model.
Acquiring the number of sub-topologies where each node is located, the number of connections established by each node, and a preset service resource upper limit of the node; and inputting the historical load condition sequence of each node, the number of sub-topologies where each node is located, the number of connections established by each node and the upper limit of the preset service resource of the node into the preset prediction model to obtain a node load prediction sequence.
When the service resource of the node is more than or equal to the preset service resource upper limit of the node or the sub-topology number of the node is more than or equal to the maximum sub-topology bearing number, the predicted load information of the node is full load; and when the service resource of the node is smaller than the preset service resource upper limit of the node or the sub-topology number of the node is smaller than the maximum sub-topology bearing number, the predicted load information of the node is the node load prediction sequence.
Specifically, before determining the predicted load information of each node according to the historical load condition sequence of each node and a preset prediction model, a prediction model M needs to be constructed in advance, wherein the prediction model M can use linear models such as ARMA/ARIMA and the like, and can also use a depth model with memory capacity such as LSTM and the like for the prediction model M to be used based on the historical load condition sequence alphahistoryGenerating a predicted sequence value alpha for future node loadspre。
The input of the prediction model M comprises:
historical load condition sequence alphahistory: representing the historical load condition of the node, each value belonging to the interval (0, 1);
number of sub-topologies where the node is located, SubTopoNum: the node is an integer and is used for reflecting the importance degree of the node in the global scope;
the number of connections established by the node, TransNum: the number is an integer and is used for reflecting the number of the forwarding media streams established by the node;
the preset service resource upper limit TransMax of the node is as follows: the vector is used for reflecting the quantity value of the contained maximum connecting media flow pipeline;
the output of the predictive mathematical model M includes:
predicted load sequence of nodesAnd t is the current moment, N is the time length of the prediction sequence, N is more than or equal to 1, the node load condition after N load measurement periods is predicted and output is represented, and the load condition of the future SFU nodes in the media stream forwarding process is comprehensively evaluated according to the positions, the connection condition and the load condition of the nodes in the global topology.
The formalization is represented as:
in the above formula, when the number TransNum of the connections established by the node is greater than the maximum number TransMax of the connections allowed by the node, the alpha is directly outputpre={1}N(ii) a Or, when the sub-topology number SubTopoNum is greater than the maximum sub-topology carrying number SubTopoMax, directly outputting alphapre={1}N. When the upper limit of the available resources is in the available state, the model outputs alphapreIs inversely related to the amount of available resources.
The prediction model M not only considers a historical load condition sequence, but also reflects the importance degree of the nodes in the global scope through two indexes, namely the number of the node connections TransNum and the number of the sub-topologies of the nodes, such as the nodes with more node connections and sub-topologies, which can be regarded as important nodes.
Further, when the predicted load information α is outputted by the prediction model MpreThen, in order to prevent the accumulated error from affecting the load of the node actually used for the scheduling calculation, in the embodiment of the present application, the predicted load information α of the node is further providedpreAnd (3) carrying out error elimination, wherein the predicted load information alpha after the error elimination is as follows:
where t is the current time, phiiIs an inverse proportional function, decays as i increases, reduces the accumulated error due to the prediction time span, and phiiE (0, 1). Of course, in practice, phi may be used, but is not limited toiAnd (4) reducing the influence of the prediction accumulated error with larger time span on the node load prediction at the current moment as an inverse proportional function similar to 1/i.
Step 104: and determining the shortest path for forwarding the connection request of the client from the target access node to each arrival node in the global topology according to the predicted load information.
In the embodiment of the present invention, the step of determining the shortest path includes:
step 401: and acquiring the link distance between the nodes in the global topology. In the embodiment of the present invention, the link distance between each node on each link for forwarding the connection request of the client from the target access node to each arrival node in the global topology may be calculated. Specifically, the method comprises the step of calculating the link distance between the nodes by acquiring link quality information, whereinRepresenting link quality information as a multi-dimensional vector, xiIs an element corresponding to each dimension, including<Time delay, jitter, packet loss rate, frame rate of media stream, number of connections of link carrying media stream channel>And so on.
The link distance d between each node is:
wherein,is a negative correlation function with respect to link quality, according toSpecific value x of each dimension elementiSumming the corresponding distance values fi(xi) And converted into a link distance.
As can be seen from the above formula, the higher the link quality, the shorter the link distance d between the nodes. For example: for xiScenario of packet loss rate, fi(xi)=davg*xiWherein d isavgIs the average distance between nodes, so the distance sub-term fi(xi) The link quality is reduced, namely the higher the packet loss rate is, the larger the link distance is; for xiScene of media stream frame rate, fi(xi) It may be a piecewise function of frame rate, e.g. xi=50fps,fi(xi)=s1;xi=30fps,fi(xi)=s2Wherein s is1<s2I.e., the high frame rate link has a high quality and is shorter than the low frame rate link distance under the same conditions.
Step 402: and determining the node distance between the nodes according to the predicted load information of the nodes in the global topology and the link distance between the nodes in the global topology.
Through the steps, the predicted load information alpha of the nodes in the global topology is obtainedpreAnd after the link distance d between each node in the global topology, acquiring an intermediate node set between each node and an incremental factor of each node, wherein the intermediate node set between each node in the embodiment of the present invention may refer to a set of nodes included between any two nodes in the global topology, such as a set of intermediate nodes on each link between an access node and a reach node; and determining the node distance between the nodes according to the predicted load information of the nodes, the link distance between the nodes, the intermediate node set and the increment factor. Specifically, the node distance D between the nodes can be calculated by the following formulauv:
Wherein u and v represent different nodes respectively, and { u-v } represents a set of intermediate nodes on a path from the node u to the node v; such as: link uABv, then { u-v } ═ a, B }. Therefore, the temperature of the molten metal is controlled,the u and v nodes are directly connected, and the node distance is the link distance duv(ii) a When in useThen, for i e { u-v }, di-1,iAnd di,i+1Are respectively provided withIndicating the link distances from the ith node to the previous and next nodes.
g(αi) An incremental factor provided for the load condition of node i, of andia negative correlation function of correlation, and g (α)i)∈(0,1]. In a specific implementation, g (. alpha.) isi) Can be calculated according to, but not limited to, the following formula:
g(αi)=-ωiln(αi)
wherein, -ln (alpha)i) Is about alphaiWhen a is a negative correlation function ofiE (0,1), g (. alpha.)i)>0 and with aiIs increased and decreased; at the same time, when g (. alpha.) isi)>When 1, let g (alpha)i)=1。
ωiIs an adjusting factor, and can adjust omega in the actual using processiTo adjust the node distance DuvCalculating a load condition alpha for a node iiThe sensitivity of (2). E.g. decrease ωiWill increase DuvWith respect to the load sensitivity of node i, only the load α is present at this timeiWhen the node distance is lower, the node distance can meet Duv=duvAnd the potential performance hazard caused by the fact that the bypass route comprises a high-load relay node in the route calculation process can be effectively avoided.
Step 403: and determining the shortest path among the nodes according to the node distance.
Based on the node distance D between the nodes determined in the above stepsuvBy the shortest path calculation method, the shortest path between two nodes and the relay node information on the corresponding path can be calculated, so that the shortest path for forwarding the connection request of the client from the target access node to the destination node can be obtained. The shortest path calculation method has various methods, including but not limited to, the method based on the node distance D between the nodesuvThe Dijkstra algorithm of the variant of the present invention is used to calculate the shortest path between nodes, and the shortest path algorithm is a general algorithm and will not be described herein again.
Step 105: and forwarding the connection request of the client from the target access node to the arrival node according to the shortest path.
After the shortest path is obtained, the connection request of the client can be forwarded from the target access node to the arrival node according to the shortest path.
According to the embodiment, the intelligent routing method provided by the embodiment of the application determines the node distance by adopting the prediction model to generate the prediction load information of the nodes and the link distance between the nodes based on the historical load condition sequence of the nodes, can effectively perform routing calculation, generates the shortest path, avoids the high-load nodes, and greatly improves the efficiency of forwarding the media stream.
Fig. 4 is a diagram illustrating an application example of the intelligent routing method according to the embodiment of the present application, and is a schematic diagram illustrating global path information management and node management of a sub-topology. The intelligent routing method provided by the application implements a two-layer control system of global path management and sub-topology node management, specifically, the sub-topology corresponds to entities such as a specific video conference room, a live broadcast room and the like, and the global path information management manages the health condition, the link quality, the distance information, the shortest path between nodes and the like of the nodes.
As shown in fig. 4, in the intelligent routing method proposed in the embodiment of the present application, in a global management level, firstly, by using the above intelligent routing method, based on hardware resource usage status information and service resource usage status information of a node, predicted load information α of each node, a link distance between nodes, and the like are determined, and as shown in fig. 4, predicted load information α of a node E is 0.41, and a link distance with a node a is 5; the predicted load information α of the node a is 0.56, the link distance to the node B is 1, and the shortest path set is generated from the information. In each sub-topology graph, there are sub-topologies where no relay node exists, such as the lower left graph in fig. 4, and there are sub-topologies where a relay node exists, such as the lower right graph in fig. 4. And when the relay node does not exist in each sub-topology, the client is directly connected with the node to distribute the media stream. When a relay node exists in each sub-topology, for example: e to node B, as shown in fig. 4, there are multiple paths from E to node B, such as: E-A-B, E-D-B, E-D-C-B, etc., by the formulaAnd calculating the node distance between the nodes EB, and determining the shortest path E-A-B by considering the predicted load information alpha of the nodes and the link distance.
Another embodiment of the present application provides an intelligent routing apparatus 300, as shown in fig. 5, including:
a first obtaining module 301, configured to obtain a connection request of a client;
a first determining module 302, configured to determine a target access node according to the connection request, and establish a connection between the client and the target access node; the target access node is any one of a plurality of nodes in a global topology;
the prediction module 303 is configured to predict predicted load information of each node according to resource usage status information of each node in the global topology;
a second determining module 304, configured to determine, according to the predicted load information, a shortest path for forwarding the connection request of the client from the target access node to each arrival node in the global topology;
a forwarding module 305, configured to forward the connection request of the client from the target access node to the arrival node according to the shortest path.
The intelligent routing device is used for executing the intelligent routing method in the above method embodiment, and details are not repeated here.
According to the embodiment, the intelligent routing device provided by the application can effectively perform routing calculation by adopting the prediction load information of the nodes and the link distance between the nodes generated based on the prediction model based on the historical load condition sequence of the nodes, generates the shortest path, avoids the high-load nodes, and greatly improves the efficiency of forwarding the media stream.
In another embodiment of the present invention, as shown in fig. 6, the intelligent routing apparatus includes a client access module 410, a node management module 420, an intelligent routing module 430, a route advertisement module 440, and a link quality evaluation module 450.
The client access module 410 is configured to manage a connection state of a client, receive a client access request, and send information such as the client access request and change to a node management apparatus; and according to the access node information determined by the node management module 420, by matching the access quality requirement of the client, the optimal access point information is selected and fed back to the client.
The node management module 420 is configured to manage metadata such as access status of a node, media stream link information, neighboring node information, and node routing information. And each node reports the use condition information of the hardware resources and the use condition information of the service resources through heartbeat, and sends the use condition information of the hardware resources and the use condition information of the service resources to the intelligent routing module for routing calculation. Meanwhile, the node management module is further configured to receive a route update notification sent by the route notification module, where the route update notification includes shortest path information, and send the latest route information to a corresponding node, or wait for a node to receive the latest route information by heartbeat.
The link quality evaluation module 450 is configured to obtain link quality information of a link between nodes, determine a link distance between nodes according to the link quality information, where the link quality information includes information such as an integrated delay, jitter, a packet loss rate, a frame rate of a media stream, and a connection number of a link-bearing media stream channel, and obtain quality information of the link after performing integrated evaluation based on the informationAnd the link distance d between the nodes is obtained by the following formula:
wherein,for the link quality information vector, xiIn the form of a vector of values,is a negative correlation function with respect to link quality information.
And after the link distance d between the nodes is obtained, the link distance between the nodes is sent to the intelligent routing device.
The intelligent routing module 430 determines the shortest path between the nodes according to the hardware resource usage status information, the service resource usage status information and the link distance between the nodes; and sending the shortest path to the route advertisement module. The intelligent routing module calculates the node distance D through the screened access nodes of all sub-topologies based on the predicted load information alpha and the link distance D between the nodesuvAnd is based on DuvAnd calculating the shortest paths among all the access nodes under the global topology to form a shortest path set of the global topology. Meanwhile, further, when the topology information is updated, the intelligent routing module is further configured to update the node distance D according to the predicted load information α and the link distance D between the nodesuvAnd based on the updated node distance DuvAnd executing shortest path calculation to obtain the latest shortest path set.
The route advertisement module 440 is configured to complete advertisement functions of access point change and route change, and send shortest path information to the node management module. When the intelligent routing device obtains the shortest paths of all current access points, the route advertisement module traverses all sub-topologies, and filters the link change conditions of the sub-topologies, such as: when the path is not reachable or the distance between the nodes of the new link is far less than that of the current existing link, the route notification function is triggered, the latest route information of the nodes is notified to the node management device, otherwise, the original link is kept, and route oscillation is prevented.
According to the intelligent routing device, the optimal node access of the client is realized by implementing a two-layer control system of global path management and sub-topology node management, high-load nodes are avoided, and the efficiency of forwarding the media stream is greatly improved.
Fig. 7 is a schematic diagram illustrating an interaction flow between an intelligent routing apparatus and a client and between the intelligent routing apparatus and each node according to an embodiment of the present invention. The intelligent routing device interacts with the client, the access node (including the arrival node) and the relay node respectively.
The relay node registers, presets the upper limit of resources, and reports the node information to the node management module of the intelligent routing device at regular time. And the access node/the destination node registers, presets the upper limit of resources, and reports the node information to the node management module of the intelligent routing device at regular time. The client sends an access request to a client access module of the intelligent routing device. And the client access module of the intelligent routing device sends an access node information notice to the client. And the client selects a target access node for access according to the access node information announcement. And the node management module of the routable device informs the corresponding topology information update of the routing calculation module and respectively feeds back the routing update information to each access node and each relay node. And the relay node destroys the original link according to the route and establishes a new link. The access node: and destroying the original link according to the route, establishing a new link, and reporting connection information to the node management module.
Specifically, the following steps are performed:
and step S1.1, registering the relay node to the node management module, and reporting the node health information at regular time.
And S1.2, actively pushing or feeding back the route updating information of the relay node by the management module through heartbeat.
And S1.3, after receiving the routing information, the relay node traverses all sub-topologies participating in forwarding, compares routing differences, and establishes or maintains new media stream connection with adjacent nodes according to the latest routing.
Wherein, for the access node, the flow is schematically as follows:
step S1.1, the access node registers to the node management module and reports the node health information at regular time.
And S1.2, the management module actively pushes or feeds back route updating information to the access node through heartbeat.
And S1.3, after receiving the routing information, the access node traverses all sub-topologies participating in forwarding, compares routing differences, and establishes or maintains new media stream connection with adjacent nodes according to the latest routing.
For the client access sub-topology, the flow is as follows:
step S3.1, the client access module advertises a candidate list of access nodes that are fed back to the client and satisfy the conditions, denoted as C ═ C1,...,Ci,...,Cn}. Wherein the element CiThe connection information representing the access node includes IP, Port, Protocol type. In the specific implementation process, the Protocol type Protocol may use Interactive Connectivity Establishment (ICE) to complete the hole-making connection from the client to the access node.
And step S3.2, after receiving the node list C, the client selects one of the access nodes to connect, and informs the client of the corresponding access selection of the access module.
And step S3.3, after the connection is successfully established, the target access node actively reports the connection information to the node management module, and establishes forwarding links with other access nodes in the sub-topology according to the routing information.
And step S3.4, the node management module informs the route calculation module of updating the corresponding topology information and uses the updated topology information as an index basis for subsequent route calculation.
As shown in fig. 8, a timing diagram of a process of routing scheduling and forwarding a node media stream by an intelligent routing device according to an embodiment of the present invention is shown. The access nodes and the relay nodes are only schematic illustrations, and in the specific implementation process, the number of the nodes of each access node and each relay node is deployed according to the actual situation. When the client only consumes the media stream, the acquisition time sequence of the media stream production is not carried out, and only the consumption presentation of the media stream is carried out. And when the client suspends production or consumption, the corresponding media stream is forwarded and suspended, but the cascade link is still reserved.
The client (the client producing the media stream) sends an access request, and the access management module triggers route calculation according to the access request and returns an access node list to the client. The client is connected with the target access node, and the target access node reports the connection information. And after the client accesses the target access node, the node management module triggers routing calculation, performs topology updating at regular time, and sends link updating information to the node management module when the link needs to be updated. The node management module receives the health information reported by each access node and sends route feedback to each access node, each access node judges the link and establishes the link with the relay node, when the establishment is successful, the feedback information is sent to the node management module, the node management module sends the route feedback to the relay node, and the relay node judges the link and maintains connection. And when the routing calculation module determines that the access node is changed, sending change feedback to the client, accessing the new node by the client according to the change feedback, and acquiring the media stream by the client. The client sends the media stream production data to the access node, the access node forwards the media stream through the relay node, the relay node forwards the media stream data to the access node (namely, the access node) accessed to other clients, the access node accessed to other clients forwards the media stream data to other clients, and the other clients present the media stream. The other clients are clients which only consume the media stream and do not generate the media stream, and only consume and present the media stream. When the client is disconnected, the link is destroyed.
The access flow of the client based on the intelligent routing device is shown in fig. 9, and includes the following steps:
step 601: a client access module acquires an optimal access node list;
a client initiates a connection request through a client access module, and attaches sub-topology information to be accessed and connection requirements of an access node, wherein the sub-topology represents application data such as a conference, a room and the like to be accessed, the connection requirements are an access index set and include performance requirements and the like for the access node, and the connection requirements include but are not limited to the following indexes:
requirement={delay≤100ms,bandwidth≥10Mbps,droprate<1%...}
the connection requirement requires that the access node needs to meet the requirements that the time delay is less than 100ms, the bandwidth is greater than 10Mbps, the link packet loss rate is less than 1%, and the like.
The node management module receives sub-topology information of a client and connection requirements of access nodes, and an optimal access node list meeting conditions is filtered according to the sub-topology information and the connection requirements of the access nodes in a matching mode and is marked as C ═ C1,...,Ci,...,Cn}. Wherein the element CiThe connection information representing the access node includes IP, Port, Protocol type. In the specific implementation process, the Protocol type Protocol may use Interactive Connectivity Establishment (ICE) to complete the hole-making connection from the client to the access node.
Step 602: selecting connection to an access node, reporting connection information by the access node, triggering routing calculation, and forwarding media stream data to all other access nodes according to the calculated routing information;
and after receiving the node list C, the client access module selects an access node for access. And the client access module informs the node management module and the intelligent routing module of the information of the access node selected by the client, and waits for the access node to report the actual access condition.
Step 603: the link quality evaluation module updates the link condition of the global topology, and the node management module reports the current load information at regular time;
the link quality evaluation module completes the calculation of link distance, and comprehensively evaluates the quality information of the link by synthesizing information such as time delay, jitter, packet loss rate, frame rate of the media stream, connection quantity of the link bearing media stream channel and the likeAnd by an inverse proportional functionObtaining the link distance between the nodes and sending the link distance to the intelligent routing moduleAnd updating the link condition of the global topology.
And the node management module informs the intelligent routing module of topology updating information and node updating information. After the selected access node establishes connection with the client, the connection state and the node health state of the corresponding sub-topology are reported to the node management module, and the node management module informs the intelligent routing module of topology updating information. Similar to the access node, the relay node also reports the load condition to the node management module at regular time, and the node management module updates the information such as the health state and the load rate of the global node to the intelligent routing module uniformly after collecting the information.
Step 604: the intelligent routing module calculates the load information of the predicted node and performs routing calculation;
the intelligent routing module calculates predicted node load information according to the hardware resource use condition information and the service resource use condition information, and determines the shortest path between the nodes according to the predicted node load information and the link distance between the nodes.
Step 605: determining shortest path information according to a routing calculation result, and if the node is not reachable, notifying a client to update access information through a client access module;
if the node is not reachable, the client is notified to update the access information, and access is resumed, turning to step 602.
Step 606: traversing all the sub-topologies, and judging whether the shortest path triggers a reconstruction condition;
the intelligent routing module triggers routing computations in two cases:
in the first case: when a new node is added into the sub-topology, the intelligent routing module screens out an access node set meeting conditions according to all access nodes in the global topology, feeds the access node set back to the client, compares the access node with the existing access nodes in the sub-topology after the client feeds back the access node to be accessed, triggers shortest route calculation if the new node does not exist in the sub-topology, connects the new node to all other access nodes in the sub-topology, adds the new node into the sub-topology, and does not process if the new node exists in the sub-topology.
In the second case: and when a certain time threshold is reached, centralizing all sub-topology access nodes and calculating the shortest path among all nodes according to the current global link distance and the node load.
If reconstruction is required, go to step 607, and if reconstruction is not required, go to step 608.
Step 607: the routing notification module informs the node management module of the latest routing information of the sub-topology where the corresponding node is located, and the node management module informs the access node of the latest forwarding path established;
after the routing calculation is completed, the routing notification module acquires routing change information, traverses all sub-topologies, and decides whether to switch the routing or not according to configuration contents. For example, when configuration allows for route switching, a route change may be directly notified to the node management module, and media streams of all nodes are forwarded and switched to a new route path, but problems such as route oscillation may be caused; when the access node is newly added in the route, the route path connecting the new node is effective in time; when the original route is not reachable, if the relay node goes down, the media stream is switched to the new route path. And after the routing strategy needing to be changed is screened out, the routing switching information corresponding to the node management module is announced.
Step 608: original media stream forwarding links are kept, and frequent route oscillation is prevented.
It should be noted that the access process based on the intelligent routing device may be applicable to a situation where a relay node exists, when the relay node exists, the relay node may register in a node management module and report node health information at regular time, the node management module actively pushes or feeds back routing update information to the relay node by heartbeat, after receiving the routing information, the relay node traverses all sub-topologies participating in forwarding, compares routing differences, and establishes or maintains a new media stream connection with an adjacent node according to a latest route. The specific process is the same as above, and is not described herein again.
Further, in the intelligent routing device, the triggering of the routing information update relates to whether the routing update can quickly respond to the change of the actual load, and relates to whether the problems that the routing scheduling lags behind the actual load and the overload operation of the node can be prevented. Referring to fig. 10, for a detailed description of the route information updating process, referring to the flow of route information updating, the process specifically includes:
at the server side:
step 701: accessing a new node;
as shown in fig. 10, there are two conditions for triggering the route re-calculation, one is the addition of a new node, and the other is the re-calculation of the route periodically.
Therefore, when a new node is accessed or timing overflows, the recalculation of the routing information is triggered.
Step 702: screening out all access nodes according to the sub-topologies of all rooms;
when the routing information needs to be recalculated, all the access nodes are gathered together.
Step 703: the comprehensive nodes predict the load condition and the link quality, and the global shortest path among all the access nodes is calculated;
the specific calculation process for calculating the shortest path between nodes according to the node predicted load information and the link quality is already described in the above embodiment of the method for intelligent routing, and is not repeated here.
As described above, since the route recalculation is triggered in both cases, after the shortest path calculation is completed in this step, the process simultaneously jumps to step 704 to perform the reset operation of the route calculation timer.
At the same time, it jumps to step 706.
Step 704: the route calculation timer is reset.
Step 705: and judging whether the timer overflows or not, and triggering calculation if the timer overflows.
Step 706: comparing the new route with the old route;
and comparing the node accessed by the client with the existing access node in the sub-topology, if the new node does not exist in the sub-topology, performing routing reconstruction, connecting the new node to all other access nodes in the sub-topology, and adding the new node into the sub-topology. Meanwhile, it needs to further determine whether there is an unreachable access point in the new sub-topology, if so, go to step 708 to prompt the client to change the access point; otherwise go to step 709.
If yes, go to step 707 to keep the original link.
Step 707: the original link is maintained.
Step 708: and prompting the corresponding client to change the access point.
Step 709: and the node reports the health information and obtains the latest routing information aiming at different sub-topology links.
And when all the nodes are reachable, the nodes report the health information regularly.
At the node end:
the node needs to judge whether the routing link exists, if not, step 710 is executed;
if so, it needs to be further determined whether the link is expired, if not, go to step 711, and if so, go to step 712.
Step 710: establishing a media flow path with a neighboring node of the link;
and when the corresponding link does not exist, establishing a media flow path with the adjacent node.
Step 711: the original connection state between the paths is maintained.
Step 712: and closing the expired link connection path.
The above embodiment describes a process of updating routing information, and by using the intelligent routing system, changes in actual load can be quickly responded, a routing scheduling delay and an actual load surge can be prevented, and problems of overload operation of nodes and the like can be prevented.
Further, an electronic device is further provided in the embodiments of the present application, as shown in fig. 11. The network optimization terminal may include: a processor (processor)802, a Communications Interface 804, a memory 806, and a communication bus 808.
Wherein: the processor 802, communication interface 804, and memory 806 communicate with one another via a communication bus 808. A communication interface 804 for communicating with network elements of other devices, such as clients or other servers. The processor 802, configured to execute the program 810, may specifically perform the relevant steps described above for the intelligent routing method embodiment.
In particular, program 810 may include program code comprising computer-executable instructions.
The processor 802 may be a central processing unit CPU, or an Application Specific Integrated Circuit (ASIC), or one or more Integrated circuits configured to implement embodiments of the present invention. The visualization network terminal comprises one or more processors, which can be the same type of processor, such as one or more CPUs; or may be different types of processors such as one or more CPUs and one or more ASICs.
The memory 806 stores a program 810. The memory 806 may comprise high-speed RAM memory, and may also include non-volatile memory (non-volatile memory), such as at least one disk memory.
The program 810 may be specifically invoked by the processor 802 to cause the intelligent routing device to perform the following operations:
acquiring a connection request of a client;
determining a target access node according to the connection request, and establishing the connection between the client and the target access node; the target access node is any one of a plurality of nodes in a global topology;
predicting the predicted load information of each node according to the resource use condition information of each node in the global topology;
determining a shortest path for forwarding a connection request of the client from the target access node to each arrival node in the global topology according to the predicted load information;
and forwarding the connection request of the client from the target access node to the arrival node according to the shortest path.
Preferably, the predicting load information of each node according to the resource usage status information of each node in the global topology includes: determining the historical load condition of each node according to the resource use condition information of each node; constructing a historical load condition sequence of each node according to the historical load conditions; and determining the predicted load information of each node according to the historical load condition sequence of each node and a preset prediction model.
Preferably, the determining, according to the predicted load information, the shortest path for forwarding the connection request of the client from the target access node to the destination node according to the shortest path includes: acquiring link distance between the nodes; determining the node distance between the nodes according to the predicted load information of the nodes and the link distance between the nodes; and determining the shortest path of each target access node forwarded to the arrival node according to the node distance.
Preferably, the determining the predicted load information of each node according to the historical load condition sequence of each node and a preset prediction model includes: acquiring the number of sub-topologies where each node is located, the number of connections established by each node and the upper limit of preset service resources of the node; and inputting the historical load condition sequence of each node, the number of sub-topologies where each node is located, the number of connections established by each node and the upper limit of the preset service resource of the node into the preset prediction model to obtain a node load prediction sequence.
Preferably, the determining the predicted load information of each node according to the historical load condition sequence of each node and a preset prediction model includes: when the service resource of the node is more than or equal to the preset service resource upper limit of the node or the sub-topology number of the node is more than or equal to the maximum sub-topology bearing number, the predicted load information of the node is full load; and when the service resource of the node is smaller than the preset service resource upper limit of the node or the sub-topology number of the node is smaller than the maximum sub-topology bearing number, the predicted load information of the node is the node load prediction sequence.
Preferably, the determining a node distance between the nodes according to the predicted load information of each node and the link distance between the nodes includes: acquiring a middle node set among the nodes and increment factors of the nodes; and determining the node distance between the nodes according to the predicted load information of the nodes, the link distance between the nodes, the intermediate node set and the increment factor.
According to the embodiment, the electronic device provided by the application can effectively perform routing calculation by generating the predicted load information of the nodes and the link distance between the nodes based on the prediction model based on the historical load condition sequence of the nodes, so as to generate the shortest path, avoid the high-load nodes, and greatly improve the efficiency of forwarding the media stream.
The embodiment of the present application further provides a computer-readable storage medium, where at least one executable instruction is stored in the storage medium, and when the executable instruction runs on an electronic device, the electronic device is enabled to execute the intelligent routing method in the foregoing method embodiment.
The algorithms or displays presented herein are not inherently related to any particular computer, virtual system, or other apparatus. Various general purpose systems may also be used with the teachings herein. The required structure for constructing such a system will be apparent from the description above. In addition, embodiments of the present invention are not directed to any particular programming language. It is appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein, and any descriptions of specific languages are provided above to disclose the best mode of the invention.
In the description provided herein, numerous specific details are set forth. It is understood, however, that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the embodiments of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the invention and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be interpreted as reflecting an intention that: that the invention as claimed requires more features than are expressly recited in each claim.
Those skilled in the art will appreciate that the modules in the device in an embodiment may be adaptively changed and disposed in one or more devices different from the embodiment. The modules or units or components of the embodiments may be combined into one module or unit or component, and may be divided into a plurality of sub-modules or sub-units or sub-components. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings) may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by one and the same item of hardware. The usage of the words first, second and third, etcetera do not indicate any ordering. These words may be interpreted as names. The steps in the above embodiments should not be construed as limiting the order of execution unless specified otherwise.
Claims (10)
1. An intelligent routing method is applied to a WebRTC node cascade network, and comprises the following steps:
acquiring a connection request of a client;
determining a target access node according to the connection request, and establishing the connection between the client and the target access node; the target access node is any one of a plurality of nodes in a global topology;
predicting the predicted load information of each node according to the resource use condition information of each node in the global topology;
determining a shortest path for forwarding a connection request of the client from the target access node to each arrival node in the global topology according to the predicted load information;
and forwarding the connection request of the client from the target access node to the arrival node according to the shortest path.
2. The method of claim 1, wherein predicting the predicted load information of each node according to the resource usage information of each node in the global topology comprises:
determining the historical load condition of each node according to the resource use condition information of each node;
constructing a historical load condition sequence of each node according to the historical load conditions;
and determining the predicted load information of each node according to the historical load condition sequence of each node and a preset prediction model.
3. The method of claim 2, wherein the determining the shortest path for forwarding the connection request of the client from the target access node to the destination node in the global topology according to the predicted load information comprises:
acquiring link distance between the nodes;
determining the node distance between the nodes according to the predicted load information of the nodes and the link distance between the nodes;
and determining the shortest path of each target access node forwarded to the arrival node according to the node distance.
4. The method according to claim 2, wherein the determining the predicted load information of each of the nodes according to the historical load condition sequence of each of the nodes and a preset prediction model comprises:
acquiring the number of sub-topologies where each node is located, the number of connections established by each node and the upper limit of preset service resources of the node;
and inputting the historical load condition sequence of each node, the number of sub-topologies where each node is located, the number of connections established by each node and the upper limit of the preset service resource of the node into the preset prediction model to obtain a node load prediction sequence.
5. The method of claim 4, wherein determining the predicted load information for each of the nodes based on the historical load condition sequence for each of the nodes and a predetermined prediction model comprises:
when the service resource of the node is more than or equal to the preset service resource upper limit of the node or the sub-topology number of the node is more than or equal to the maximum sub-topology bearing number, the predicted load information of the node is full load;
and when the service resource of the node is smaller than the preset service resource upper limit of the node or the sub-topology number of the node is smaller than the maximum sub-topology bearing number, the predicted load information of the node is the node load prediction sequence.
6. The method of claim 3, wherein said determining a node spacing between said nodes based on predicted load information for each of said nodes and link distances between said nodes comprises:
acquiring a middle node set among the nodes and increment factors of the nodes;
and determining the node distance between the nodes according to the predicted load information of the nodes, the link distance between the nodes, the intermediate node set and the increment factor.
7. The method of claim 3, wherein after the target access node forwards to the arriving node, the method further comprises:
determining whether the arrival node is reachable according to the shortest path;
and when the arrival node is not reachable, resending the access node list to the client so that the client can redetermine the target access node according to the access node list.
8. An intelligent routing device, comprising:
the first acquisition module is used for acquiring a connection request of a client;
a first determining module, configured to determine a target access node according to the connection request, and establish a connection between the client and the target access node; the target access node is any one of a plurality of nodes in a global topology;
the prediction module is used for predicting the predicted load information of each node according to the resource use condition information of each node in the global topology;
a second determining module, configured to determine, according to the predicted load information, a shortest path for forwarding a connection request of the client from the target access node to each of the arrival nodes in the global topology;
and the forwarding module is used for forwarding the connection request of the client from the target access node to the arrival node according to the shortest path.
9. An electronic device, comprising: the system comprises a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface complete mutual communication through the communication bus;
the memory is configured to store at least one executable instruction that causes the processor to perform the intelligent routing method of any one of claims 1-7.
10. A computer-readable storage medium having stored therein at least one executable instruction that, when executed on an electronic device, causes the electronic device to perform the intelligent routing method of any one of claims 1-7.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111177669.4A CN113904974B (en) | 2021-10-09 | 2021-10-09 | Intelligent routing method, device and equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111177669.4A CN113904974B (en) | 2021-10-09 | 2021-10-09 | Intelligent routing method, device and equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113904974A true CN113904974A (en) | 2022-01-07 |
CN113904974B CN113904974B (en) | 2023-08-15 |
Family
ID=79190690
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111177669.4A Active CN113904974B (en) | 2021-10-09 | 2021-10-09 | Intelligent routing method, device and equipment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113904974B (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114745563A (en) * | 2022-04-11 | 2022-07-12 | 中国联合网络通信集团有限公司 | Method, device and system for selecting edge computing node to process live broadcast task |
CN115277431A (en) * | 2022-06-22 | 2022-11-01 | 苏州华兴源创科技股份有限公司 | Topology changing method and device, computer equipment and storage medium |
CN116668363A (en) * | 2022-09-29 | 2023-08-29 | 中兴通讯股份有限公司 | Data multiplexing route link planning method and device |
WO2024098814A1 (en) * | 2022-11-08 | 2024-05-16 | 中兴通讯股份有限公司 | Data transmission processing method and apparatus, and storage medium and electronic apparatus |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5537394A (en) * | 1993-11-04 | 1996-07-16 | Fujitsu Limited | Routing system for communications network |
CN102318288A (en) * | 2011-07-29 | 2012-01-11 | 华为技术有限公司 | Node sequencing and choosing method, Apparatus and system |
CN102664812A (en) * | 2012-05-14 | 2012-09-12 | 山东大学 | Two-stage service system load forecast and balancing method integrating service forecast and real-time load |
CN103686841A (en) * | 2012-09-10 | 2014-03-26 | Sap股份公司 | System and method for predictive network congestion control |
US20150333997A1 (en) * | 2014-05-14 | 2015-11-19 | Cisco Technology, Inc. | Probing technique for predictive routing in computer networks |
CN105703970A (en) * | 2014-12-16 | 2016-06-22 | 统有限责任两合公司 | telecommunication system and method for generating real time connection (RTC) between first endpoint and second endpoint |
US20160192029A1 (en) * | 2014-12-26 | 2016-06-30 | Mattias Bergstrom | Method and system for adaptive virtual broadcasting of digital content |
CN106302161A (en) * | 2016-08-01 | 2017-01-04 | 广东工业大学 | Perception data transmission method based on load estimation, device, path control deivce |
US20170244767A1 (en) * | 2016-02-23 | 2017-08-24 | At&T Intellectual Property I, L.P. | Method And Apparatus For Architecting Multimedia Conferencing Services |
US20180234333A1 (en) * | 2017-02-10 | 2018-08-16 | Cisco Technology, Inc. | Machine learning-based mechanism for optimal interface selection in network environments employing network address translation |
CN108418789A (en) * | 2018-01-22 | 2018-08-17 | 网宿科技股份有限公司 | A kind of communication system and its communication means based on WebRTC, signal server |
CN108432202A (en) * | 2015-11-03 | 2018-08-21 | 巴科股份有限公司 | The method and system of optimization routing for the data flow in telecommunication network |
CN108540876A (en) * | 2018-03-12 | 2018-09-14 | 上海欣诺通信技术股份有限公司 | Service path choosing method, SDN controllers, storage medium and electronic equipment |
CN109831320A (en) * | 2018-12-29 | 2019-05-31 | 国家电网有限公司 | A kind of auxiliary flow forecast Control Algorithm, storage medium and electronic equipment |
WO2019134483A1 (en) * | 2018-01-03 | 2019-07-11 | 中兴通讯股份有限公司 | Path calculation method and device under multi-dimensional constraints, processor and storage medium |
US20190312810A1 (en) * | 2018-04-10 | 2019-10-10 | System73 Ltd | Adaptive overlay network architecture |
CN110915168A (en) * | 2017-04-21 | 2020-03-24 | 系统73有限公司 | Predictive overlay network architecture |
CN112637287A (en) * | 2020-12-10 | 2021-04-09 | 北京字节跳动网络技术有限公司 | Load balancing method and equipment |
-
2021
- 2021-10-09 CN CN202111177669.4A patent/CN113904974B/en active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5537394A (en) * | 1993-11-04 | 1996-07-16 | Fujitsu Limited | Routing system for communications network |
CN102318288A (en) * | 2011-07-29 | 2012-01-11 | 华为技术有限公司 | Node sequencing and choosing method, Apparatus and system |
CN102664812A (en) * | 2012-05-14 | 2012-09-12 | 山东大学 | Two-stage service system load forecast and balancing method integrating service forecast and real-time load |
CN103686841A (en) * | 2012-09-10 | 2014-03-26 | Sap股份公司 | System and method for predictive network congestion control |
US20150333997A1 (en) * | 2014-05-14 | 2015-11-19 | Cisco Technology, Inc. | Probing technique for predictive routing in computer networks |
CN105703970A (en) * | 2014-12-16 | 2016-06-22 | 统有限责任两合公司 | telecommunication system and method for generating real time connection (RTC) between first endpoint and second endpoint |
US20160192029A1 (en) * | 2014-12-26 | 2016-06-30 | Mattias Bergstrom | Method and system for adaptive virtual broadcasting of digital content |
CN108432202A (en) * | 2015-11-03 | 2018-08-21 | 巴科股份有限公司 | The method and system of optimization routing for the data flow in telecommunication network |
US20170244767A1 (en) * | 2016-02-23 | 2017-08-24 | At&T Intellectual Property I, L.P. | Method And Apparatus For Architecting Multimedia Conferencing Services |
CN106302161A (en) * | 2016-08-01 | 2017-01-04 | 广东工业大学 | Perception data transmission method based on load estimation, device, path control deivce |
US20180234333A1 (en) * | 2017-02-10 | 2018-08-16 | Cisco Technology, Inc. | Machine learning-based mechanism for optimal interface selection in network environments employing network address translation |
CN110915168A (en) * | 2017-04-21 | 2020-03-24 | 系统73有限公司 | Predictive overlay network architecture |
WO2019134483A1 (en) * | 2018-01-03 | 2019-07-11 | 中兴通讯股份有限公司 | Path calculation method and device under multi-dimensional constraints, processor and storage medium |
CN108418789A (en) * | 2018-01-22 | 2018-08-17 | 网宿科技股份有限公司 | A kind of communication system and its communication means based on WebRTC, signal server |
CN108540876A (en) * | 2018-03-12 | 2018-09-14 | 上海欣诺通信技术股份有限公司 | Service path choosing method, SDN controllers, storage medium and electronic equipment |
US20190312810A1 (en) * | 2018-04-10 | 2019-10-10 | System73 Ltd | Adaptive overlay network architecture |
CN109831320A (en) * | 2018-12-29 | 2019-05-31 | 国家电网有限公司 | A kind of auxiliary flow forecast Control Algorithm, storage medium and electronic equipment |
CN112637287A (en) * | 2020-12-10 | 2021-04-09 | 北京字节跳动网络技术有限公司 | Load balancing method and equipment |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114745563A (en) * | 2022-04-11 | 2022-07-12 | 中国联合网络通信集团有限公司 | Method, device and system for selecting edge computing node to process live broadcast task |
CN114745563B (en) * | 2022-04-11 | 2024-01-30 | 中国联合网络通信集团有限公司 | Method, device and system for processing live broadcast task by selecting edge computing node |
CN115277431A (en) * | 2022-06-22 | 2022-11-01 | 苏州华兴源创科技股份有限公司 | Topology changing method and device, computer equipment and storage medium |
CN115277431B (en) * | 2022-06-22 | 2023-11-10 | 苏州华兴源创科技股份有限公司 | Topology changing method, device, computer equipment and storage medium |
CN116668363A (en) * | 2022-09-29 | 2023-08-29 | 中兴通讯股份有限公司 | Data multiplexing route link planning method and device |
WO2024066627A1 (en) * | 2022-09-29 | 2024-04-04 | 中兴通讯股份有限公司 | Routing link planning method and apparatus for data multiplexing |
WO2024098814A1 (en) * | 2022-11-08 | 2024-05-16 | 中兴通讯股份有限公司 | Data transmission processing method and apparatus, and storage medium and electronic apparatus |
Also Published As
Publication number | Publication date |
---|---|
CN113904974B (en) | 2023-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113904974B (en) | Intelligent routing method, device and equipment | |
CN112346854B (en) | In-network resource scheduling method and system for hierarchical collaborative decision and storage medium | |
US8565218B2 (en) | Flow path discovery in network to guarantee multiple metric QoS constraints | |
CN102780605B (en) | Inter-area exit route dynamic selection method and system | |
Lin et al. | Scalable multicasting with multiple shared trees in software defined networking | |
JPH1117704A (en) | Real time control architecture for approval control in communication network | |
JP2003249958A (en) | Peer-to-peer based network performance measurement and analysis system and method for large scale network | |
CN101841487A (en) | Configuration method for aggregating link service flow and packet switching device | |
CN105103504A (en) | Multicast routing system and method | |
CN101155119B (en) | Method and device for confirming boundary node of autonomous system and its path computing method | |
Gao et al. | Scalable area-based hierarchical control plane for software defined information centric networking | |
Li et al. | Rate-selective caching for adaptive streaming over information-centric networks | |
CN114500354B (en) | Switch control method, device, control equipment and storage medium | |
Erfanian et al. | On optimizing resource utilization in AVC-based real-time video streaming | |
Majdoub et al. | DQR: an efficient deep Q-based routing approach in multi-controller software defined WAN (SD-WAN) | |
Sun et al. | Handover management scheme in SDN-based | |
CN102203836A (en) | Method and apparatus for reflecting forwarding plane utilization in a control plane | |
JP6892206B2 (en) | Multipoint communication systems and methods and programs | |
KR101282611B1 (en) | Routing apparatus and method for setting up transmission route using the same and table managing method of routing apparatus | |
JP2008219067A (en) | Route calculation apparatus, method and program | |
US20150372895A1 (en) | Proactive Change of Communication Models | |
Kumari et al. | Time-varying network modeling and its optimal routing strategy | |
WO2022242243A1 (en) | Communication method, device and system | |
US8798050B1 (en) | Re-optimization of loosely routed P2MP-TE sub-trees | |
JP4743640B2 (en) | Overlay network forming method and overlay node, and overlay network and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |