CN113852555A - Gateway-based multi-channel route fast forwarding and intelligent routing method - Google Patents

Gateway-based multi-channel route fast forwarding and intelligent routing method Download PDF

Info

Publication number
CN113852555A
CN113852555A CN202111128446.9A CN202111128446A CN113852555A CN 113852555 A CN113852555 A CN 113852555A CN 202111128446 A CN202111128446 A CN 202111128446A CN 113852555 A CN113852555 A CN 113852555A
Authority
CN
China
Prior art keywords
matching
channel
message
library
routing
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
CN202111128446.9A
Other languages
Chinese (zh)
Other versions
CN113852555B (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.)
Tianyi Digital Life Technology Co Ltd
Original Assignee
Tianyi Digital Life Technology 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 Tianyi Digital Life Technology Co Ltd filed Critical Tianyi Digital Life Technology Co Ltd
Priority to CN202111128446.9A priority Critical patent/CN113852555B/en
Publication of CN113852555A publication Critical patent/CN113852555A/en
Priority to PCT/CN2022/097529 priority patent/WO2023045403A1/en
Application granted granted Critical
Publication of CN113852555B publication Critical patent/CN113852555B/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/74Address processing for routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9014Indexing; Data structures therefor; Storage structures hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways

Abstract

The invention relates to a gateway-based multi-channel route fast forwarding and intelligent routing method. The invention models the channel resources according to the effective bank and the full bank, and uses the HASH matching algorithm to carry out efficient matching. Meanwhile, the real-time feedback and the channel resource evaluation are utilized to intelligently select the channel of the multiple channels, and the channel message is quickly forwarded according to the weighting factor.

Description

Gateway-based multi-channel route fast forwarding and intelligent routing method
Technical Field
The invention relates to a network technology, in particular to gateway-based multi-channel route fast forwarding and intelligent routing.
Background
When receiving the message, the gateway needs to complete the routing of the message according to the attributes of the destination IP, the domain name, the source MAC, and the like. When multiple channels exist in the gateway, some channels may be not fully used, and channel resources are wasted; some channels are overloaded, causing network congestion.
Policy routing is a more flexible packet routing and forwarding mechanism than routing based on a target network. The router will decide how to handle the data packets to be routed through the routing map, which decides the router to forward the next hop of a data packet.
However, because the number of IP and domain names is large, the routing graph scheme including a large amount of data cannot complete the fast routing of the designated channel, thereby affecting the forwarding performance.
It is therefore desirable to provide a solution that can expedite the routing of messages.
Disclosure of Invention
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
The invention aims at a multi-channel scene, carries out modeling on channel resources, uses an intelligent routing scheduling module to complete the selection of multiple channels, and uses a weighting factor to complete the rapid forwarding of channel messages.
According to an embodiment of the present invention, there is provided a method for multi-channel routing, including: generating a full-scale HASH matching library by performing HASH calculation on feature matching conditions based on the feature matching conditions and channels, wherein the feature matching conditions comprise a destination IP/domain name and a source MAC, the full-scale HASH matching library comprises a plurality of routing information items, and each routing information item indicates the destination IP/domain name and the source MAC and the channel corresponding to the destination IP/domain name and the source MAC; analyzing a message received from an application to extract a feature matching condition of the message; matching in a route validation library based on the extracted feature matching conditions to find a channel corresponding to the message, wherein the route validation library comprises route information items which are successfully matched in a full HASH matching library previously; if the matching in the route validation library is successful, sending the message into a channel corresponding to the message; if the matching in the route validation library is unsuccessful, matching in the full HASH matching library based on the extracted feature matching condition to search a channel corresponding to the message; and if the matching in the full HASH matching library is successful, updating the successfully matched routing information items into the routing validation library, and sending the message into a channel corresponding to the message.
According to another embodiment of the present invention, there is provided a system for multi-channel routing, including: a configuration module configured to generate a full-scale HASH matching repository by HASH computing the feature matching conditions based on feature matching conditions including a destination IP/domain name and a source MAC and a tunnel, the full-scale HASH matching repository including a plurality of routing information entries, each routing information entry indicating a destination IP/domain name and a source MAC and a tunnel corresponding thereto; a message parsing module configured to parse a message received from an application to extract a feature matching condition of the message; a single channel fast routing module configured to: matching in a route validation library based on the extracted feature matching conditions to find a channel corresponding to the message, wherein the route validation library comprises route information items which are successfully matched in a full HASH matching library previously; if the matching in the route validation library is successful, sending the message into a channel corresponding to the message; if the matching in the route validation library is unsuccessful, matching in the full HASH matching library based on the extracted feature matching condition to search a channel corresponding to the message; and if the matching in the full HASH matching library is successful, updating the successfully matched routing information items into the routing validation library, and sending the message into a channel corresponding to the message.
According to yet another embodiment of the present invention, there is provided a computing device for multi-channel routing, including: a processor; a memory storing instructions that, when executed by the processor, are capable of performing the method as described above.
These and other features and advantages will become apparent upon reading the following detailed description and upon reference to the accompanying drawings. It is to be understood that both the foregoing general description and the following detailed description are explanatory only and are not restrictive of aspects as claimed.
Drawings
So that the manner in which the above recited features of the present invention can be understood in detail, a more particular description of the invention, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only some typical aspects of this invention and are therefore not to be considered limiting of its scope, for the description may admit to other equally effective aspects.
FIG. 1 shows a prior art diagram 100 for multi-channel routing of messages from an application;
FIG. 2 illustrates a block diagram of a multi-channel routing system 200 according to one embodiment of the invention;
FIG. 3 shows a flow diagram of a method 300 for multi-channel routing according to one embodiment of the invention; and
FIG. 4 shows a block diagram 400 of an exemplary computing device, according to an embodiment of the invention.
Detailed Description
The present invention will be described in detail below with reference to the attached drawings, and the features of the present invention will be further apparent from the following detailed description.
The following detailed description refers to the accompanying drawings that illustrate exemplary embodiments of the invention. The scope of the invention is not, however, limited to these embodiments, but is defined by the appended claims. Accordingly, embodiments other than those shown in the drawings, such as modified versions of the illustrated embodiments, are encompassed by the present invention.
References in the specification to "one embodiment," "an example embodiment," etc., indicate that the embodiment may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the relevant art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
Some terms herein are first briefly defined, and specific implementations will be described in the following embodiments:
1. characteristic matching conditions are as follows: e.g., destination IP, domain name, source MAC, configured by a user or administrator;
2. full HASH matched library: performing HASH calculation on the characteristic matching conditions to generate a full-scale matching library; the method is characterized in that: the number of feature matching conditions is large, and matching is time-consuming, for example: 40 ten thousand IPs and 5 ten thousand domain names.
3. The routing validation library: aiming at the application from which the message comes, after the message is matched in the full HASH matching library, putting a specific route into the library; the method is characterized in that: the quantity is small, and the matching time is neglected.
Fig. 1 shows a prior art diagram 100 of multi-channel routing of messages from an application. Gateway device 102 may receive messages from different applications (such as applications 101-a through 101-N) and gateway device 102 may route the messages to one of a plurality of channels (such as channels 104-a through 104-N), for example, based on stored routing table 103, to forward the messages to internet 105 over the appropriate channel. In general, gateway device 102 may be down-hung with one or more down-hung devices (e.g., PCs, cell phones, tablets, laptops, etc.), on which applications 101-a through 101-N may be implemented. In addition, the routing table 103 stores paths pointing to specific network addresses (e.g., destination IP, domain name, etc.) that contain the packet transmission priority path selected by the routing algorithm. For example, upon receiving a message from the application 101A, the gateway device 102 may compare the destination address of the message with corresponding information in the routing table 103, thereby obtaining an appropriate channel for the message. However, because the amount of data in the routing table is extremely large, it is inefficient to select a channel for a packet based only on the routing table.
Fig. 2 illustrates a block diagram of a multi-channel routing system 200 according to one embodiment of the invention, which system 200 may be implemented in a gateway device or other device for routing. The gateway device may have one or more drop devices suspended thereon, and the system 200 may efficiently route messages received from applications on the one or more drop devices.
As shown in fig. 2, the system 200 may include a configuration module 201, a packet parsing module 202, a single-channel fast routing module 203, a forwarding performance evaluation module 204, a multi-channel routing module 205, and a resource scheduling module 206. It is fully understood by those skilled in the art that the above modules are illustrated herein for illustrative purposes only, and that the functionality of one or more of the above modules may be combined into a single module or split into multiple modules. Also, one or more of the above modules may be implemented in software, hardware, or a combination thereof.
According to one embodiment of the invention, the configuration module 201 is configured to perform HASH calculations on channel resources by feature matching conditions to generate a full HASH matching library 207. The user or the administrator may issue the "feature matching condition" and the "channel", and the configuration module 201 performs HASH calculation on the received "feature matching condition". The feature matching conditions may include the destination IP/domain name, the source MAC (i.e., the MAC of the drop device in which the application sending the message is implemented).
According to an embodiment of the present invention, the maximum number of entries of the feature matching conditions for generating the full HASH matching library 207 may be determined according to the memory and FLASH capacity of the gateway device or other device for routing in which the system 200 is implemented, the value range of each condition is determined according to the number of bytes, and the maximum number of entries and the range are as follows:
the target IP supports 40 million pieces of IPv4 or IPv6 at most, the IPv4 is 4 bytes, and the IPv6 is 16 bytes. For example, 8.8.8.8,2400:3200: 1, as long as it is an external network IP, except a local IP (e.g., 127.0.0.1);
domain name: the maximum support is 5 ten thousand domain names, and each domain name has a maximum of 255 bytes. For example, baidu.com, xxx.xx.x.news.baidu.com;
source MAC maximum support 32 source MACs (drop off device source MACs connected to the gateway, such as PC, cell phone, etc.), each source MAC fixed to 12 bytes. For example, 00ED 12345678;
a channel: i.e., network channels (also referred to as message outlets), such as the ultra-wide channels of the cloud network, may be determined according to the number of channels.
Because the number of feature matching conditions is large (e.g., 40-ten thousand IP and 5-thousand domain names), in order to reduce the time consumption of matching, the configuration module 201 performs HASH calculation on the feature matching conditions to increase the matching speed. In the generated full HASH matching library, a plurality of routing information entries may be included, each routing information entry may exist, for example, in the form of: { destination IP, source MAC, channel } or { Domain name, source MAC, channel }. That is, each entry may indicate a tunnel corresponding thereto for a particular destination IP/a particular domain name and source MAC. According to one embodiment of the invention, the channels may include WAN channels, cloud ultra wide channels, and the like.
According to an embodiment of the present invention, depending on the time of validation of the domain name, deletion of the tunnel, establishment of a new tunnel, etc., the configuration module 201 may be configured to update the full HASH matching repository 207 at preset periods to ensure the accuracy and timeliness of the routing information entries in the full HASH matching repository 207. Those skilled in the art will appreciate that the predetermined period can be configured as required, for example, according to the number of entries, the ratio of the changed channel to all the channels, and the like.
According to one embodiment of the invention, the message parsing module 202 is configured to extract feature matching conditions from the message. For example, the message information module 202 parses the message from the application to extract the information of the destination IP/domain name, the source MAC, and the like.
According to another embodiment of the invention, the message parsing module 202 may be further configured to assign a weighting factor to the message according to the message type. When a message is sent into a channel, the messages in the channel may be sorted according to the weighting factor assigned to each message.
According to yet another embodiment of the invention, a user and/or administrator may assign a weighting factor to messages from each application or class of applications for that application or class of applications. For example, the messages from the user-specified high-value application may have a weighting factor of 10 to 8 points, the messages from the video-class application may have a weighting factor of 7 points, the messages from the voice-class application may have a weighting factor of 6 points, the messages from the live-class application may have a weighting factor of 5 points, the messages from the picture-class application may have a weighting factor of 4 points, and the messages from the other classes may have a weighting factor of 3 to 1 point.
According to another embodiment of the invention, the message parsing module 202 may be further configured to assign a weighting factor to the message according to the frequency of use of the application from which the message is received. For example, a message may be given the highest weighting factor if it is from an application that is commonly used by the user (e.g., a browser, etc.), and a lower weighting factor if it is from an application that is less commonly used by the user.
According to an embodiment of the present invention, the single-channel fast routing module 203 is configured to match the feature matching conditions extracted from the packet in the route validation library 208 to find a corresponding channel, if the matching fails, perform full matching on the feature matching conditions extracted from the packet in the full HASH matching library 207, and after the matching succeeds, put corresponding routing information in the route validation library 208 to update the route validation library 208. If the match is still not successful in the full HASH matching library 207, the forwarding performance assessment module 204 is notified to perform a real-time assessment of each lane. That is, if the single-channel fast routing module 203 fails to route in both the route validation library 208 and the full HASH matching library 207, it indicates that a specific channel is not specified for the packet, and all channels need to be evaluated in real time to select a suitable channel for forwarding.
According to one embodiment of the invention, the route validation library 208 includes the route information entries that were previously successfully matched by the one-pass fast routing module 203. In other words, the route validation repository 208 may be a subset of the full HASH matching repository. According to another embodiment of the present invention, the route validation library 208 may set a validation time for each included route information entry to ensure the accuracy and timeliness of the route information. For example, the validation time may correspond to a preset period during which the full HASH matching library is updated. Since the number of route information entries included in the route validation repository 208 is much smaller than that of the full HASH matching repository 207, the matching is time consuming and trivial, and can be ignored.
According to one embodiment of the invention, the forwarding performance evaluation module 204 is configured to evaluate the congestion status of each channel. For example, the forwarding performance evaluation module 204 is configured to evaluate the status parameter of each channel in real time, and feed back the evaluation result of each channel to the multi-channel routing module 205 in real time. According to an embodiment of the present invention, the state parameters of the channels may include, for example, forwarding efficiency (such as an upper rate limit, signal quality, a time delay of a heartbeat packet, and a packet loss rate of each channel), and/or a number of packets currently queued in the channel. The evaluation information for each channel may have the following form { channel, parameter 1 result, parameter 2 result … parameter N result }.
According to one embodiment of the invention, the multi-channel routing module 205 is configured to select a channel based on the evaluation result of each channel received from the forwarding performance evaluation module 204 and send the message to the channel. According to an embodiment of the present invention, the multi-channel routing module 205 may assign a score to the evaluation result of each state parameter of the channel, and assign different weights to each state parameter, so as to select an efficient forwarding channel. For example, for each channel, a total assessment score may be calculated, which is a weight 1X parameter 1 score + a weight 2X parameter 2 score … … weight NX parameter N score. The multi-channel routing module 205 can select the channel with the highest total evaluation score for forwarding.
According to an embodiment of the present invention, the resource scheduling module 206 is configured to queue the packets in the channel according to the weighting factors of the packets to form a priority queue, and sequentially forward the packets in the priority queue in an uplink. According to one embodiment of the invention, the resource scheduling module 206 is configured to send the messages to an OLT (Optical Line Terminal) in sequence.
As will be understood by those skilled in the art, the flow of the message is, in general, transmission medium (PC, mobile phone, etc.) - > ONU (optical network unit, commonly known as gateway, optical modem)) - > OLT (which is the upper level device of the gateway (ONU), and the OLT has multiple gateways hung thereunder) - > upper level network device. Therefore, the resource scheduling module 206 in the present invention is configured to send the message to the upper level device of the gateway, i.e. the OLT, through the corresponding channel or the selected channel in sequence according to the priority queue.
Therefore, the channel resources are modeled according to the effective library and the full library, and efficient matching is performed by using a HASH matching algorithm. Meanwhile, the real-time feedback and the channel resource evaluation are utilized to intelligently select the channel of the multiple channels, and the channel message is quickly forwarded according to the weighting factor. Specifically, when a message is received, a single-channel routing scheme is firstly performed by using a smaller routing effective library, and the routing efficiency can be greatly improved by combining HASH calculation. In the multi-channel routing scheme, the intelligent selection of the high-efficiency channel is realized by utilizing the real-time evaluation of each channel. Through resource scheduling, weighting factors are given to all messages, so that messages with higher priority can be preferentially forwarded on a channel, and the forwarding speed of the messages is accelerated.
FIG. 3 shows a flow diagram of a method 300 for multi-channel routing, according to one embodiment of the invention.
At 301, a full HASH matching library is generated based on the feature matching conditions and the channels. According to one embodiment of the invention, the feature matching condition includes a destination IP, a domain name, a source MAC configured by a user or an administrator. According to another embodiment of the present invention, a HASH calculation is performed on the feature matching conditions to generate a full HASH matching library including a plurality of routing information entries therein, each routing information entry indicating a destination IP/domain name and a source MAC and a tunnel corresponding thereto. For example, the routing information entry may have the following form: { destination IP, source MAC, channel } or { Domain name, channel }.
Those skilled in the art will appreciate that the feature matching conditions herein are merely exemplary and that other conditions may be employed by a user or administrator to generate a full HASH matching library.
At 302, a message received from an application is parsed to extract feature matching conditions for the message. According to one embodiment of the invention, the feature matching conditions for extracting the message include a destination IP/domain name and a source MAC. According to another embodiment of the invention, parsing the message received from the application further comprises assigning a weighting factor to the message. According to an embodiment of the present invention, assigning a weighting factor to a message may further comprise assigning a weighting factor to a message from each application or class of applications, or assigning a weighting factor to a message according to the frequency of use of the application from which the message is derived.
At 303, matching is performed in the route validation library based on the extracted feature matching condition to find a channel corresponding to the packet. Wherein the route validation repository includes route information entries that were previously successfully matched in the full HASH matching repository, which may have the form: { destination IP, source MAC, channel } or { Domain name, channel }. Since the route validation library is much smaller than the full HASH matching library, matching with the route validation library in preference can greatly speed up the matching efficiency.
According to an embodiment of the present invention, the matching in the route validation library further includes matching the destination IP/domain name + source MAC extracted from the packet with the destination IP/domain name + source MAC stored in the route validation library to find a corresponding channel. If the matching in step 303 is successful, the message is sent to the channel corresponding to the message, and step 308 is entered, and if the matching is unsuccessful, step 304 is entered.
According to an embodiment of the present invention, each routing information entry in the route validation library may have a validation time, and if the validation time of the matched routing information entry has passed, it indicates that the routing information entry is invalid, and step 304 is required to be performed for full matching.
At 304, matching is performed in the full HASH matching library based on the extracted feature matching conditions to find a channel corresponding to the message. According to an embodiment of the present invention, matching in the full HASH matching library further comprises matching the destination IP/domain name + source MAC extracted from the packet with the destination IP/domain name + source MAC stored in the full HASH matching library to find a corresponding channel. If the match of step 304 is successful, step 305 is entered, and if the match is not successful, step 306 is entered.
At 305, the routing information entry matched in the full HASH matching library is updated to the routing validation library, and the packet is sent to the channel corresponding to the packet, and step 309 is entered.
At 306, the congestion status of each channel is evaluated in real time to obtain an evaluation result of each channel. According to one embodiment of the invention, the congestion condition of the channel can be evaluated based on the state parameter of the channel. For example, the status parameters may include, for example, forwarding efficiency (such as an upper rate limit, signal quality, time delay and packet loss rate of heartbeat packets for each channel), and/or the number of packets currently queued in a channel, etc. The evaluation information for each channel may have the following form { channel, parameter 1 result, parameter 2 result … parameter N result }.
At 307, a channel for forwarding the message is selected based on the evaluation result of each channel, and the message is sent to the selected channel.
At 308, each packet in the channel used to forward the packet is sorted according to its weighting factor to form a priority queue for the channel.
At 309, the messages in the priority queue are sequentially forwarded upstream.
The main advantages of the invention are:
1. the effective library and the full library are utilized to quickly complete routing;
2. channels are intelligently selected based on communication resource usage.
3. And accelerating the channel message forwarding according to the weighting factor.
Fig. 4 shows a block diagram 400 of an exemplary computing device, which is one example of a hardware device (e.g., gateway device 102, a device for routing, a device on which user application 101 operates, etc.) applicable to aspects of the present invention, according to one embodiment of the present invention.
With reference to FIG. 4, a computing device 400 will now be described, which is one example of a hardware device that may be applied to aspects of the present invention. Computing device 400 may be any machine that may be configured to implement processing and/or computing, and may be, but is not limited to, a workstation, a server, a desktop computer, a laptop computer, a tablet computer, personal digital processing, a smart phone, an in-vehicle computer, or any combination thereof. The various methods/apparatus/servers/client devices described above may be implemented in whole or at least in part by computing device 400 or similar devices or systems.
Computing device 400 may include components that may be connected or communicate via one or more interfaces and a bus 402. For example, computing device 400 may include a bus 402, one or more processors 404, one or more input devices 406, and one or more output devices 408. The one or more processors 404 may be any type of processor and may include, but are not limited to, one or more general purpose processors and/or one or more special purpose processors (e.g., dedicated processing chips). Input device 406 may be any type of device capable of inputting information to a computing device and may include, but is not limited to, a mouse, a keyboard, a touch screen, a microphone, and/or a remote controller. Output device 408 may be any type of device capable of presenting information and may include, but is not limited to, a display, speakers, a video/audio output terminal, a vibrator, and/or a printer. Computing device 400 may also include or be connected to non-transitory storage device 410, which may be any storage device that is non-transitory and that enables data storage, and which may include, but is not limited to, a disk drive, an optical storage device, a solid-state memory, a floppy disk, a flexible disk, a hard disk, a tape, or any other magnetic medium, an optical disk or any other optical medium, a ROM (read only memory), a RAM (random access memory), a cache memory, and/or any memory chip or cartridge, and/or any other medium from which a computer can read data, instructions, and/or code. Non-transitory storage device 410 may be detached from the interface. The non-transitory storage device 410 may have data/instructions/code for implementing the above-described methods and steps. Computing device 400 may also include a communication device 412. The communication device 412 may be any type of device or system capable of communicating with internal apparatus and/or with a network and may include, but is not limited to, a modem, a network card, an infrared communication device, a wireless communication device, and/or a chipset, such as a bluetooth device, an IEEE 1302.11 device, a WiFi device, a WiMax device, a cellular communication device, and/or the like.
The bus 402 may include, but is not limited to, an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, an enhanced ISA (eisa) bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnect (PCI) bus.
Computing device 400 may also include a working memory 414, which working memory 414 may be any type of working memory capable of storing instructions and/or data that facilitate the operation of processor 404 and may include, but is not limited to, random access memory and/or read only memory devices.
Software components may be located in the working memory 414 including, but not limited to, an operating system 416, one or more application programs 418, drivers, and/or other data and code. Instructions for implementing the above-described methods and steps of the invention may be contained within the one or more applications 418, and the instructions of the one or more applications 418 may be read and executed by the processor 404 to implement the above-described method 300 of the invention.
It should also be appreciated that variations may be made according to particular needs. For example, customized hardware might also be used, and/or particular components might be implemented in hardware, software, firmware, middleware, microcode, hardware description speech, or any combination thereof. In addition, connections to other computing devices, such as network input/output devices and the like, may be employed. For example, some or all of the disclosed methods and apparatus can be implemented with logic and algorithms in accordance with the present invention through programming hardware (e.g., programmable logic circuitry including Field Programmable Gate Arrays (FPGAs) and/or Programmable Logic Arrays (PLAs)) having assembly language or hardware programming languages (e.g., VERILOG, VHDL, C + +).
Although the various aspects of the present invention have been described thus far with reference to the accompanying drawings, the above-described methods, systems, and apparatuses are merely examples, and the scope of the present invention is not limited to these aspects but only by the appended claims and equivalents thereof. Various components may be omitted or may be replaced with equivalent components. In addition, the steps may also be performed in a different order than described in the present invention. Further, the various components may be combined in various ways. It is also important that as technology develops that many of the described components can be replaced by equivalent components appearing later.
The above embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; such modifications and substitutions do not depart from the spirit and scope of the present disclosure, and the present disclosure should be construed as being covered by the claims and the specification.

Claims (10)

1. A method for multi-channel routing, comprising:
generating a full-scale HASH matching library by performing HASH calculation on feature matching conditions based on the feature matching conditions and channels, wherein the feature matching conditions comprise a destination IP/domain name and a source MAC, the full-scale HASH matching library comprises a plurality of routing information items, and each routing information item indicates the destination IP/domain name and the source MAC and the channel corresponding to the destination IP/domain name and the source MAC;
analyzing a message received from an application to extract a feature matching condition of the message;
matching in a route validation library based on the extracted feature matching conditions to find a channel corresponding to the message, wherein the route validation library comprises route information items which are successfully matched in a full HASH matching library previously;
if the matching in the route validation library is successful, sending the message into a channel corresponding to the message;
if the matching in the route validation library is unsuccessful, matching in the full HASH matching library based on the extracted feature matching condition to search a channel corresponding to the message;
and if the matching in the full HASH matching library is successful, updating the successfully matched routing information items into the routing validation library, and sending the message into a channel corresponding to the message.
2. The method of claim 1, further comprising:
if the matching in the full HASH matching library is unsuccessful, evaluating the congestion condition of each channel in real time to obtain the evaluation result of each channel;
and selecting a channel for forwarding the message based on the evaluation result of each channel.
3. The method of claim 1, wherein parsing the message received from the application further comprises: and giving a weighting factor to the message.
4. The method of claim 3, wherein assigning a weighting factor to the packet further comprises: weighting factors are assigned to the messages according to the type and/or frequency of use of the application.
5. The method of claim 3, further comprising: each packet in a channel used to forward packets is ordered according to its weighting factor to form a priority queue for that channel.
6. The method of claim 1, wherein matching in the route validation library based on the extracted feature matching conditions further comprises: and if the validation time of the matched routing information items in the routing validation library is passed, matching in the full HASH matching library based on the extracted feature matching condition.
7. A system for multi-channel routing, comprising:
a configuration module configured to generate a full-scale HASH matching repository by HASH computing the feature matching conditions based on feature matching conditions including a destination IP/domain name and a source MAC and a tunnel, the full-scale HASH matching repository including a plurality of routing information entries, each routing information entry indicating a destination IP/domain name and a source MAC and a tunnel corresponding thereto;
a message parsing module configured to parse a message received from an application to extract a feature matching condition of the message;
a single channel fast routing module configured to:
matching in a route validation library based on the extracted feature matching conditions to find a channel corresponding to the message, wherein the route validation library comprises route information items which are successfully matched in a full HASH matching library previously;
if the matching in the route validation library is successful, sending the message into a channel corresponding to the message;
if the matching in the route validation library is unsuccessful, matching in the full HASH matching library based on the extracted feature matching condition to search a channel corresponding to the message;
and if the matching in the full HASH matching library is successful, updating the successfully matched routing information items into the routing validation library, and sending the message into a channel corresponding to the message.
8. The system of claim 7, wherein the single channel fast routing module is further configured to: notifying a forwarding performance evaluation module if the matching in the full HASH matching library is unsuccessful;
the system further comprises:
the forwarding performance evaluation module is configured to evaluate the congestion condition of each channel in real time to obtain an evaluation result of each channel; and
a multi-channel routing module configured to select a channel for forwarding the packet based on the evaluation result of each channel.
9. The system of claim 7, wherein the message parsing module is further configured to assign a weighting factor to the message;
the system further includes a resource scheduling module configured to order each packet in a channel used to forward the packets according to a weighting factor for each packet to form a priority queue for the channel.
10. A computing device for multi-channel routing, comprising:
a processor;
a memory storing instructions that, when executed by the processor, are capable of performing the method of claims 1-6.
CN202111128446.9A 2021-09-26 2021-09-26 Gateway-based multi-channel route fast forwarding and intelligent routing method Active CN113852555B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111128446.9A CN113852555B (en) 2021-09-26 2021-09-26 Gateway-based multi-channel route fast forwarding and intelligent routing method
PCT/CN2022/097529 WO2023045403A1 (en) 2021-09-26 2022-06-08 Gateway-based multi-channel route fast forwarding and intelligent routing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111128446.9A CN113852555B (en) 2021-09-26 2021-09-26 Gateway-based multi-channel route fast forwarding and intelligent routing method

Publications (2)

Publication Number Publication Date
CN113852555A true CN113852555A (en) 2021-12-28
CN113852555B CN113852555B (en) 2022-12-16

Family

ID=78979499

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111128446.9A Active CN113852555B (en) 2021-09-26 2021-09-26 Gateway-based multi-channel route fast forwarding and intelligent routing method

Country Status (2)

Country Link
CN (1) CN113852555B (en)
WO (1) WO2023045403A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023045403A1 (en) * 2021-09-26 2023-03-30 天翼数字生活科技有限公司 Gateway-based multi-channel route fast forwarding and intelligent routing method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140064093A1 (en) * 2012-08-29 2014-03-06 International Business Machines Corporation Hashing-based routing table management
CN104168199A (en) * 2013-05-15 2014-11-26 中兴通讯股份有限公司 Packet processing method and apparatus
US20150372916A1 (en) * 2014-06-24 2015-12-24 Mellanox Technologies Ltd. Routing via multiple paths with efficient traffic distribution
CN111147292A (en) * 2019-12-18 2020-05-12 深圳市任子行科技开发有限公司 Policy cluster distribution matching method, system and computer readable storage medium
CN112104761A (en) * 2020-08-20 2020-12-18 广东网堤信息安全技术有限公司 NAT address translation method

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101257432A (en) * 2008-03-31 2008-09-03 华为技术有限公司 Method and apparatus for realizing congestion control
CN102469006B (en) * 2010-11-01 2015-03-18 杭州华三通信技术有限公司 Method and device for quickly forwarding data report
CN102843257B (en) * 2012-08-15 2016-08-03 无锡北邮感知技术产业研究院有限公司 A kind of path evaluation method and device
CN102957626B (en) * 2012-11-14 2016-08-10 中兴通讯股份有限公司 A kind of message forwarding method and device
US10091105B2 (en) * 2013-10-25 2018-10-02 Yaoqing Liu Efficient forwarding information base caching system and method
CN104092612A (en) * 2014-06-05 2014-10-08 汉柏科技有限公司 Method and device for updating matching order of fast forwarding table
CN104639443A (en) * 2015-02-16 2015-05-20 杭州华三通信技术有限公司 Method and device for rapidly forwarding message
CN113852555B (en) * 2021-09-26 2022-12-16 天翼数字生活科技有限公司 Gateway-based multi-channel route fast forwarding and intelligent routing method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140064093A1 (en) * 2012-08-29 2014-03-06 International Business Machines Corporation Hashing-based routing table management
CN104168199A (en) * 2013-05-15 2014-11-26 中兴通讯股份有限公司 Packet processing method and apparatus
US20150372916A1 (en) * 2014-06-24 2015-12-24 Mellanox Technologies Ltd. Routing via multiple paths with efficient traffic distribution
CN111147292A (en) * 2019-12-18 2020-05-12 深圳市任子行科技开发有限公司 Policy cluster distribution matching method, system and computer readable storage medium
CN112104761A (en) * 2020-08-20 2020-12-18 广东网堤信息安全技术有限公司 NAT address translation method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
冯庆华: "基于改进哈希编码的路由查询匹配算法", 《计算机与现代化》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023045403A1 (en) * 2021-09-26 2023-03-30 天翼数字生活科技有限公司 Gateway-based multi-channel route fast forwarding and intelligent routing method

Also Published As

Publication number Publication date
CN113852555B (en) 2022-12-16
WO2023045403A1 (en) 2023-03-30

Similar Documents

Publication Publication Date Title
US11539626B2 (en) Method, apparatus, and system for load balancing of service chain
US9544355B2 (en) Methods and apparatus for realizing short URL service
JP7026219B2 (en) Systems and methods for first packet application classification
US9674279B2 (en) Methods, devices, and systems for allocating service nodes in a network
US8037097B2 (en) Universal device identifier for globally identifying and binding disparate device identifiers to the same mobile device
US9883000B2 (en) Server-push service in heterogeneous network environment
EP3116189A1 (en) Service link selection control method and device
WO2019128240A1 (en) Data routing method and terminal
WO2013075436A1 (en) Radio resource optimization method, device and system
EP3149894B1 (en) Assisting application classification using predicted subscriber behavior
US10666603B2 (en) Optimizing routing of access to network domains via a wireless communication network
CN104506450A (en) Media resource feedback method and device
CN113852555B (en) Gateway-based multi-channel route fast forwarding and intelligent routing method
CN110489474B (en) Data processing method, device, medium and electronic equipment
CN114071544B (en) Network testing method and device and electronic equipment
CN110138887B (en) Data processing method, device and storage medium
CN114338529B (en) Five-tuple rule matching method and device
KR100810016B1 (en) Electronic device connection resource management
US9774515B2 (en) Router and resource assignment method thereof
KR20100123074A (en) Apparatus and method for determining masimum segment size in a mobile communication system
CN109768897B (en) Server deployment method and device
CN113169936B (en) Service chaining mechanism for data stream processing
CN110661731A (en) Message processing method and device
WO2023126004A1 (en) Data transmission method and apparatus, and terminal
WO2024067567A1 (en) Method for obtaining analysis result, and communication device

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