A multi-path routing proxy method, storage medium and system

By identifying and scoring potential paths, combining the session type and characteristic parameters of the data flow, and dynamically matching the data distribution strategy, the problem of poor transmission effect in the existing technology is solved and more efficient data transmission quality is achieved.

CN120602402BActive Publication Date: 2025-10-10ZHUHAI GOTECH INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511087544.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-08-05
Publication Date
2025-10-10
Estimated Expiration
2045-08-05

AI Technical Summary

Technical Problem

Existing multi-path parallel transmission methods cannot dynamically adjust according to the transmission quality requirements of different session scenarios, resulting in poor transmission performance.

Method used

By probing the network environment, identifying potential paths, calculating path scores, and matching the most appropriate data distribution strategy based on the session type, protocol type, and characteristic parameters of the data flow, the path with the highest score is selected for data distribution.

Benefits of technology

The adaptability of data transmission is improved, ensuring that different types of session data can achieve higher transmission quality in different network environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120602402B_ABST
    Figure CN120602402B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of network communication, and discloses a multi-path routing agent method, a storage medium and a system, wherein the method identifies the session type, the protocol type and the session characteristic parameters of a data flow, queries corresponding performance index coefficients according to the session type of the data flow, calculates the scores of each potential path in a path connection pool according to the corresponding performance index coefficients and the real-time performance indexes of the potential paths, matches the session type, the protocol type and the session characteristic parameters with preset demand types, determines a data distribution strategy according to the matched demand types, calculates the path quantity of the corresponding data flow according to the determined data distribution strategy, selects the corresponding quantity of potential paths with high scores as the distribution paths of the data flow, and completes the distribution of the data flow along the corresponding distribution paths according to the corresponding data distribution strategy. The method can improve the transmission quality of the routing system for different types of application data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of network communication technology, and in particular to a multi-path routing agent method, storage medium and system. Background Art

[0002] In the modern internet environment, the reliability and efficiency of network communications are crucial to the application experience. Traditional single-path communication models are prone to connection interruptions and service degradation when encountering network congestion, link failures, or performance fluctuations. While P2P networks, as a decentralized communication model, offer significant flexibility, ensuring reliable and efficient data transmission in complex network environments remains a challenge.

[0003] In the current network environment, various types of networks (such as home broadband, mobile networks, and enterprise dedicated lines) exhibit significant differences in bandwidth, latency, and stability. Furthermore, network conditions can change dynamically depending on time, location, and usage. For applications requiring stable communication, relying solely on a single network path often fails to meet their needs. To address this technical issue, some data transmission solutions employ multi-path parallel transmission to improve the stability of the communication process. However, existing multi-path parallel transmission methods often employ a fixed split transmission strategy, and different session scenarios have different requirements for transmission quality. Using a single transmission strategy to select transmission paths and data distribution strategies is difficult to meet the needs of different scenarios and cannot maximize the transmission quality requirements of different types of application data. Summary of the Invention

[0004] To overcome the deficiencies of the prior art, the present invention aims to provide a multi-path routing proxy method, storage medium, and system that can score potential paths according to different criteria based on the session types of different data streams, thereby selecting the most appropriate potential paths and data distribution strategies based on the characteristics of different session types, so that the data transmission process can better meet the requirements of different types of sessions and ensure the transmission quality of different types of application data.

[0005] To solve the above problems, the technical solution adopted by the present invention is as follows: a multi-path routing agent method, comprising the following steps:

[0006] Detect the current network environment and identify available network interfaces and potential paths;

[0007] Perform initial performance measurements on each path, calculate the initial score for each potential path, and build and maintain a path connection pool;

[0008] Acquire data streams and identify session types, protocol types, and session characteristic parameters of the data streams;

[0009] Query the corresponding performance indicator coefficients based on the session type of the data stream;

[0010] Calculate the score of each potential path in the path connection pool based on the performance index coefficient corresponding to the session type of the data flow and the real-time performance index of each potential path in the path connection pool;

[0011] Match the session type, protocol type and session characteristic parameters of the data flow with the preset demand type, and determine the data distribution strategy based on the matched demand type;

[0012] Calculate the number of paths required for the corresponding data flow according to the determined data distribution strategy, and select the potential path with the highest number of paths as the distribution path of the data flow;

[0013] The data stream is distributed along the distribution path according to the data distribution strategy corresponding to the data stream, and the distributed data is merged at the receiving end.

[0014] Compared to existing technologies, the present invention offers the following advantages: By evaluating the comprehensive scores of potential paths based on the corresponding performance index coefficients according to different session types, the method improves the adaptability of selected potential paths to different session types compared to using a unified scoring standard, thereby ensuring that the system maintains high transmission quality for all types of sessions. Furthermore, this method matches the most appropriate data distribution strategy to the varying requirements of different session types, thereby employing a more adaptive data distribution strategy based on the performance requirements of different types of session data, further ensuring transmission quality for different types of session data.

[0015] In the multi-path routing proxy method, the step of calculating the score of each potential path in the path connection pool based on the performance index coefficient corresponding to the session type of the data flow and the real-time performance index of each potential path in the path connection pool includes:

[0016] Obtain the performance indicators of each potential path from the path connection pool, and calculate the performance score of each performance indicator based on each performance indicator;

[0017] Calculate the preliminary comprehensive score of each potential path based on its performance score and performance index coefficient;

[0018] The historical performance correction factor is calculated based on the historical stability and reliability of each path, and the corresponding preliminary comprehensive score is corrected using the historical performance correction factor to obtain the final score of each potential path.

[0019] In the above multi-path routing proxy method, the historical performance correction factor HF is calculated by the following formula:

[0020] HF=α·(Tstable / Tmax)+β·(1-Vperf / Vmax)+γ·Pacc+δ·Trec_inv

[0021] Where Tstable is the path stability time ratio of the corresponding potential path, Tmax is the maximum possible value of the path stability time ratio, Vperf is the performance indicator volatility of the corresponding potential path, Vmax is the maximum possible value of the performance indicator volatility, Pacc is the historical score prediction accuracy of the potential path, Trec_inv is the inverse of the fault recovery speed of the corresponding potential path, and α, β, γ, and δ are all weight coefficients.

[0022] In the multi-path routing proxy method described above, the step of calculating the score of each potential path in the path connection pool based on the performance index coefficient corresponding to the session type of the data flow and the real-time performance index of each potential path in the path connection pool further includes:

[0023] Calculate the difference between the final score and the true score of each potential path's history;

[0024] Dynamically adjust the four weight coefficients α, β, γ and δ in the calculation formula of the correction factor HF of each potential path according to the difference between the final score and the actual score of each potential path

[0025] In the above-mentioned multi-path routing proxy method, the steps of distributing the data stream along the distribution path according to the data distribution strategy corresponding to the data stream and merging the distributed data at the receiving end include:

[0026] Regularly monitor the real-time transmission quality of each distribution path;

[0027] The parameters of the data distribution strategy corresponding to each path are adjusted according to the real-time transmission quality of each distribution path.

[0028] In the above-mentioned multi-path routing proxy method, the steps of distributing the data stream along the distribution path according to the data distribution strategy corresponding to the data stream and merging the distributed data at the receiving end include:

[0029] Identify the transmission phase of the data flow;

[0030] Query the corresponding parameter strategy according to the transmission stage of the data stream;

[0031] Adjust the parameters of the corresponding data distribution strategy according to the parameter strategy.

[0032] The multi-path routing proxy method further includes:

[0033] Record the strategic effect of the data distribution strategy for the completed data flow;

[0034] Optimize the policy parameters of the corresponding data distribution policy according to the policy effect of the data distribution policy.

[0035] The multi-path routing proxy method further includes:

[0036] Regularly test the performance indicators of each potential path and determine the health status of each potential path based on the performance indicators of each potential path;

[0037] The potential path whose consecutive detection failure times exceed the preset detection failure threshold is marked as a faulty path;

[0038] Query the sessions that use the faulty path and find alternative paths for the sessions that use the faulty path;

[0039] Switch the traffic on the failed path to the corresponding alternative path and resend unacknowledged data packets through the alternative path;

[0040] Restart and recover the faulty path.

[0041] A computer-readable storage medium stores a computer program, wherein the computer program implements the multi-path routing proxy method when called and executed by a processor.

[0042] A multipath routing proxy system includes a path manager, a distributed proxy node network, a processor, and a memory. The distributed proxy node network is composed of multiple proxy nodes. The path manager is electrically connected to the distributed proxy node network. The path manager is used to scan and identify network interfaces and available proxy nodes of the distributed proxy node network, and to obtain performance indicators of potential paths composed of the proxy nodes. The path manager and the memory are both electrically connected to the processor. The processor can implement the above-mentioned multipath routing proxy method by calling and executing a computer program in the memory.

[0043] The present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] Figure 1 FIG. 1 is a flowchart of a multi-path routing agent method according to a first embodiment of the present invention.

[0045] Figure 2 FIG. 4 is a flowchart of a multi-path routing agent method according to a second embodiment of the present invention.

[0046] Figure 3 Flowchart of a potential path detection process according to an embodiment of the present invention.

[0047] Figure 4Flow chart of scoring process for potential paths of embodiments of the present application.

[0048] Figure 5 Flow chart of data merging process of embodiments of the present application.

[0049] Figure 6 Principle block diagram of multi-path routing proxy system of embodiments of the present application. DETAILED DESCRIPTION

[0050] Embodiments of the present application are described in detail below with reference to the drawings, in which Figure 1 Embodiments of the present application provide a multi-path routing proxy method, comprising the following steps:

[0051] Detecting the current network environment, identifying available network interfaces and potential paths;

[0052] Performing initial performance measurement on each path, calculating initial scores of each potential path, establishing and maintaining a path connection pool;

[0053] Obtaining a data stream and identifying the session type, protocol type and session characteristic parameters of the data stream;

[0054] Querying corresponding performance index coefficients according to the session type of the data stream;

[0055] Calculating scores of each potential path in the path connection pool according to the performance index coefficients corresponding to the session type of the data stream and the real-time performance indexes of each potential path in the path connection pool;

[0056] Matching the session type, protocol type and session characteristic parameters of the data stream with preset demand types, and determining a data distribution strategy according to the matched demand type;

[0057] Calculating the required number of paths for the corresponding data stream according to the determined data distribution strategy, and selecting potential paths with top scores as distribution paths for the data stream;

[0058] Distributing the data stream along the distribution paths according to the data distribution strategy corresponding to the data stream, and merging the distributed data at the receiving end.

[0059] This method sets different performance index coefficients for different data streams and different session types, such as video sessions, audio sessions, and gaming sessions, according to their data transmission requirements. Thus, during the data transmission process, the corresponding performance index coefficients can be selected based on the actual session type of the data stream to calculate the scores of each potential path. This ensures that the potential path scores more accurately reflect the actual transmission performance of the corresponding path for different session types, avoiding the situation where a unified standard results in the optimal path failing to meet the varying performance requirements of different session types, leading to poor actual transmission results. Furthermore, this method matches different data distribution strategies based on different session types, protocol types, and session characteristic parameters. Compared to using a single data distribution strategy, this method can further align the data distribution process with the different data transmission performance requirements of different types of applications, further improving the system's applicability to different types of applications and ensuring that the system provides high-quality data transmission services for data from different types of applications.

[0060] Reference Figure 3 Specifically, the following process is used to detect potential paths in a distributed proxy node network formed by interconnected proxy nodes distributed across different networks: First, the routing system kernel automatically detects available network interfaces through a driver loading mechanism and activates them. It then verifies the physical signal of the wired network interface, such as the Ethernet carrier, or detects the RSSI signal strength and 802.11 handshake of the wireless network. It then assigns an IP address to the available network interface via DHCP / SLAAC or static addressing, and connects to the available network interface. The routing system kernel then requests path identification from the path manager in the distributed node network through the network interface. The path manager obtains a list of proxy nodes by accessing a directory service or using peer-to-peer discovery to obtain neighbor information for each proxy node, thereby constructing a network view of the distributed proxy node network. A list of potential paths is then compiled based on the connection relationships between proxy nodes. Test packets are periodically sent to each potential path to obtain performance metrics such as latency, packet loss rate, and bandwidth. Based on the performance metrics obtained from the initial test packets, an initial performance score for each potential path is calculated and fed back to the routing system kernel along with the path list, forming a path connection pool for potential paths. The path manager feeds back the performance score and status of each potential path measured to the kernel and maintains the paths in the path connection pool.

[0061] The application initiates a data transmission request to the routing system by calling the routing system's API interface and simultaneously sends the routing system the data flow's transmission requirements, such as delay sensitivity, bandwidth requirements, data reliability requirements, and service priority. In some embodiments, the routing system can analyze the data flow's characteristics to identify the data flow's session type. After receiving the application's data flow, the routing system can use DPI technology to identify the data flow's protocol signature to identify the data flow's protocol type. Based on the packet size and distribution of the packets, the routing system can derive the probability that the data flow belongs to various session types. For example, a data flow with continuously large packets is likely to be a video stream, while a flow with continuously small packets at short and stable intervals is more likely to originate from a gaming program. A data flow that sends large blocks of data at the maximum rate is likely to be a file download. The routing system can input the data flow characteristics identified by DPI technology, such as packet size, packet interval, duration, and byte count, into a pre-trained recognition model to automatically output the probability that the data flow belongs to various session types. The recognition model can be obtained by training a machine learning model on a training set consisting of a large number of data flows of different session types. At the same time, the corresponding session type correction coefficient matrix is ​​queried based on the IP address or domain name list of the target application or service server or CDN of the data flow to correct the probability identified by the recognition model. For example, the data flow accessing netflix.com or its CDN IP is more likely to be a video flow, and the probability that the data flow destined for this IP is a video flow should be increased. The traffic accessing zoom.us related domain names is more likely to belong to video conferencing, and the probability that the data flow destined for this domain name is a video conferencing should be increased. In other embodiments, the application can directly send the session type of the data flow to be transmitted to the routing system along with the transmission requirement when proposing a data flow transmission requirement. After the routing system obtains the data flow of the application, it extracts parameters such as the data volume and duration of the data flow, and uses them together with the above-mentioned transmission requirement as the session feature parameters of the data flow for subsequent matching of the demand type.

[0062] Reference Figure 4In this embodiment, the score of each potential path is evaluated based on the five performance indicators of each potential path: delay, bandwidth, reliability, stability and cost. The delay can be directly measured by sending test data packets regularly, such as ICMP data packets, based on the round-trip time of the data packets; the bandwidth can be obtained by iPerf3 multi-stream detection; the reliability can be obtained by calculating the packet loss rate of the test data packets; the stability can be obtained by calculating the skb->tstamp difference in real time through the eBPF program in the routing system kernel and measuring the jitter of each path; and the cost can be obtained by comprehensively calculating the bandwidth cost, energy consumption and operator cost. The raw data of the aforementioned performance indicators of latency, bandwidth, reliability, stability, and cost must first be mapped to the same interval, such as the [0, 1] interval, using normalization methods such as minimum-maximum normalization, Z-score normalization, or layer normalization. The corresponding performance indicator scores are then calculated according to preset rules, such as: latency score = 1 / (1 + (latency - minimum latency) / maximum latency), bandwidth score = log(current bandwidth) / log(maximum required bandwidth), reliability score = (1 - packet loss rate)^k, where k is the sensitivity coefficient, stability score = e^(-jitter * penalty factor), and cost score = actual cost / maximum budgeted cost. Finally, the five scores are weighted and summarized according to the performance index coefficients of the various performance indicators corresponding to the session type of the identified data flow to obtain a preliminary comprehensive score of the corresponding potential path. In this embodiment, the preliminary comprehensive score of the potential path Socre=a·delay score+b·bandwidth score+c·reliability score+d·stability score-e·cost score, where a, b, c, d, and e are the performance index coefficients corresponding to the four performance index scores, respectively. The performance index coefficients of different session types can be set according to the needs of different session types and based on historical experience. For example, video streaming sessions need to prioritize bandwidth, while real-time game sessions place more emphasis on delay and stability, as shown in Table 1.

[0063] Table 1 Performance index coefficient table

[0064]

[0065] In some embodiments, in order to further improve the accuracy of the score, the corresponding preliminary comprehensive score is corrected according to the historical performance of each potential path to obtain the final score of each potential path. The correction method can adopt multiplicative correction: final score = preliminary comprehensive score × historical performance correction factor; or adopt interval mapping: adjust the score interval according to the historical stability and reliability performance, and map the preliminary comprehensive score to the adjusted interval; or adopt trend prediction adjustment: predict the stability and reliability change trend of the path in the short term based on historical data, and adjust the score according to the change trend. In this embodiment, multiplicative correction is adopted, and the historical performance correction factor HF is calculated by the following formula:

[0066] HF=α·(Tstable / Tmax)+β·(1-Vperf / Vmax)+γ·Pacc+δ·Trec_inv

[0067] Where Tstable is the path stability time ratio of the corresponding potential path, Tmax is the maximum possible value of the path stability time ratio, Vperf is the performance indicator volatility of the corresponding potential path, Vmax is the maximum possible value of the performance indicator volatility, Pacc is the historical score prediction accuracy of the potential path, Trec_inv is the inverse of the fault recovery speed of the corresponding potential path, α, β, γ, and δ are all weight coefficients, and the initial values ​​of these weight coefficients can be set based on historical experience.

[0068] The routing system sorts the potential paths according to their final scores, and determines the required number of paths based on the data distribution strategy that matches the session type, protocol type, and session characteristic parameters. The potential paths with the highest number of scores are selected as the distribution paths for actual data flow distribution.

[0069] In some embodiments, in order to further ensure the accuracy of the potential path score, the actual performance index of the selected distribution path when transmitting the data stream is calculated according to the calculation method of the preliminary comprehensive score, and the four weight coefficients α, β, γ and δ in the calculation formula of the historical performance correction factor HF are corrected according to the difference between the actual score and the final score after correction of the historical performance correction factor HF. The correction process of the four weight coefficients can be achieved by establishing an adaptive learning mechanism, minimizing the difference between the actual score and the final score as the optimization goal, calculating the gradient or approximate gradient of the difference with respect to α, β, γ and δ, and updating the four weight coefficients according to a small learning rate η. The correction process of the four weight coefficients can also be achieved by regularly collecting the final scores and the actual scores of all paths within a window period, constructing an optimization problem, such as minimizing the sum or average of the differences between all the final scores recorded within the window and the corresponding actual scores, and solving the four weight coefficients α, β, γ and δ that perform best within the window period by a numerical optimization algorithm such as L-BFGS-B.

[0070] In this embodiment, demand types are stored in the routing system's storage medium as policy templates. Each policy template consists of three parts: applicability type, applicability parameters, and specific policy content. The applicability type includes the session type and transport protocol type to which the policy content applies. The applicability parameters correspond to the range of session characteristic parameters of the data streams to which the policy content applies. The policy content is the specific data stream segmentation and delivery strategy. In this embodiment, the policy content primarily comprises a combination of four basic policies: load balancing distribution, performance-prioritized distribution, redundant backup distribution, and dynamic adaptive distribution. Among them, load balancing distribution allocates data traffic to each distribution path in proportion according to the bandwidth and load of the selected distribution path. The proportion of data allocated to each path can be calculated based on the ratio of the real-time available bandwidth of each path to the current load. It is suitable for large-volume data transmission such as file downloads; performance-priority distribution allocates key data in the data stream to the path with the best performance, that is, the distribution path with the highest final score, and secondary data is distributed to the distribution path with higher scores for distribution. It is suitable for mixed-type applications such as WeChat or browsers; redundant backup distribution sends key data through multiple paths at the same time to ensure that even if some paths fail, the data can still be successfully transmitted. It is suitable for scenarios with extremely high reliability requirements, such as telemedicine or remote maintenance; dynamic adaptive distribution dynamically adjusts the data allocation ratio according to the real-time performance changes of the path. It is suitable for scenarios that require optimal performance under various network conditions, such as outdoor live broadcasts or video conferencing. Each policy content can adopt multiple basic policies simultaneously or in stages, such as adopting a redundant backup distribution policy for key data in the data stream and a load balancing distribution policy for secondary data; or adopting different distribution policies according to different stages of the session, such as adopting a redundant backup distribution policy in the initialization stage and the end stage and a load balancing distribution policy in the stable transmission stage.

[0071] A number of policy templates suitable for different scenarios are collected by the designers of the routing system based on the data transmission requirements of mainstream applications on the market, and are aggregated and clustered. The routing system matches the applicable types and applicable parameters in each policy template according to the identified session type, protocol type and session characteristic parameters, selects the policy content in the policy template with the largest number of matching items as the corresponding data distribution policy, and segments the data stream according to the content in the data distribution policy, and performs operations such as creating sequence numbers, writing session IDs, making copies or setting priority identifiers on the segmented data packets. The specific data stream segmentation process is common knowledge in this field and will not be elaborated here. It is understandable that the policy templates in the routing system can be adjusted and deleted by authorized operators according to the actual operating results during use to further improve the adaptability to different data stream session types.

[0072] In some embodiments, to further ensure the quality of data stream transmission for different types of applications, the routing system regularly monitors the real-time transmission quality of each distribution path while distributing data according to a defined data distribution strategy, and fine-tunes the policy parameters of the adopted data distribution strategy based on the real-time transmission quality. The routing system monitors metrics such as latency, packet loss rate, and throughput of each distribution path in real time, and uses these metrics to implement closed-loop control over the policy parameters of the data distribution strategy. For example, if the packet loss rate exceeds the packet loss rate requirement in the session characteristic parameters, the routing system increases the number of redundant transmission paths.

[0073] In some embodiments, the routing system will also identify the stage of the data flow session by analyzing the data flow pattern, protocol characteristics and data transmission volume, and adjust the preset parameters in the policy template according to the preset parameter optimization strategy corresponding to the stage of the session. For example, in the initialization stage, the number of redundant transmission paths is increased; in the stable transmission stage, the size of the data packet of the distribution path with a higher score is appropriately increased to improve the data throughput; in the ending stage, the number of distribution paths is gradually reduced to make more resources for other data flows.

[0074] Reference Figure 2 In some embodiments, after completing each data stream transmission, the routing system will record performance indicator data such as delay, packet loss rate and bandwidth in the actual distribution process of the data stream as the policy effect of the adopted data distribution strategy, and establish a policy parameter optimization model through offline or online learning, analyze and learn the policy effect, and adjust the policy parameters in the policy content of the policy template according to the learning results, so that the policy template can be continuously optimized based on historical experience, further improving the adaptability of the routing system.

[0075] Reference Figure 5In this embodiment, after receiving data packets distributed via different paths, the receiving end first stores the received data packets in a path buffer. The integrity of the packets is then verified using methods such as CRC or MD5, and the packet sequence information is obtained. The packets are then organized into corresponding data streams based on their sequence numbers and session IDs. When the integrity of a data stream reaches a processing threshold, the packets are reassembled into complete data and delivered to upper-layer applications. If a data stream still does not reach the processing threshold after exceeding a preset time threshold, packet loss is determined, and retransmission of the lost sequence packets is requested, or a recovery mechanism is triggered. For data streams transmitted using a redundant backup distribution strategy, packets with the same sequence number and the same session ID are scored based on their quality and arrival time. The highest-scoring packet is then organized into the corresponding data stream. The packet score Q can be calculated as follows: Q = w1·integrity + w2·(1 / packet transmission delay) + w3·path actual score + w4·(1-packet damage degree), where w1-w4 are weight coefficients that are dynamically adjusted based on the session type of the data stream.

[0076] Reference Figure 2 In some embodiments, the routing system periodically detects the performance indicators of each potential path and determines the health status of each potential path based on the performance indicators of the potential path. In practice, the performance indicator scores of the potential paths calculated based on the performance indicators of the potential paths can be compared with preset thresholds, and all potential paths with performance indicator scores higher than the preset thresholds can be marked as normal, and some potential paths with performance indicator scores lower than the preset thresholds can be marked as suspicious. The number of consecutive test data packet transmission failures, that is, the number of consecutive detection failures exceeds the preset detection failure threshold, is marked as a faulty path. For potential paths marked as suspicious, the detection frequency is increased, that is, the test data packet transmission interval is reduced. For the faulty path, the fault handling process is started to query the data flow using the faulty path, and the path with the highest score among the potential paths that were not selected is used as an alternative path to replace the faulty path used by the session, and the traffic is switched to the alternative path, and unconfirmed data packets are retransmitted. At the same time, the faulty path can be restored by restarting the proxy node on the faulty path.

[0077] Based on the same inventive concept, an embodiment of the present invention further provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the multi-path routing agent method described above can be implemented.

[0078] In some possible implementations, various aspects of the multipath routing proxy method provided by the present invention may also be implemented in the form of a program product, which includes program code. When the program product is run on an apparatus, the program code is used to enable the control device to execute the steps of the multipath routing proxy method according to various exemplary embodiments of the present application described above in this specification.

[0079] Based on the same inventive concept, embodiments of the present invention also provide a multipath routing proxy system, comprising a path manager, a distributed proxy node network, a processor, and a memory. The distributed proxy node network comprises multiple proxy nodes. The path manager is electrically connected to some of the proxy nodes in the distributed proxy node network and is configured to scan and identify network interfaces and available proxy nodes in the distributed proxy node network, as well as to obtain performance metrics for potential paths comprised of the proxy nodes. The path manager and the memory are electrically connected to the processor, which can implement the multipath routing proxy method described above by invoking and executing a computer program stored in the memory.

[0080] The processor includes an API adapter, a data flow analysis module, an intelligent decision-making module, a data distribution and merging module, and a path management module. Applications send data transmission requests to the processor through the API interface in the API adapter and send the data flow to the processor. The data flow analysis module identifies the session type, protocol type, and session characteristic parameters of the data flow. The intelligent decision-making module queries the corresponding performance index coefficient based on the identified session type and calculates the score of each potential path for the data flow based on the corresponding performance index coefficient and the performance index score of the potential path. The intelligent decision-making module also matches the session type, protocol type, and session characteristic parameters of the data flow with the preset demand type and policy template to determine the most appropriate data distribution strategy for the data flow. Based on the number of paths required by the data distribution strategy, the module selects the number of potential paths with the highest scores as the distribution paths. The data distribution and merging module distributes the data flow according to the selected distribution paths and the determined distribution strategy, reassembles the received data packets into complete data and delivers them to the application. The path management module requests the path manager to detect potential paths and their performance indicators, calculates the performance index scores of each path based on the performance indicators, and establishes and maintains a path connection pool.

[0081] In one possible design, the processor may include one or more processing units, and the processor and memory may be implemented on the same chip or separately on separate chips. The processor may be a general-purpose processor, such as a central processing unit (CPU), a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic device, a discrete gate or transistor logic device, or a discrete hardware component, and may implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiments of the present application. The general-purpose processor may be a microprocessor or any conventional processor, etc. The steps of the multipath routing agent method disclosed in conjunction with the embodiments of the present application may be directly embodied as being executed by a hardware processor, or may be executed by a combination of hardware and software modules in the processor.

[0082] As a non-volatile computer-readable storage medium, memory can be used to store non-volatile software programs, non-volatile computer executable programs and modules.Memory can include at least one type of storage medium, for example, can include flash memory, hard disk, multimedia card, card-type memory, random access memory (Random Access Memory, RAM), static random access memory (Static Random Access Memory, SRAM), programmable read-only memory (Programmable Read Only Memory, PROM), read-only memory (Read Only Memory, ROM), electrically erasable programmable read-only memory (Electrically Erasable Programmable Read-Only Memory, EEPROM), magnetic storage, disk, optical disk, etc. Memory is any other medium that can be used to carry or store desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory in the embodiment of the present application can also be a circuit or other arbitrarily capable of implementing a storage function, for storing program instructions and / or data.

[0083] By programming a processor, the code corresponding to the multipath routing proxy method described in the aforementioned embodiments can be embedded in the chip, enabling the chip to execute the steps of the multipath routing proxy method described in the embodiments of the present invention during operation. Designing and programming a processor is well known to those skilled in the art and will not be further described here.

[0084] It should be noted that in the description of the present invention, "several" means one or more, "more" means two or more, "greater than," "less than," and "exceed" are understood to exclude the number itself, while "above," "below," and "within" are understood to include the number itself. If there are descriptions of "first," "second," and so on, these are used solely to distinguish technical features and are not to be construed as indicating or implying relative importance, implicitly specifying the number of the indicated technical features, or implicitly specifying the order of the indicated technical features.

[0085] The present application is described with reference to the flowcharts and / or block diagrams of the methods, apparatus (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the steps in the flowchart and / or block diagram. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0086] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0087] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0088] In the description of the present invention, unless otherwise clearly defined, terms such as setting, installing, and connecting should be understood in a broad sense, and technicians in the relevant technical field can reasonably determine the specific meanings of the above terms in the present invention based on the specific content of the technical solution.

[0089] The above embodiments are only preferred embodiments of the present invention and cannot be used to limit the scope of protection of the present invention. Any non-substantial changes and replacements made by technicians in this field on the basis of the present invention fall within the scope of protection required by the present invention.

Claims

1. A multi-path routing proxy method, characterized in that: The steps include: Detect the current network environment and identify available network interfaces and potential paths; Perform initial performance measurements on each path, calculate the initial score for each potential path, and build and maintain a path connection pool; Acquire data streams and identify session types, protocol types, and session characteristic parameters of the data streams; Query the corresponding performance indicator coefficients based on the session type of the data stream; Calculate the score of each potential path in the path connection pool based on the performance index coefficient corresponding to the session type of the data flow and the real-time performance index of each potential path in the path connection pool; Match the session type, protocol type and session characteristic parameters of the data flow with the preset demand type, and determine the data distribution strategy based on the matched demand type; Calculate the number of paths required for the corresponding data flow according to the determined data distribution strategy, and select the potential path with the highest number of paths as the distribution path of the data flow; The data stream is distributed along the distribution path according to the data distribution strategy corresponding to the data stream, and the distributed data is merged at the receiving end.

2. The multi-path routing agent method according to claim 1, wherein: The step of calculating the score of each potential path in the path connection pool according to the performance index coefficient corresponding to the session type of the data flow and the real-time performance index of each potential path in the path connection pool includes: Obtain the performance indicators of each potential path from the path connection pool, and calculate the performance score of each performance indicator based on each performance indicator; Calculate the preliminary comprehensive score of each potential path based on its performance score and performance index coefficient; The historical performance correction factor is calculated based on the historical stability and reliability of each path, and the corresponding preliminary comprehensive score is corrected using the historical performance correction factor to obtain the final score of each potential path.

3. The multi-path routing agent method according to claim 2, wherein: The historical performance correction factor HF is calculated by the following formula: HF=α·(Tstable / Tmax)+β·(1-Vperf / Vmax)+γ·Pacc+δ·Trec_inv Where Tstable is the path stability time ratio of the corresponding potential path, Tmax is the maximum possible value of the path stability time ratio, Vperf is the performance indicator volatility of the corresponding potential path, Vmax is the maximum possible value of the performance indicator volatility, Pacc is the historical score prediction accuracy of the potential path, Trec_inv is the inverse of the fault recovery speed of the corresponding potential path, and α, β, γ, and δ are all weight coefficients.

4. The multi-path routing agent method according to claim 3, wherein: The step of calculating the score of each potential path in the path connection pool according to the performance index coefficient corresponding to the session type of the data flow and the real-time performance index of each potential path in the path connection pool further includes: Calculate the difference between the final score and the true score of each potential path's history; The four weight coefficients α, β, γ and δ in the calculation formula of the correction factor HF of each potential path are dynamically adjusted according to the difference between the final historical score and the actual score of each potential path.

5. The multi-path routing agent method according to claim 1, wherein: The steps of distributing the data stream along the distribution path according to the data distribution strategy corresponding to the data stream and merging the distributed data at the receiving end include: Regularly monitor the real-time transmission quality of each distribution path; The parameters of the data distribution strategy corresponding to each path are adjusted according to the real-time transmission quality of each distribution path.

6. The multi-path routing agent method according to claim 1, wherein: The steps of distributing the data stream along the distribution path according to the data distribution strategy corresponding to the data stream and merging the distributed data at the receiving end include: Identify the transmission phase of the data flow; Query the corresponding parameter optimization strategy according to the transmission stage of the data stream; Adjust the parameters of the corresponding data distribution strategy according to the parameter optimization strategy.

7. The multi-path routing agent method according to claim 1, wherein: Also includes: Record the strategic effect of the data distribution strategy for the completed data flow; Optimize the policy parameters of the corresponding data distribution policy according to the policy effect of the data distribution policy.

8. The multi-path routing agent method according to claim 1, wherein: Also includes: Regularly test the performance indicators of each potential path and determine the health status of each potential path based on the performance indicators of each potential path; The potential path whose consecutive detection failure times exceed the preset detection failure threshold is marked as a faulty path; Query the data flow using the faulty path and find an alternative path for the data flow using the faulty path; Switch the traffic on the failed path to the corresponding alternative path and resend unacknowledged data packets through the alternative path; Restart and recover the faulty path.

9. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is called and executed by a processor, the multi-path routing agent method according to any one of claims 1 to 8 is implemented.

10. A multi-path routing agent system, characterized in that: The method comprises a path manager, a distributed proxy node network, a processor and a memory, wherein the distributed proxy node network is composed of a plurality of proxy nodes, the path manager is electrically connected to the distributed proxy node network, the path manager is used to scan and identify the network interface of the distributed proxy node network and the available proxy nodes, and to obtain performance indicators of potential paths composed of the proxy nodes, the path manager and the memory are both electrically connected to the processor, and the processor can implement the multi-path routing proxy method according to any one of claims 1 to 8 by calling and executing a computer program in the memory.

Citation Information

Patent Citations

  • Multi-path switch flow scheduling method, device and equipment based on border gateway protocol, and storage medium

    CN119383129A

  • Automatic extension method and system for TCP long connection server

    CN119814790A