CN111683013A - Routing method of acceleration network and acceleration network - Google Patents

Routing method of acceleration network and acceleration network Download PDF

Info

Publication number
CN111683013A
CN111683013A CN202010511019.8A CN202010511019A CN111683013A CN 111683013 A CN111683013 A CN 111683013A CN 202010511019 A CN202010511019 A CN 202010511019A CN 111683013 A CN111683013 A CN 111683013A
Authority
CN
China
Prior art keywords
node
message
network
transit
path
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
Application number
CN202010511019.8A
Other languages
Chinese (zh)
Other versions
CN111683013B (en
Inventor
林立明
陈锐龙
郑伟珂
林潇聪
吴伟
戴敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010511019.8A priority Critical patent/CN111683013B/en
Publication of CN111683013A publication Critical patent/CN111683013A/en
Application granted granted Critical
Publication of CN111683013B publication Critical patent/CN111683013B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/126Shortest path evaluation minimising geographical or physical path length
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/124Shortest path evaluation using a combination of metrics

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The invention provides a routing method of an acceleration network, the acceleration network, an electronic device and a computer readable storage medium; the acceleration network comprises a starting node, a terminating node and a transfer node; the method comprises the following steps: the starting node determines a transfer path of the message to be transmitted according to the position of the ending node and the network distance between each node in the acceleration network and the interconnected nodes; the starting node sends the message and the transit path to a first transit node in the transit path, so that the first transit node forwards the message and the transit path to a next transit node in the transit path until the message reaches the terminating node; the terminating node sends the message to a destination. The invention can improve the data transmission speed.

Description

Routing method of acceleration network and acceleration network
Technical Field
The present invention relates to the field of network technologies, and in particular, to a routing method for an acceleration network, an electronic device, and a computer-readable storage medium.
Background
A Content Delivery Network (CDN) includes a plurality of nodes, and a request for accessing a source station initiated by a user terminal can be processed by appropriately scheduling the nodes in the CDN.
In the related art, in order to enable a user to obtain required source station data, for a specified source station domain name, an access path of the specified source station domain name is manually configured in a content distribution network, and the same routing information is configured for all nodes on the path, so that all request/response data corresponding to the source station are transmitted through a fixed path. As such, when network conditions between certain nodes in the content distribution network deteriorate (e.g., bandwidth exhaustion, line damage, etc.), it is still necessary to forward data by using links with poor network conditions, resulting in a slow data transmission speed.
Disclosure of Invention
The embodiment of the invention provides a routing method of an acceleration network, the acceleration network, electronic equipment and a computer readable storage medium, which can improve the transmission speed of data.
The technical scheme of the embodiment of the invention is realized as follows:
the embodiment of the invention provides a routing method for accelerating a network,
the acceleration network comprises a starting node, a terminating node and a transfer node;
the method comprises the following steps:
the starting node determines a transfer path of the message to be transmitted according to the position of the ending node and the network distance between each node in the acceleration network and the interconnected nodes;
the starting node sends the message and the transit path to a first transit node in the transit path so as to enable the starting node to send the message and the transit path to the first transit node in the transit path
The first transit node forwards the message and the transit path to a next transit node in the transit path until the message reaches the termination node;
the terminating node sends the message to a destination.
An embodiment of the present invention provides an acceleration network, including:
the starting node is used for determining a transfer path of the message to be transmitted according to the position of the ending node and the network distance between each node in the acceleration network and the interconnected nodes;
the starting node is further configured to send the message and the transit path to a transit node in the transit path;
the transit node is configured to forward the message and the transit path to a next transit node in the transit path until the message reaches a termination node;
the termination node is used for sending the message to a destination.
In the above solution, when the message is a request message sent by a terminal to a source station, the starting node is an ingress node in the acceleration network for receiving the message sent by the terminal, and the terminating node is an egress node in the acceleration network for sending the request message to the source station.
In the above solution, the egress node is further configured to receive a response message, where the response message is used by the source station to respond to the request message; determining a response message transit path of the response message, and sending the response message to the entry node through the response message transit path; the entry node is further configured to send the response message to the terminal.
In the above solution, when the message is a response message used by a source station to respond to a request message of a terminal, the start node is an egress node in the acceleration network for sending the request message to the source station, and the termination node is an ingress node in the acceleration network for receiving the request message.
In the foregoing solution, the start node is further configured to determine a plurality of candidate transit paths for transmitting the message to the end node; determining the sum of network distances between adjacent transit nodes in the candidate transit path as the length of the candidate transit path; and determining the candidate transfer path with the shortest length as the transfer path of the message to be transmitted.
In the above scheme, the start node is further configured to determine a new transit path as a transit path for the message to be transmitted when the start node receives the message to be transmitted and an interval between the reception time and the sending of the history message exceeds a time threshold; when the starting node receives the message to be transmitted and the interval between the receiving time and the historical message sending time does not exceed a time threshold, taking a historical transit path for transmitting the historical message as a transit path of the message to be transmitted; and the termination node corresponding to the history message is the same as the termination node corresponding to the message to be transmitted.
In the above solution, when the message is a request message sent by a terminal for a source station, the starting node is determined by a domain name server corresponding to the acceleration network, and the starting node is a node closest to a geographical location of the terminal in the acceleration network; the starting node is further configured to select, in the acceleration network, a node closest to the geographical location of the source station, as the terminating node.
In the above scheme, the acceleration network further includes a sink node, and each node in the acceleration network determines a network distance between the node and each other node, and reports the network distance to the sink node; wherein each node is any one of the start node, the end node and the transit node; the aggregation node is used for summarizing the network distance sent by each node and sending the summarized network distance to other nodes in the acceleration network; wherein the other node is any node in the acceleration network except the aggregation node.
In the above scheme, each node in the acceleration network sends a probe packet to the interconnected nodes, and receives a response packet returned by the interconnected nodes in response to the probe packet; determining communication time delay according to the sending time of the detection packet and the receiving time of the response packet; determining packet loss rate according to the sending number of the detection packets and the receiving number of the response packets; and determining the network distance according to the communication delay and the packet loss rate.
An embodiment of the present invention provides an electronic device, including:
a memory for storing executable instructions;
and the processor is used for realizing the routing method of the accelerated network provided by the embodiment of the invention when the executable instructions stored in the memory are executed.
The embodiment of the invention provides a computer-readable storage medium, which stores executable instructions for causing a processor to execute the method for accelerating the routing of a network provided by the embodiment of the invention.
The embodiment of the invention has the following beneficial effects:
the starting node of the acceleration network determines the transfer path of the message to be transmitted in real time, and the message to be transmitted is forwarded through the nodes contained in the transfer path, so that the destination can quickly acquire the corresponding message. In addition, the embodiment of the invention only calculates the transfer path at the initial node of the acceleration network, and does not calculate the transfer path again in the process of transferring the message, thereby saving the calculation resources of the node while ensuring the high message transmission speed.
Drawings
Fig. 1 is a schematic diagram of a routing method provided in the related art;
fig. 2A is a schematic diagram of an application scenario 100 of a routing method for accelerating a network according to an embodiment of the present invention;
fig. 2B is a schematic structural diagram of an electronic device 500 according to an embodiment of the present invention;
fig. 3 is a flowchart illustrating a routing method for an accelerated network according to an embodiment of the present invention;
fig. 4 is a flowchart illustrating a routing method for accelerating a network according to an embodiment of the present invention;
fig. 5 is an application diagram of a routing method for an accelerated network according to an embodiment of the present invention;
fig. 6 is an application diagram of a routing method for an accelerated network according to an embodiment of the present invention;
fig. 7 is a schematic architecture diagram of an acceleration network according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention clearer, the present invention will be further described in detail with reference to the accompanying drawings, the described embodiments should not be construed as limiting the present invention, and all other embodiments obtained by a person of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.
In the following description, reference is made to "some embodiments" which describe a subset of all possible embodiments, but it is understood that "some embodiments" may be the same subset or different subsets of all possible embodiments, and may be combined with each other without conflict.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. The terminology used herein is for the purpose of describing embodiments of the invention only and is not intended to be limiting of the invention.
Before further detailed description of the embodiments of the present invention, terms and expressions mentioned in the embodiments of the present invention are explained, and the terms and expressions mentioned in the embodiments of the present invention are applied to the following explanations.
1) Content distribution network (or accelerated network): by caching data at nodes (each node can be realized by one or more servers) scattered at various positions of the network, a service for requesting data nearby is provided for a user (as can be understood, the user requests data through a client, and for convenience of description, the user and the user client are not specifically distinguished), a bottleneck link which possibly influences response speed and stability on the internet is avoided as far as possible, and the response speed for providing data for the user is improved.
2) Domain Name Server (DNS): the server is a server that performs Domain Name (Domain Name) and Internet Protocol (IP) address translation corresponding thereto. The DNS stores a table of domain names and IP addresses corresponding thereto to resolve the domain name of the message. A domain name is the name of a computer or group of computers in a network that is used to identify the electronic position (sometimes also referred to as the geographic location) of the computer at the time of data transmission. Domain names are composed of a string of names separated by dots, usually containing the name of an organization, and always include a two to three letter suffix to indicate the type of organization or country or region in which the domain is located.
3) Network distance: the description of the information such as the network delay, the packet loss rate and the like among the nodes in the network is accelerated, and the influence of the network delay and the packet loss rate on data forwarding is comprehensively considered.
4) Routing (Routing): refers to the network-wide process of determining an end-to-end path as a packet travels from a source to a destination.
5) A source station: refers to an external site accessing the acceleration network, i.e. a destination site requested by a user. Specifically, the original site for distributing the content is referred to, and the data addition, deletion and modification are all performed on the source site.
6) An entrance node: the method is realized by a server or a server cluster, and is implemented by a first node for a user to request to access an acceleration network, and the node sends a request message to a transfer node
7) Transfer node: the method is realized by a server or a server cluster, and is realized by accelerating a plurality of nodes in a network to accelerate the forwarding of the request message/response message.
8) An exit node: implemented by a server or server cluster, is the last node to expedite network forwarding of the request message, which sends the request message to the source station.
9) In response to the condition or state on which the performed operation depends, one or more of the performed operations may be in real-time or may have a set delay when the dependent condition or state is satisfied; there is no restriction on the order of execution of the operations performed unless otherwise specified.
10) A Block chain (Blockchain) is a storage structure for encrypted, chained transactions formed from blocks (blocks).
11) A Blockchain Network (Blockchain Network) incorporates new blocks into a set of nodes of a Blockchain in a consensus manner.
12) Ledger (legger) is a general term for blockchains (also called Ledger data) and state databases synchronized with blockchains. Wherein, the blockchain records the transaction in the form of a file in a file system; the state database records the transaction in the blockchain in the form of different types of Key (Key) Value pairs, and is used for supporting quick query of transaction data in the blockchain.
13) Intelligent Contracts (Smart Contracts), also known as chain codes (chaincodes) or application codes, are programs deployed in nodes of a blockchain network, and the nodes execute the intelligent Contracts called in received transactions to perform operations of updating or querying key-value data of a state database.
14) Consensus (Consensus), a process in a blockchain network, is used to agree on a transaction in a block between the nodes involved, the agreed block to be appended to the end of the blockchain and used to update the state database.
Referring to fig. 1, fig. 1 is a schematic diagram of a routing method provided in the related art. The routing method provided by the related technology is realized by the following steps: for a specified domain name of a source station, an access path is manually configured, and the same routing information (or referred to as a transit path) is configured for all nodes on the path, so that all request messages/response messages corresponding to the source station are transmitted through a fixed path, which is illustrated in path 1 in fig. 1.
The biggest problem of the related technology is to adopt a invariable processing mode for the routing information, namely, once the routing information is determined, the routing information does not change any more, and the transmission of the request message/the response message is solidified on the same path. Such schemes are difficult to effectively handle bursty conditions that accelerate the real-time appearance of the network.
In view of the foregoing technical problems, embodiments of the present invention provide a routing method for an acceleration network, an electronic device, and a computer-readable storage medium, which can ensure that a service is provided continuously during an update period of a database. An exemplary application of the electronic device provided by the embodiment of the present invention is described below, and the electronic device provided by the embodiment of the present invention may be implemented as a server.
In some embodiments, the server may be an independent physical server, may also be a server cluster or a distributed system formed by a plurality of physical servers, and may also be a cloud server providing basic cloud computing services such as a cloud service, a cloud database, cloud computing, a cloud function, cloud storage, a network service, cloud communication, a middleware service, a domain name service, a security service, a CDN, and a big data and artificial intelligence platform.
In some embodiments, a virtual machine or a container for implementing the routing method for accelerating a network provided by the embodiments of the present invention may be deployed in a server, so that the server performs a corresponding operation by invoking the virtual machine or the container according to a type of a node to be implemented, so as to implement a function of the corresponding node.
In the following, an exemplary application of the routing method for accelerating a network provided by the embodiment of the present invention implemented in a server cluster will be described. Referring to fig. 2A, fig. 2A is a schematic diagram of an application scenario 100 of the method for accelerating routing of a network according to the embodiment of the present invention. The application scenario 100 includes: the terminal 200, the source station 300 and the acceleration network 400 are explained separately below.
The terminal 200, belonging to a user, is used to send a request message to the source station 300 through the acceleration network 400.
In some embodiments, the terminal 200 may be, but is not limited to, a smartphone, a tablet, a laptop, a desktop computer, a smart speaker, a smart watch, and the like.
And the source station 300 is used for responding to the request message sent by the terminal 200 and sending a response message to the terminal 200 through the acceleration network 400.
The acceleration network 400 includes a transit node 410 (only transit node 411, transit node 412, and transit node 413 are shown in fig. 2A), an originating node, and a terminating node. When the message transmitted in the acceleration network 400 is a request message sent by the terminal 200, the start node is the ingress node 420, and the termination node is the egress node 430; when the message transmitted in the acceleration network 400 is a response message sent by the source station 300, the originating node is the egress node 430 and the terminating node is the ingress node 420.
The following description will take the case where the messages transmitted in the acceleration network are a request message and a response message, respectively.
Taking the example that the terminal 200 sends the request message to the source station 300 through the acceleration network 400, the ingress node 420 receives the request message sent by the terminal 200 and determines a transit path for transmitting the request message, where the transit path is composed of a transit node 411 and a transit node 412; the ingress node 420 sends the request message and the transit path to the transit node 411; the transit node 411 sends the request message and the transit path to the transit node 412; transit node 412 sends the request message and transit path to egress node 430; the egress node 430 sends a request message to the source station 300.
Taking the example that the source station 300 sends a response message to the terminal 200 through the acceleration network 400, the egress node 430 receives the response message sent by the source station 300 in response to the request message, and determines a transit path for transmitting the response message, where the transit path is formed by the transit node 413; the egress node 430 sends the response message and the transit path to the transit node 413; the transit node 413 transmits the response message and the transit path to the ingress node 420; the ingress node 420 transmits a response message to the terminal 200.
Next, the structure of the electronic device provided in the embodiment of the present invention is described as an example when the electronic device is implemented as a server. Referring to fig. 2B, fig. 2B is a schematic structural diagram of an electronic device 500 according to an embodiment of the present invention, where the electronic device 500 shown in fig. 2B includes: at least one processor 510, memory 530, and at least one network interface 520. The various components in the electronic device 500 are coupled together by a bus system 540. It is understood that the bus system 540 is used to enable communications among the components. The bus system 540 includes a power bus, a control bus, and a status signal bus in addition to a data bus. But for clarity of illustration the various buses are labeled as bus system 540 in figure 2B.
The Processor 510 may be an integrated circuit chip having Signal processing capabilities, such as a general purpose Processor, a Digital Signal Processor (DSP), or other programmable logic device, discrete gate or transistor logic device, discrete hardware components, or the like, wherein the general purpose Processor may be a microprocessor or any conventional Processor, or the like.
Memory 530 includes volatile memory or nonvolatile memory, and can include both volatile and nonvolatile memory. The non-volatile Memory may be a Read Only Memory (ROM), and the volatile Memory may be a Random Access Memory (RAM). Memory 530 described with respect to embodiments of the present invention is intended to comprise any suitable type of memory. Memory 530 may optionally include one or more storage devices physically located remote from processor 510.
In some embodiments, memory 530 may be capable of storing data to support various operations, examples of which include programs, modules, and data structures, or subsets or supersets thereof, as exemplified below.
The operating system 531, which includes system programs for handling various basic system services and performing hardware-related tasks, such as a framework layer, a core library layer, a driver layer, etc., is used for implementing various basic services and for processing hardware-based tasks.
A network communication module 532 for communicating to other computing devices via one or more (wired or wireless) network interfaces 520, exemplary network interfaces 520 including: bluetooth, wireless compatibility authentication (WiFi), and Universal Serial Bus (USB), among others.
The routing program 533 includes a computer program for implementing the routing method of the accelerated network provided in the embodiment of the present invention.
In some embodiments, the electronic device 500 may be any one of the nodes in the acceleration network 400 in fig. 2A. The processor 510 executes the corresponding routing program 533 stored in the memory 530 according to the type of the node that the electronic device 500 needs to implement, so as to perform the corresponding operation, thereby implementing the function of the corresponding node.
Next, a routing method of the acceleration network provided by the embodiment of the present invention implemented by the acceleration network 400 in fig. 2A is described as an example. Referring to fig. 3, fig. 3 is a flowchart illustrating a routing method for accelerating a network according to an embodiment of the present invention, and will be described with reference to the steps shown in fig. 3.
In step S101, the originating node receives a message to be transmitted.
Here, the message to be transmitted may be a request message transmitted by the terminal 200 to the source station 300; or a response message that the source station 300 transmits to the terminal 200 in response to the request message.
All nodes in the acceleration network are transit nodes, and the starting node and the terminating node are special transit nodes in the acceleration network. Taking the message to be transmitted as a request message as an example, the transit node for receiving the request message from the terminal is an initial node, and the transit node for accelerating the last reception of the request message in the network and forwarding the request message to the source station is a termination node. Taking the message to be transmitted as a response message as an example, the transit node for receiving the response message from the source station is an initial node, the last transit node in the acceleration network that receives the response message and forwards the response message to the terminal is a termination node.
As an example of carrying over fig. 2A, when the message to be transmitted is a request message sent by the terminal 200 to the source station 300, the originating node is the ingress node 420 in the acceleration network 400. The entry node 420 receives the request message transmitted by the terminal 200.
As another example of carrying over fig. 2A, when the message to be transmitted is a response message sent by the source station 300 to the terminal 200, the originating node is the egress node 430 in the acceleration network 400. The egress node 430 receives the response message sent by the source station 300.
In step S102, the start node determines a transit path of the message to be transmitted.
Here, the transit path includes at least one transit node in the acceleration network.
In some embodiments, the originating node determines a transit path of the message to be transmitted according to the location of the terminating node and a network distance between each node in the acceleration network and the interconnected nodes (or a network distance between each node).
Specifically, the starting node determines a plurality of candidate transfer paths for transmitting the message to the terminating node according to the position of the terminating node and the network distance between each node and the interconnected nodes in the acceleration network; determining the sum of network distances between adjacent transit nodes in the candidate transit paths as the length of the candidate transit paths; and determining the candidate transit path with the shortest length as the transit path of the message to be transmitted.
As an example, the start node obtains a network distance (i.e., global network interconnection distance information) between each node in the acceleration network in real time through the aggregation node in the acceleration network; and determining a plurality of candidate transfer paths for transmitting the message to the termination node and the length of each candidate transfer path according to the network distance between each node in the acceleration network, and determining the candidate transfer path with the shortest length as the transfer path of the message to be transmitted. Therefore, after the initial node receives the message, the transfer path can be calculated according to the network shortest path algorithm and transmitted, so that the subsequent messages can be transmitted according to the real-time optimal transfer path, and the rate of acquiring the response message by the terminal and the request message by the source station is improved.
As an example of carrying out fig. 2A, when the message to be transmitted is a request message sent by the terminal 200 to the source station 300, the ingress node 420 acquires the network distance between each node in the acceleration network 400 in real time, and determines the transit path with the shortest total distance as the path for transmitting the request message according to the network distance between each node in the acceleration network 400.
As another example of carrying out fig. 2A, when the message to be transmitted is a response message sent by the source station 300 to the terminal 200, the egress node 430 obtains the network distance between each node in the acceleration network 400 in real time, and determines the transit path with the shortest total distance as the path for transmitting the response message according to the network distance between each node in the acceleration network 400.
In some embodiments, when the message to be transmitted received by the originating node satisfies the following preset condition, the originating node takes the history transit path for transmitting the history message as the transit path of the message to be transmitted.
Here, the terminal corresponding to the history message and the terminal corresponding to the message to be transmitted may be different, and the source station corresponding to the history message and the source station corresponding to the message to be transmitted may also be different; however, not only the start node corresponding to the history message and the start node corresponding to the message to be transmitted need to be the same, but also the end node corresponding to the history message and the end node corresponding to the message to be transmitted need to be the same. The history message may be the first N messages of the messages to be transmitted, where N is an integer greater than 0. The history transit path includes a plurality of transit nodes, and may be partially the same as or completely different from the plurality of transit nodes in the transit path of the message to be transmitted.
As a first example, when the interval between the time when the starting node receives the message to be transmitted and the time when the starting node sends the history message does not exceed the time threshold, the representation is less likely to accelerate the change of the network distance between each node in the network, and at this time, the starting node may use the history transit path for transmitting the history message as the transit path for the message to be transmitted, so that the calculation amount of the starting node can be reduced on the premise of ensuring the message transmission speed, and the calculation resources of the acceleration network can be saved.
Here, the time threshold may be an average of time intervals of all the neighbor messages received by the start node; or may be a user-defined value; the network state of the node in the acceleration network (such as the load condition, the communication delay, the packet loss rate, and the like) may also be determined, wherein the network state of the node in the acceleration network is in proportion to the magnitude of the time threshold.
As a second example, when the originating node receives a message to be transmitted, the originating node takes a history transit path for transmitting the history message as a transit path for the message to be transmitted. Thus, the starting node can be prevented from recalculating the transit path.
As a third example, when the number of messages transmitted through the history transit path for transmitting the history messages does not exceed the number threshold, the load representing the history transit path is small, and at this time, the start node may use the history transit path for transmitting the history messages as the transit path of the messages to be transmitted, so that the calculation amount of the start node can be reduced on the premise of ensuring the message transmission speed, and the calculation resources of the acceleration network can be saved.
Here, the number threshold may be an average of the number of all the history transit path transmission messages; or may be a user-defined value; the network state of the node in the acceleration network (such as the load condition, the communication delay, the packet loss rate, and the like) may also be determined, wherein the network state of the node in the acceleration network is in direct proportion to the magnitude of the number threshold.
As a fourth example, when the performance of the history transit path for transmitting the history message can satisfy the performance requirement of transmitting the message, the originating node takes the history transit path for transmitting the history message as the transit path of the message to be transmitted (this example will be described in detail below).
In other embodiments, when the message to be transmitted received by the start node satisfies the following preset conditions, the start node determines a new transit path as the transit path of the message to be transmitted.
As a first example, when the interval between the time when the starting node receives the message to be transmitted and the time when the starting node sends the history message exceeds the time threshold, the characteristic is that the possibility of accelerating the change of the network distance between each node in the network is high, and at this time, the starting node determines a new transit path to be used as the transit path of the message to be transmitted. That is, the starting node updates the transit path of the transmission message at regular time, so that the calculation amount of the starting node can be reduced, and the calculation resource of the acceleration network is saved; and the transmission speed of the message can be guaranteed.
As a second example, when the originating node receives a message to be transmitted, the originating node determines a new transit path as a transit path of the message to be transmitted. That is to say, when the starting node receives the message to be transmitted, the starting node obtains the network distance between each node in the acceleration network in real time to determine a new transit path, so as to improve the speed of transmitting the message by the acceleration network.
As a third example, when the number of messages transmitted through the history transit path for transmitting the history messages exceeds the number threshold, the load representing the history transit path is large, and at this time, the start node needs to re-determine a new transit path to serve as the transit path of the message to be transmitted, so that the transmission speed of the message can be ensured.
As a fourth example, when the performance of the history transit path for transmitting the history message cannot meet the performance requirement of transmitting the message, the start node determines a new transit path as the transit path of the message to be transmitted.
Next, a specific implementation of the above example of determining whether the performance of the history relay path transmission message for transmitting the history message can meet the performance requirement of the transmission message will be described in detail.
In some embodiments, the start node acquires a historical transit path for transmitting the historical message, and determines a performance index of the historical transit path; wherein the performance index comprises at least one of: a load condition; communication delay; packet loss rate; and determining the message transmission capability of the historical transfer path according to the performance index of the historical transfer path.
As an example, the determining, by the start node, the capability of the historical transit path to transmit the message according to the performance indicator of the historical transit path includes: the starting node determines the performance score of the historical transit path according to the performance index of the historical transit path and the weight corresponding to the performance index; when the performance score of the historical transit path is lower than a score threshold value, the capability of representing the historical transit path to transmit the message cannot be used for transmitting the message; when the performance score of the historical transit path is not lower than the score threshold value, the capability of representing the historical transit path for transmitting the message can be used for transmitting the message; or when the change rate of the performance score of the historical transit path is higher than the change rate threshold value, the capability of representing the historical transit path to transmit the message cannot be used for transmitting the message; when the change rate of the performance score of the historical transit path is not higher than the change rate threshold value, the capability of representing the historical transit path to transmit the message can be used for transmitting the message.
Here, the weights corresponding to different performance indicators may be the same or different. The weight corresponding to the performance index is in direct proportion to the influence degree of the performance index on the message transmission speed.
The higher the performance score of the historical transit path is, the better the network condition representing the historical transit path is. The scoring threshold may be an average of the performance scores of all historical transit paths; or may be a user-defined value; the network state of the node in the accelerated network (such as the load condition, the communication delay, the packet loss rate, and the like) may also be determined, wherein the quality of the network state of the node in the accelerated network is proportional to the size of the scoring threshold.
The higher the change rate of the performance score of the historical transit path is, the larger the network condition transformation representing the historical transit path is, and thus, the starting node needs to recalculate a new transit path. The change rate threshold may be an average of the change rates of the performance scores of all the historical transit paths; or may be a user-defined value; the network state of the node in the acceleration network (such as the load condition, the communication delay, the packet loss rate, and the like) may also be determined, wherein the stability of the network state of the node in the acceleration network is proportional to the size of the scoring threshold.
As another example, the determining, by the start node, the capability of the historical transit path to transmit the message according to the performance indicator of the historical transit path includes: the starting node calls the neural network model to execute the following processing: extracting a characteristic vector of a performance index of a historical transit path; mapping the extracted feature vectors into the probability that the transit path needs to be updated and the probability that the transit path does not need to be updated, and taking the type corresponding to the maximum probability as a prediction result; when the prediction result is that the transfer path needs to be updated, the capability of representing the historical transfer path to transmit the message cannot be used for transmitting the message; when the prediction result is that the transit path does not need to be updated, the capability of characterizing the historical transit path to transmit messages can be used for transmitting messages.
Here, the neural network model is trained by using the performance index of the historical transit path and the type of the label for the historical transit path as samples.
The embodiment of the invention determines whether the starting node transmits the message to be transmitted by multiplexing the history transit path for transmitting the history message according to different dimensions, thereby reducing the calculation amount of the starting node and saving the calculation resource of an acceleration network; and the transmission speed of the message can be guaranteed.
In step S103, the originating node sends the message and the transit path to the first transit node in the transit path.
As an example of carrying out fig. 2A, when the message to be transmitted is a request message transmitted by the terminal 200 to the source station 300, the ingress node 420 transmits the request message and the transit path to the first transit node in the transit path, i.e., the transit node 411.
As another example of carrying out fig. 2A, when the message to be transmitted is a response message sent by the source station 300 to the terminal 200, the egress node 430 sends the response message and the transit path to the first transit node in the transit path, i.e., the transit node 413.
In step S104, the first transit node forwards the message and the transit path to the next transit node in the transit path until the message reaches the terminating node.
In some embodiments, when the first transit node determines that the first transit node is a termination node according to the transit path, the forwarding of the message and the transit path is stopped; and when the first transfer node determines that the first transfer node is not the termination node according to the transfer path, the message and the transfer path are continuously forwarded to the next transfer node according to the transfer path until the message and the transfer path are sent to the termination node.
As an example of carrying over fig. 2A, when the message to be transmitted is a request message sent by the terminal 200 to the source station 300, the terminating node is the egress node 430 in the acceleration network 400. The first transit node 411 determines that the first transit node is not the exit node 430 according to the transit path, and continues to send the request message and the transit path to the transit node 412; the transit node 412 determines that the transit node is not the exit node 430 according to the transit path, and continues to send the request message and the transit path to the exit node 430; the egress node 430 determines that it is an egress node according to the transit path, and stops forwarding the request message.
As another example of carrying over fig. 2A, when the message to be transmitted is a response message sent by the source station 300 to the terminal 200, the terminating node is the ingress node 420 in the acceleration network 400. The first transit node 413 determines that the first transit node is not the entry node 420 according to the transit path, and continues to send the response message and the transit path to the entry node 420; the ingress node 420 determines that it is an ingress node according to the transit path, and stops forwarding the response message.
In step S105, the terminating node transmits the message to the destination.
Here, the destination may be the terminal 200 or the source station 300.
As one example of carrying out fig. 2A, when the message to be transmitted is a request message transmitted by the terminal 200 to the source station 300, the egress node 430 transmits the request message to the source station 300.
As another example of carrying over fig. 2A, when the message to be transmitted is a response message transmitted by the source station 300 to the terminal 200, the egress node 430 transmits the response message to the terminal 200.
In the embodiment of the invention, the initial node of the acceleration network determines the transfer path of the message to be transmitted in real time, and the message to be transmitted is forwarded through the nodes contained in the transfer path, so that the destination can quickly acquire the corresponding message. In addition, the embodiment of the invention only calculates the transfer path at the initial node of the acceleration network, and does not calculate the transfer path again in the process of transferring the message, thereby saving the calculation resource of the acceleration network while ensuring the high message transmission speed.
When the message is a request message transmitted by the terminal for the source station, step S106 may be included before step S101, and step S107 may be included before step S102.
In step S106, the domain name server corresponding to the acceleration network (or called the domain name server of the acceleration network) selects a node closest to the geographical location of the terminal in the acceleration network as a start node.
In some embodiments, the terminal sends a request message to a local domain name server, and the local domain name server parses the request message to obtain a domain name of a corresponding source station; when the domain name of the source station is accessed to the acceleration network, the domain name server of the acceleration network selects a node closest to the geographical position of the terminal as a starting node (i.e., the entry node 420) according to the domain name of the source station.
In step S107, the start node selects a node closest to the geographical location of the source station in the acceleration network as a termination node.
In some embodiments, the start node obtains the network distance between each node in the acceleration network through the sink node; and selecting a termination node in the acceleration network according to the network distance between each node in the acceleration network and the geographical position of the source station.
As an example, the starting node selects a plurality of candidate nodes in the acceleration network, and determines a transmission path for transmitting the message to each candidate node; determining the sum of the network distances between adjacent transit nodes in each transmission path as the total distance from the starting node to the candidate node; and taking the candidate node corresponding to the transmission path with the shortest total distance as a termination node.
The embodiment of the invention determines the initial node according to the optimal access principle, and can shorten the transmission path from the acceleration network to the terminal, thereby not only improving the speed of acquiring the request message sent by the terminal by the acceleration network, but also improving the speed of sending the response message to the terminal by the acceleration network; the termination node is determined according to the optimal exit principle, and the transmission path from the acceleration network to the source station can be shortened, so that the speed of acquiring the response message sent by the source station by the acceleration network can be increased, and the speed of sending the request message to the source station by the acceleration network can be increased.
Referring to fig. 4, fig. 4 is a routing method for accelerating a network according to an embodiment of the present invention. The accelerating network 400 in fig. 2A further includes a sink node, and based on fig. 3, step S108 and step S109 may be included before step S101. Step S108 and step S109 may precede step S102.
In step S108, each node in the acceleration network determines a network distance between the node and each other node, and reports the network distance to the sink node.
Here, the sink node is a special transit node in the acceleration network. Each node is any one of an originating node, a terminating node, and a transit node in the acceleration network.
As an example of the relay node 7, the relay node 1, the relay node 2, the relay node 4, the relay node 5, the ingress node, and the egress node all report the network distance (or called network status) to the relay node 3 (i.e. the aggregation node).
In some embodiments, each node in the acceleration network sends a probe packet to the interconnected nodes and receives a response packet returned by the interconnected nodes in response to the probe packet; determining communication time delay according to the sending time of the detection packet and the receiving time of the response packet; determining packet loss rate according to the sending number of the detection packets and the receiving number of the response packets; determining a network distance according to the communication delay and the packet loss rate; and reporting the network distance to the sink node.
Here, the probe packet is a User Datagram Protocol (UDP) probe packet. The communication time delay is the difference between the sending time of the detection packet and the receiving time of the response packet, and the size of the communication time delay is in direct proportion to the size of the network distance; the packet loss rate is a ratio obtained by taking the sending number of the detection packets as a denominator and taking the receiving number of the response packets as a numerator, and the size of the packet loss rate is in direct proportion to the size of the network distance.
The embodiment of the invention can determine the network distance according to the communication time delay and the packet loss rate, and can also determine the network distance according to the bandwidth and the load of the link between the node and the interconnected node, wherein the bandwidth of the link between the node and the interconnected node is inversely proportional to the network distance, and the load of the link between the node and the interconnected node is proportional to the network distance.
In some embodiments, when a network failure occurs in a node in the acceleration network, the node with the network failure reports network information representing the network failure to the sink node. Therefore, the sudden change of the network state can be reported and reflected in time, so that the starting node can eliminate the failed node when determining the transit path, and the situation that the transit path cannot transmit the message successfully is avoided.
In step S109, the sink node summarizes the network distance sent by each node, and sends the summarized network distance to other nodes in the acceleration network.
Here, the other node is an arbitrary node other than the sink node in the acceleration network. The aggregated network distance is the global network interconnection distance of the acceleration network.
In some embodiments, the sink node broadcasts the network distance between each node in the acceleration network, so that the nodes in the acceleration network acquire the network distance between each node in the acceleration network through broadcasting, and thus, the network distance between each node can be acquired by the rest nodes in the acceleration network in the maximum range.
As an example of the relay node 7, the transit node 3 (i.e., the aggregation node) broadcasts the network distance (or network status) to the transit nodes 1, 2, 4, 5, the ingress node, and the egress node.
Too low a frequency of the broadcast by the sink node affects the timeliness of the data, and too high a frequency of the broadcast wastes the network bandwidth. In this way, the sink node can also respond to the on-demand pulling of other nodes on the network state.
In other embodiments, the sink node sends the network distance between each node in the acceleration network to the corresponding node in response to the acquisition request for the network distance between each node in the acceleration network, so that the bandwidth of the network can be saved while the real-time performance of the data is ensured.
A specific implementation of the method for accelerating network routing according to the embodiment of the present invention is described below with reference to a process in which the terminal 200 in fig. 2A sends a request message to the source station 300, so that the source station 300 sends a response message to the terminal 200 in response to the request message.
In some embodiments, when the message is a request message sent by the terminal 200 for the source station 300, the starting node is an ingress node 420 in the acceleration network 400 for receiving the request message sent by the terminal 200, and the terminating node is an egress node 430 in the acceleration network 400 for sending the request message to the source station 300.
As an example, the ingress node 420 determines a request message transit path, where the request message transit path includes a plurality of transit nodes; the entry node 420 sends the request message and the request message transit path to a first transit node in the request message transit path, so that the first transit node in the request message transit path forwards the request message and the request message transit path to a next transit node in the request message transit path according to the request message transit path until the request message reaches the exit node 430; the egress node 430 sends a request message to the source station 300.
In some embodiments, when the message is a response message for the source station 300 to respond to the request message of the terminal 200, the originating node is an egress node 430 in the acceleration network 400 for sending the request message to the source station 300, and the terminating node is an ingress node 420 in the acceleration network 400 for receiving the message sent by the terminal 200.
In some embodiments, the egress node 430 receives a response message sent by the source station 300 in response to the request message; the egress node 430 determines a response message transit path of the response message; the egress node 430 sends a response message to the ingress node 420 through the response message transit path; the ingress node 420 transmits a response message to the terminal 200.
Here, the response message transit path includes a plurality of transit nodes, which may be partially the same as or completely different from the plurality of transit nodes in the request message transit path.
As an example, the egress node 430 determines a response message transit path, and sends the response message and the response message transit path to a first transit node in the response message transit path, so that the first transit node in the response message transit path forwards the response message and the response message transit path to a next transit node in the response message transit path according to the response message transit path until the message reaches the ingress node 420; the ingress node 420 transmits a response message to the terminal 200.
In the embodiment of the invention, the transfer path is calculated in real time not only according to the user request, but also according to the source station response, so that the aim of bidirectional optimization is fulfilled.
In some embodiments, after step S109, the method may further include: the sink node stores the network distance between each node in the acceleration network into the blockchain network; the starting node acquires the network distance between each node in the acceleration network in the blockchain network by calling an intelligent contract, determines a transfer path according to the network distance between each node in the acceleration network, stores the transfer path into the blockchain network, so that the transfer node receiving the message acquires the transfer path in the blockchain network, transfers the message according to the transfer path, and stops transferring until the message is sent to the terminating node.
Here, since the relay node that receives the message can acquire the relay path through the blockchain network, only the message needs to be transmitted between nodes in the relay path, and the relay path does not need to be transmitted.
In some embodiments, nodes (e.g., aggregation nodes, start nodes, end nodes, and transit nodes) in the acceleration network 400 may be deployed in a blockchain network such that data in the blockchain network (e.g., transit paths and/or network distances between each node in the acceleration network) can be obtained by invoking intelligent contracts.
Next, an exemplary application of the routing method for an accelerated network provided by an embodiment of the present invention is described by taking an example that nodes in the accelerated network 400 in fig. 2A are deployed in a blockchain network. Referring to fig. 5, fig. 5 is an application schematic diagram of a routing method for accelerating a network according to an embodiment of the present invention, and includes a block chain network 600 (exemplarily showing a consensus node 610-1, a consensus node 610-2, and a consensus node 610-3), which are described below.
In some embodiments, the aggregation nodes, the start node, the end node, and the transit node in the acceleration network 400 may be co-located nodes in the blockchain network 600.
An exemplary application of the blockchain network is described below by taking as an example that the aggregation node in the accelerated network 400 uploads the network distance between each node in the accelerated network 400 to the blockchain network 600 for storage, and referring to fig. 5, it is known that the node 610-1 is an aggregation node.
In some embodiments, the consensus node 610-1 sets the logic for uplink at the network distance between each node, e.g., when the network distance between each node is obtained, the consensus node 610-1 generates a corresponding transaction comprising: intelligent contracts that need to be invoked in order to uplink the network distance between each node, and parameters passed to the intelligent contracts; the transaction is filled into a new tile in the blockchain network 600 and broadcast. When the consensus node 610-1 broadcasts the new block, it verifies the new block, for example, whether the digital signature of the transaction in the new block is valid or not, if the verification is successful, the new block is appended to the tail of the block chain stored in itself, and the state database is updated according to the result of the transaction, and the transaction in the new block is executed: for committed transactions that store the network distance between each node, a key-value pair that includes the network distance between each node is added to the state database.
An exemplary application of the blockchain network is described by taking the example that the start node in the acceleration network 400 queries the network distance between each node in the blockchain network 600 and stores the transit path in the blockchain network. Referring to fig. 5, the consensus node 610-2 is a starting node.
In some embodiments, the consensus node 610-2 performs a transaction for querying a network distance between each node, the transaction comprising: intelligent contracts which need to be invoked in order to query the network distance between each node; inquiring the network distance between each node from the state database by calling an intelligent contract; determining a transit path according to the network distance between each node in the acceleration network; the consensus node 610-2 sets the uplink logic of the transit path, for example, when the transit path is obtained, the consensus node 610-2 generates a corresponding transaction, which includes: the intelligent contract which needs to be called for the uplink transit path and the parameters transferred to the intelligent contract; the transaction is filled into a new tile in the blockchain network 600 and broadcast. When the consensus node 610-2 broadcasts the new block, it verifies the new block, for example, whether the digital signature of the transaction in the new block is valid or not, if the verification is successful, the new block is appended to the tail of the block chain stored in itself, and the state database is updated according to the result of the transaction, and the transaction in the new block is executed: for a submitted transaction storing transit paths, key-value pairs including transit paths are added in the status database.
Finally, an exemplary application of the blockchain network is described by taking the forwarding node receiving the message as an example to query the forwarding path in the blockchain network 600. Referring to fig. 5, the consensus node 610-3 is a transit node.
In some embodiments, the consensus node 610-3 performs a transaction for querying a transit path, the transaction comprising: intelligent contracts which need to be called for inquiring the transit path; inquiring a transfer path from a state database by calling an intelligent contract; and forwarding the message according to the forwarding path obtained by inquiry until the message is sent to the termination node.
According to the embodiment of the invention, the nodes in the acceleration network are deployed in the block chain network, so that the accuracy and the real-time performance of the network distance between each node of the acceleration network stored in the block chain network can be ensured; and by uploading the transfer path to the block chain network, only messages can be transmitted among the nodes without transmitting the transfer path, and the load of the nodes is reduced under the condition of ensuring the correct transmission path.
Continuing with fig. 2A, an exemplary structure of the acceleration network provided by the embodiment of the present invention is described below, and in some embodiments, as shown in fig. 2A, the acceleration network 400 may include: transit node 410, start node 440, and end node 450.
The start node 440 is configured to determine a transfer path of the message to be transmitted according to the position of the end node and a network distance between each node in the acceleration network and each node that is interconnected;
the start node 440 is further configured to send the message and the transit path to a transit node 410 in the transit path;
the transit node 410 is configured to forward the message and the transit path to a next transit node 410 in the transit path until the message reaches the terminating node 450;
the terminating node 450 is configured to send the message to a destination.
In the above solution, when the message is a request message sent by a terminal for a source station, the starting node 440 is an ingress node 420 in the acceleration network 400 for receiving the message sent by the terminal, and the terminating node 450 is an egress node 430 in the acceleration network 400 for sending the request message to the source station.
In the above solution, the egress node 430 is further configured to receive a response message, where the response message is used by the source station to respond to the request message; determining a response message transit path of the response message, and sending the response message to the ingress node 420 through the response message transit path; the ingress node 420 is further configured to send the response message to the terminal.
In the above solution, when the message is a response message used by a source station to respond to a request message of a terminal, the starting node 440 is an egress node 430 in the acceleration network 400 for sending the request message to the source station, and the terminating node 450 is an ingress node 420 in the acceleration network 400 for receiving the request message.
In the above solution, the start node 440 is further configured to determine a plurality of candidate transit paths for transmitting the message to the end node 450; determining the sum of the network distances between the adjacent transit nodes 410 in the candidate transit path as the length of the candidate transit path; and determining the candidate transfer path with the shortest length as the transfer path of the message to be transmitted.
In the above solution, the start node 440 is further configured to determine a new transit path as a transit path of the message to be transmitted when the start node 440 receives the message to be transmitted and an interval between the receiving time and the sending of the history message exceeds a time threshold; when the starting node 440 receives the message to be transmitted and the interval between the receiving time and the sending of the history message does not exceed the time threshold, taking the history transit path for transmitting the history message as the transit path of the message to be transmitted; the terminating node 450 corresponding to the history message is the same as the terminating node 450 corresponding to the message to be transmitted.
In the above solution, when the message is a request message sent by a terminal for a source station, the start node 440 is determined by a domain name server corresponding to the acceleration network 400, and the start node 440 is a closest node in the acceleration network 400 and between the geographical locations of the terminal; the start node 440 is further configured to select a node closest to the geographical location of the source station in the acceleration network 400 as the end node 450.
In the above solution, the acceleration network 400 further includes a sink node 460, and each node in the acceleration network 400 determines a network distance between the node and each other node, and reports the network distance to the sink node 460; wherein each node is any one of the start node, the end node and the transit node; the sink node 460 is configured to collect the network distances sent by each node, and send the collected network distances to the nodes in the acceleration network 400; wherein the other node is any node in the acceleration network except the aggregation node.
In the above solution, each node in the acceleration network 400 sends a probe packet to the interconnected nodes, and receives a response packet returned by the interconnected nodes in response to the probe packet; determining communication time delay according to the sending time of the detection packet and the receiving time of the response packet; determining packet loss rate according to the sending number of the detection packets and the receiving number of the response packets; and determining the network distance according to the communication delay and the packet loss rate.
Embodiments of the present invention provide a computer-readable storage medium storing executable instructions, which, when executed by a processor, will cause the processor to execute a routing method of an acceleration network provided by an embodiment of the present invention, for example, the routing method of an acceleration network as shown in fig. 3 or fig. 4, where the computer includes various computing devices including an intelligent terminal and a server.
In some embodiments, the computer-readable storage medium may be memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash, magnetic surface memory, optical disk, or CD-ROM; or may be various devices including one or any combination of the above memories.
In some embodiments, executable instructions may be written in any form of programming language (including compiled or interpreted languages), in the form of programs, software modules, scripts or code, and may be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
By way of example, executable instructions can correspond, but do not necessarily correspond, to files in a file system, and can be stored in a portion of a file that holds other programs or data, e.g., in one or more scripts stored in a hypertext markup language document, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub-programs, or portions of code).
By way of example, executable instructions may be deployed to be executed on one computing device or on multiple computing devices at one site or distributed across multiple sites and interconnected by a communication network.
In the following, an exemplary application of the embodiments of the present invention in a practical application scenario will be described.
In the related art, the conventional unidirectional routing configuration scheme is implemented according to the following principle: for a specified domain name or IP of a source station, an access path is manually configured, and the same routing information is configured for all nodes on the path, so that all request messages/response messages corresponding to the source station are transmitted through a fixed path, which is illustrated in path 1 in fig. 1.
The biggest problem of the related technology is to adopt a invariable processing mode for the routing information, namely, once the routing information is determined, the routing information does not change any more, and the transmission of the request message/the response message is solidified on the same path. The scheme is difficult to effectively process the burst situation which appears in real time in an accelerated network, and the following defects exist in practical application:
first, when a node of the acceleration network fails, all data transmission required to pass through the node is affected, so that the network availability is reduced. In addition, the load of the network nodes and the transmission rate among the nodes are changed all the time, and the performance reduction of the nodes can cause the transmission delay to rise and the transmission quality to reduce. Acceleration schemes for solidified routing do not solve these problems.
Second, the accelerated network may add or delete nodes, and the solidified route is no longer optimal or may even become unavailable. The acceleration network may also perform software/hardware updates on the nodes to improve performance, and the solidified routes cannot reflect such changes and cannot efficiently utilize network resources.
Finally, during the period from the time when the user initiates the request to the time when the source station sends the response, the network condition is likely to change, the transmission path determined by the outbound route is not necessarily optimal for the backhaul, and the related technology cannot achieve bidirectional optimization.
In the embodiment of the invention, for a request of a specified source station, an accelerated network access node (namely the initial node) determines routing information by comprehensively considering the load condition of each node in a network, the communication time delay between nodes and the packet loss rate, and adjusts the routing information in real time in subsequent transmission; for updating node software and hardware, the embodiment of the invention can realize real-time perception and dynamically adjust the route; in addition, in addition to the route calculation for the user request (i.e. the request message), the embodiment of the present invention further includes the route generation and real-time adjustment for the source station response (i.e. the response message), so as to achieve the purpose of bidirectional optimization.
The specific implementation manner of the routing method for accelerating the network provided by the embodiment of the invention comprises the following steps:
(1) in the acceleration network, each node sends a detection request (i.e., the detection packet) to other interconnected nodes (i.e., the interconnected nodes) at regular time, and network delay (i.e., the communication delay) and packet loss information (i.e., the packet loss rate) between the interconnected nodes are obtained in a UDP detection manner, so that the network distance between the interconnected nodes is calculated and updated.
(2) Each node reports the network distance of the interconnected nodes to the sink node at regular time, and the sink node is also a transfer node (namely a data forwarding node) and is also responsible for summarizing tasks of data reported by other nodes. And the aggregation node performs summary calculation on the reported data to obtain global network interconnection distance information. And the sink node broadcasts the global network interconnection distance information to other nodes at regular time.
(3) After receiving the user request, the entrance node of the acceleration network determines the optimal exit node according to the source station destination IP, calculates the transfer path according to the network shortest path algorithm and transmits data. Meanwhile, the entry node starts a timing task to recalculate the transit path, so that the subsequent data can be transmitted according to the real-time optimal transit path. After receiving the transit data, the transit node judges whether the transit node is an exit node or not according to the routing information, if so, the transit node sends the data to the source station, otherwise, the transit node sends the data to the next transit node.
(4) And after receiving the source station response, the exit node of the acceleration network calculates a transfer path from the exit node to the entrance node according to a network shortest path algorithm and transmits data. Meanwhile, the exit node starts a timing task to recalculate the transit path, so that the subsequent data can be transmitted according to the real-time optimal transit path. And after receiving the transit data, the transit node judges whether the transit node is an entrance node or not according to the routing information, if so, the transit node sends the data to the user terminal, and otherwise, the transit node sends the data to the next transit node.
With the development of the internet, the global network structure becomes more and more complex, and the user experience is affected when data transmission is performed directly on the internet, such as packet loss and slow response. The dynamic acceleration network realizes stable and safe dynamic request acceleration in the global range by using acceleration nodes and an optimal link algorithm which are distributed all over the world, and solves the problems of slow response, packet loss, unstable service and the like caused by inter-operator, inter-country and network instability in internet data transmission.
Referring to fig. 6, fig. 6 is an application schematic diagram of a routing method for accelerating a network according to an embodiment of the present invention, and the following description is made with reference to fig. 6.
(1) A user terminal accesses a certain site and firstly sends a domain name resolution request to a local domain name server;
(2) since the domain name is accessed to the acceleration service, the local domain name server will resolve the domain name to an acceleration domain name.
(3) - (4) resolving the accelerated domain name by a domain name server of the accelerated network to obtain an entry node address of the accelerated network;
(5) the request is sent to an entry node closest to the user terminal in the acceleration network;
(6) the entrance node determines the best exit node according to the visited source station address and the current network condition, calculates the best route (namely the transit path) from the entrance node to the exit node, and forwards the request and the route to the next node in the route, namely the transit node 1;
(7) the transit node 1 receives the request and the route, determines that the transit node is not a target node (namely, an exit node), and sends the request and the route to a next node, namely, a transit node 2;
(8) the transit node 2 receives the request and the route, determines that the transit node is not a target node (an exit node), and sends the request and the route to a next node, namely the exit node;
(9) the exit node sends a request to the source station;
(10) the source station sending a response to the egress node in response to the request;
(11) the exit node calculates the optimal route from the exit node to the entrance node according to the entrance node requested by the user and the current network condition, and forwards the response and the route to the next node, namely a transit node 3;
(12) the transit node 3 receives the response and the route, determines that the transit node is not a target node (namely, an entry node), and sends the response and the route to a next node, namely, the entry node;
(13) the ingress node sends a response to the user terminal.
The embodiment of the invention is transparent to the user, and the user does not need to change any operation mode. For a site accessing an acceleration service, only a domain name server needs to be configured, and a request for accessing the site is resolved to the domain name server of the acceleration network, so that the threshold of accessing the acceleration network by a source station is not high.
Referring to fig. 7, fig. 7 is a schematic structural diagram of an acceleration network according to an embodiment of the present invention, and the following description is made with reference to fig. 7.
(1) Each node sends detection packets to other interconnected nodes at regular time to acquire network delay and packet loss information, so that the network distance between the interconnected nodes is calculated and updated, and the network distance is reported to a sink node (namely a transit node 3) at regular time;
(2) the sink node is also a data forwarding node, and meanwhile, the reported data of other nodes are summarized and calculated to obtain global network distance information. The sink node broadcasts the global network distance information to other nodes at regular time;
(3) specifically, when a certain request/response is received, a certain node in the request/response becomes an entrance node according to the optimal access principle; according to the optimal export principle, one node becomes an export node;
(4) the entrance node calculates the optimal route according to the shortest path algorithm of the network, and a plurality of nodes of the acceleration network become transfer nodes of the transmission request;
(5) the entrance node starts a timing task to recalculate the transit path, so that the subsequent data (namely the message) can be transmitted according to the real-time optimal transit path;
(6) after receiving the request and the route, the transit node judges whether the transit node is an exit node or not according to the route, if so, the transit node sends the request to the source station, otherwise, the transit node sends the request and the route to the next transit node;
(7) after receiving the source station response, the exit node calculates the optimal route from the exit node to the entrance node according to the network shortest path algorithm and carries out response transmission;
(8) the exit node starts a timing task to recalculate the transfer path, so that the subsequent data can be transmitted according to the real-time optimal transfer path;
(9) after receiving the response and the route, the transit node judges whether the transit node is an entrance node or not according to the route, if so, the transit node sends the response to the user terminal, otherwise, the transit node sends the response and the route to the next transit node.
The embodiment of the invention not only can enable the request/response to obtain the route with the lowest network delay, but also can shield the fault node in the network and dynamically update the bidirectional transmission route in real time; for the client (i.e. the user side), the original operation mode is still maintained, but all access requests can be accelerated; for the source station, the acceleration service provided by the embodiment of the invention only needs to be simply modified at the domain name server, the threshold difficulty of accessing the acceleration network is low, but all responses of the acceleration network can be accelerated.
The embodiment of the invention adopts the modes of regularly reporting the network state (namely the network distance), regularly broadcasting the network state and regularly calculating the optimal route to ensure the dynamic real-time performance of the transmission route. Here, the timed reporting is a periodic sending mode, and for a sudden network state change, reporting and reflecting cannot be performed timely; therefore, the embodiment of the invention can also adopt a mode of combining the timing report and the burst report to carry out the network state report. The timing broadcast is a full network state data broadcast, wherein some data which has no change or little change exists, and the timing broadcast is a push mode, the data timeliness is affected by too low frequency of the broadcast, and the network bandwidth is wasted by too high frequency of the broadcast. Therefore, the embodiment of the invention can also broadcast the network state by adopting a push-pull combination mode, the period of the timing broadcast of the sink node can be properly prolonged, and the network state can be pulled as required by other nodes in real time.
In summary, the embodiments of the present invention have the following beneficial effects:
(1) the starting node of the acceleration network determines the transfer path of the message to be transmitted in real time, and the message to be transmitted is forwarded through the nodes contained in the transfer path, so that the destination can quickly acquire the corresponding message. And the transit path is only calculated at the initial node of the acceleration network, and the transit path is not recalculated in the process of message transit, so that the computing resource of the acceleration network can be saved while the message transmission speed is high.
(2) Whether the starting node transmits the message to be transmitted by multiplexing the history transit path for transmitting the history message is determined according to different dimensions, so that the calculation amount of the starting node can be reduced, and the calculation resource of an acceleration network is saved; and the transmission speed of the message can be guaranteed.
(3) The initial node is determined according to the optimal access principle, and the transmission path from the acceleration network to the terminal can be reduced, so that the speed of acquiring the request message sent by the terminal by the acceleration network can be increased, and the speed of sending the response message to the terminal by the acceleration network can be increased; the termination node is determined according to the optimal exit principle, and the transmission path from the acceleration network to the source station can be reduced, so that the speed of acquiring the response message sent by the source station by the acceleration network can be increased, and the speed of sending the request message to the source station by the acceleration network can be increased.
(4) The nodes in the acceleration network are deployed in the blockchain network, so that the accuracy and the real-time performance of the network distance between each node of the acceleration network stored in the blockchain network can be ensured; and by uploading the transfer path to the block chain network, only messages can be transmitted among the nodes without transmitting the transfer path, and the load of the nodes is reduced under the condition of ensuring the correct transmission path.
(5) The transfer path is calculated in real time according to the user request and the source station response, so that the aim of bidirectional optimization is fulfilled.
The above description is only an example of the present invention, and is not intended to limit the scope of the present invention. Any modification, equivalent replacement, and improvement made within the spirit and scope of the present invention are included in the protection scope of the present invention.

Claims (10)

1. A method for accelerating routing of a network,
the acceleration network comprises a starting node, a terminating node and a transfer node;
the method comprises the following steps:
the starting node determines a transfer path of the message to be transmitted according to the position of the ending node and the network distance between each node in the acceleration network and the interconnected nodes;
the starting node sends the message and the transit path to a first transit node in the transit path so as to enable the starting node to send the message and the transit path to the first transit node in the transit path
The first transit node forwards the message and the transit path to a next transit node in the transit path until the message reaches the termination node;
the terminating node sends the message to a destination.
2. The method of claim 1,
when the message is a request message sent by a terminal aiming at a source station, the starting node is an inlet node used for receiving the request message sent by the terminal in the acceleration network, and the terminating node is an outlet node used for sending the request message to the source station in the acceleration network.
3. The method of claim 2, further comprising:
the exit node receives a response message used by the source station for responding to the request message, determines a response message transfer path of the response message, and sends the response message to the entrance node through the response message transfer path;
and the entrance node sends the response message to the terminal.
4. The method of claim 2,
when the message is a response message of the source station for responding to the request message of the terminal, the starting node is an exit node in the acceleration network for sending the request message to the source station, and the terminating node is an entry node in the acceleration network for receiving the request message sent by the terminal.
5. The method of claim 1, wherein the initiating node determines a transit path for the message to be transmitted, comprising:
the starting node determines a plurality of candidate transit paths for transmitting the message to the terminating node;
determining the sum of network distances between adjacent transit nodes in the candidate transit path as the length of the candidate transit path;
and determining the candidate transfer path with the shortest length as the transfer path of the message to be transmitted.
6. The method of claim 1, wherein the initiating node determines a transit path for the message to be transmitted, comprising:
when the starting node receives the message to be transmitted and the interval between the receiving time and the historical message sending time exceeds a time threshold, the starting node determines a new transit path to be used as the transit path of the message to be transmitted;
when the starting node receives the message to be transmitted and the interval between the receiving time and the historical message sending time does not exceed a time threshold, the starting node takes the historical transit path for transmitting the historical message as the transit path of the message to be transmitted;
and the termination node corresponding to the history message is the same as the termination node corresponding to the message to be transmitted.
7. The method of claim 1,
when the message is a request message sent by a terminal aiming at a source station, the starting node is determined by a domain name server corresponding to the acceleration network, and the starting node is a node which is closest to the geographical position of the terminal in the acceleration network;
the method further comprises the following steps:
and the starting node selects a node which is closest to the geographical position of the source station in the acceleration network as the terminating node.
8. The method of claim 1,
the acceleration network also comprises a sink node;
the method further comprises the following steps:
each node in the acceleration network determines the network distance between the nodes which are interconnected with each other, and reports the network distance to the sink node;
wherein each node is any one of the start node, the end node and the transit node;
the sink node collects the network distance sent by each node and sends the collected network distance to other nodes in the acceleration network;
wherein the other node is any node in the acceleration network except the aggregation node.
9. The method of claim 8, wherein determining a network distance between each node in the acceleration network and the interconnected nodes comprises:
each node sends a detection packet to the interconnected nodes and receives a response packet returned by the interconnected nodes in response to the detection packet;
determining communication time delay according to the sending time of the detection packet and the receiving time of the response packet;
determining packet loss rate according to the sending number of the detection packets and the receiving number of the response packets;
and determining the network distance according to the communication delay and the packet loss rate.
10. An acceleration network, comprising:
the starting node is used for determining a transfer path of the message to be transmitted according to the position of the ending node and the network distance between each node in the acceleration network and the interconnected nodes;
the starting node is further configured to send the message and the transit path to a transit node in the transit path;
the transit node is configured to forward the message and the transit path to a next transit node in the transit path until the message reaches a termination node;
the termination node is used for sending the message to a destination.
CN202010511019.8A 2020-06-08 2020-06-08 Routing method of acceleration network and acceleration network Active CN111683013B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010511019.8A CN111683013B (en) 2020-06-08 2020-06-08 Routing method of acceleration network and acceleration network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010511019.8A CN111683013B (en) 2020-06-08 2020-06-08 Routing method of acceleration network and acceleration network

Publications (2)

Publication Number Publication Date
CN111683013A true CN111683013A (en) 2020-09-18
CN111683013B CN111683013B (en) 2022-03-08

Family

ID=72435156

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010511019.8A Active CN111683013B (en) 2020-06-08 2020-06-08 Routing method of acceleration network and acceleration network

Country Status (1)

Country Link
CN (1) CN111683013B (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112601176A (en) * 2020-12-07 2021-04-02 四川迅游网络科技股份有限公司 Acceleration method and system based on user terminal positioning information
CN113300962A (en) * 2021-01-26 2021-08-24 阿里巴巴集团控股有限公司 Path acquisition method, access method, device and equipment
CN113301170A (en) * 2021-07-27 2021-08-24 湖南三湘银行股份有限公司 Data processing method based on communication node
CN114520784A (en) * 2021-12-24 2022-05-20 天翼云科技有限公司 Dynamic content accelerated access method and device
CN114567471A (en) * 2022-02-22 2022-05-31 珠海市鸿瑞信息技术股份有限公司 Electric power communication network safety detection system and method based on 5G
WO2022218341A1 (en) * 2021-04-16 2022-10-20 华为云计算技术有限公司 Data forwarding method and related apparatus
CN115297126A (en) * 2022-07-11 2022-11-04 杭州趣链科技有限公司 Information transmission method, device, terminal and storage medium based on block chain

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103532817A (en) * 2013-10-12 2014-01-22 无锡云捷科技有限公司 CDN (content delivery network) dynamic acceleration system and method
CN106656800A (en) * 2017-02-21 2017-05-10 网宿科技股份有限公司 Path selection method and system, network acceleration node and network acceleration system
CN109981765A (en) * 2019-03-18 2019-07-05 北京百度网讯科技有限公司 Method and apparatus for determining the access path of content distributing network
US20200021516A1 (en) * 2017-06-20 2020-01-16 Cisco Technology, Inc. Network path selection

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103532817A (en) * 2013-10-12 2014-01-22 无锡云捷科技有限公司 CDN (content delivery network) dynamic acceleration system and method
CN106656800A (en) * 2017-02-21 2017-05-10 网宿科技股份有限公司 Path selection method and system, network acceleration node and network acceleration system
US20200021516A1 (en) * 2017-06-20 2020-01-16 Cisco Technology, Inc. Network path selection
CN109981765A (en) * 2019-03-18 2019-07-05 北京百度网讯科技有限公司 Method and apparatus for determining the access path of content distributing network

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112601176A (en) * 2020-12-07 2021-04-02 四川迅游网络科技股份有限公司 Acceleration method and system based on user terminal positioning information
CN113300962A (en) * 2021-01-26 2021-08-24 阿里巴巴集团控股有限公司 Path acquisition method, access method, device and equipment
WO2022218341A1 (en) * 2021-04-16 2022-10-20 华为云计算技术有限公司 Data forwarding method and related apparatus
CN113301170A (en) * 2021-07-27 2021-08-24 湖南三湘银行股份有限公司 Data processing method based on communication node
CN114520784A (en) * 2021-12-24 2022-05-20 天翼云科技有限公司 Dynamic content accelerated access method and device
CN114520784B (en) * 2021-12-24 2023-10-10 天翼云科技有限公司 Dynamic content acceleration access method and device
CN114567471A (en) * 2022-02-22 2022-05-31 珠海市鸿瑞信息技术股份有限公司 Electric power communication network safety detection system and method based on 5G
CN114567471B (en) * 2022-02-22 2022-10-28 珠海市鸿瑞信息技术股份有限公司 Electric power communication network safety detection system and method based on 5G
CN115297126A (en) * 2022-07-11 2022-11-04 杭州趣链科技有限公司 Information transmission method, device, terminal and storage medium based on block chain
CN115297126B (en) * 2022-07-11 2024-06-14 杭州趣链科技有限公司 Information transmission method, device, terminal and storage medium based on block chain

Also Published As

Publication number Publication date
CN111683013B (en) 2022-03-08

Similar Documents

Publication Publication Date Title
CN111683013B (en) Routing method of acceleration network and acceleration network
KR102514250B1 (en) Method, Apparatus and System for Selecting a Mobile Edge Computing Node
US11290418B2 (en) Hybrid content request routing system
KR102301353B1 (en) Method for transmitting packet of node and content owner in content centric network
US10404790B2 (en) HTTP scheduling system and method of content delivery network
US11012892B2 (en) Resource obtaining method, apparatus, and system
CN113497817B (en) Traffic scheduling method and device, edge node of CDN (content delivery network) and server
WO2016015582A1 (en) Packet transmission method, apparatus and system
US10715592B2 (en) Network node, endpoint node and method of receiving an interest message
US11502956B2 (en) Method for content caching in information-centric network virtualization
CN112256495A (en) Data transmission method and device, computer equipment and storage medium
US11115498B2 (en) Multi-path management
CN112087390B (en) Network routing method and device
WO2023221452A1 (en) Packet processing system and method, device, and storage medium
WO2024104284A1 (en) Nwdaf-based management and decision-making method for computing resources
CN113452808A (en) Domain name resolution method, device, equipment and storage medium
CN116633934A (en) Load balancing method, device, node and storage medium
US20130198330A1 (en) Cooperative catching method and apparatus for mobile communication system
CN108183867B (en) Information center network node cache replacement method
CN107040466B (en) Multi-domain cooperative data transmission path selection method based on layered architecture of Internet of things
WO2020249128A1 (en) Service routing method and apparatus
CN112202833A (en) CDN system, request processing method and scheduling server
WO2010031297A1 (en) Method of wireless application protocol (wap) gateway pull service and system thereof
CN115811515A (en) File access method and system based on fragments under edge cloud environment
US20210157769A1 (en) Distributed storage system for storing context data

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