Communication link determination method and apparatus, and electronic device

By resolving domain names to multiple network addresses and selecting links based on individual communication quality data, the method improves link selection accuracy and data transmission efficiency, addressing the issue of averaging methods obscuring IP performance differences.

CN120321173APending Publication Date: 2025-07-15BEIJING HILLSTONE NETWORKS INFORMATION TECHCO
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510207131.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-24
Publication Date
2025-07-15

AI Technical Summary

Technical Problem

When multiple IP addresses are parsed out by a single domain name, the prior art performs link selection by calculating the average value of data transmission indicator data on the link, resulting in the inability to accurately reflect the true performance differences of each IP address, affecting the accuracy of link selection and data transmission efficiency.

Method used

After the communication device parses out multiple network addresses, the communication quality data of each address on each link is collected, the alternative link is filtered according to preset conditions, and the optimal link is selected through weighted calculation for data transmission, and the link selection is optimized in combination with the dynamic traffic adjustment algorithm.

Benefits of technology

It improves the accuracy of link selection and data transmission efficiency, ensures that each IP address communicates through the optimal performance link, reduces latency and packet loss rate, optimizes network resource allocation, and provides a stable and efficient network access experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120321173A_ABST
    Figure CN120321173A_ABST
Patent Text Reader

Abstract

The invention discloses a communication link determination method and device and electronic equipment, and relates to the technical field of communication. The method comprises the following steps: when communication equipment adopts a target domain name to communicate based on M communication links, analyzing to obtain N network addresses corresponding to the target domain name; collecting communication quality data when each network address communicates based on each communication link; when it is detected that communication quality data of any network address during communication based on the ith communication link meets a preset condition, determining the ith communication link as an alternative link; and determining a first communication link for realizing communication transmission of the jth network address from the at least one alternative link according to the communication quality data of the jth network address during communication based on each alternative link. The technical problems of low selection accuracy of the communication link and low data transmission efficiency caused by difficulty in determining more accurate selection for each IP address in the prior art are solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technologies, and in particular, to a method, apparatus, and electronic device for determining a communication link. Background Art

[0002] In the rapid development of the Internet, the Domain Name System plays a crucial role. It not only provides users with an easy-to-remember way to access network addresses but also provides a basis for high availability and load balancing through domain name resolution. However, in the network architecture, the scenario where one domain name corresponds to multiple IP addresses has become increasingly common, mainly to achieve more efficient and stable network services. In the prior art, when multiple IP addresses are resolved from a single domain name, when a network device makes a link selection, it mainly relies on calculating the average value of the data transmission metric data on each link.

[0003] However, the average value calculation is too general and cannot accurately reflect the true performance differences of each IP address on different links. For example, if the performance of a certain IP address on a link is significantly lower than that of other IP addresses, the average value calculation may mask this performance difference, causing the network device to mistakenly consider this link as a link with good overall performance, thus affecting the accuracy of link selection.

[0004] Therefore, in the face of the scenario of multiple IP addresses, it is difficult for the prior art to determine a more accurate link selection for each IP, resulting in the technical problems of reduced accuracy of communication link selection and decreased data transmission efficiency. Summary of the Invention

[0005] This application provides a method, apparatus, and electronic device for determining a communication link, so as to at least solve the technical problem in the prior art that when there are multiple IPs for a single domain name, the average value of the data transmission metric data on the link is mainly calculated, and thus it is difficult to determine a more accurate selection for each IP when selecting a target link to transmit data on different links, resulting in low accuracy of communication link selection and low data transmission efficiency.

[0006] According to one aspect of the embodiments of the present application, a method for determining a communication link is provided, including: when a communication device communicates based on a target domain name over M communication links, resolving N network addresses corresponding to the target domain name; collecting communication quality data when each network address communicates over each communication link, where the communication quality data is used to measure the communication performance of the communication link; when it is detected that the communication quality data when any one of the N network addresses communicates over the i-th communication link meets a preset condition, determining the i-th communication link as an alternative link, where the i-th communication link is any one of the M communication links; according to the communication quality data when the j-th network address communicates over each alternative link, determining a first communication link for implementing the communication transmission of the j-th network address from at least one alternative link, where the j-th network address is any one of the N network addresses.

[0007] Optionally, after collecting the communication quality data when each network address communicates over each communication link, when it is detected that the communication quality data when each of the N network addresses communicates over the i-th communication link does not meet the preset condition, determining the i-th communication link as a non-alternative link.

[0008] Optionally, the communication quality data includes at least one of the following sub-data: a first sub-data for characterizing the delay of the communication link, where the preset condition corresponding to the first sub-data is that the delay of the communication link is less than a first preset threshold; a second sub-data for characterizing the packet loss rate of the communication link, where the preset condition corresponding to the second sub-data is that the packet loss rate of the communication link is less than a second preset threshold; a third sub-data for characterizing the bandwidth occupancy rate of the communication link, where the preset condition corresponding to the third sub-data is that the bandwidth occupancy rate of the communication link is less than a third preset threshold; a fourth sub-data for characterizing the jitter value of the communication link, where the jitter value characterizes the fluctuation between multiple delay data of the communication link, and the preset condition corresponding to the fourth sub-data is that the jitter value of the communication link is less than a fourth preset threshold.

[0009] Optionally, according to the communication quality data when the j-th network address communicates over each alternative link, determining a first communication link for implementing the communication transmission of the j-th network address from at least one alternative link includes: when the communication quality data includes K sub-data, performing a weighted calculation on the K sub-data when the j-th network address communicates over each alternative link according to the weight corresponding to each sub-data to obtain a communication cost score for the j-th network address over each alternative link, where K is an integer greater than 1; selecting the alternative link with the smallest communication cost score from at least one alternative link as the first communication link.

[0010] Optionally, after determining, based on the communication quality data during communication over each alternative link according to the j-th network address, a first communication link for implementing communication transmission of the j-th network address from at least one alternative link, a probing operation is performed on each alternative link according to the j-th network address, where the probing operation is used to send a specified data packet to each alternative link according to a target rate, detect the communication quality data of each alternative link when transmitting the specified data packet, and determine, from at least one alternative link, a second communication link corresponding to the j-th network address according to the communication quality data of each alternative link when transmitting the specified data packet; when it is detected that the second communication link is the same as the first communication link, the probing operation is stopped, and communication transmission of the j-th network address is implemented through the first communication link.

[0011] Optionally, after determining, from at least one alternative link, a second communication link corresponding to the j-th network address according to the communication quality data of each alternative link when transmitting the specified data packet, when it is detected that the second communication link is different from the first communication link, the communication link for implementing communication transmission of the j-th network address is adjusted to the second communication link; the probing operation is continuously performed, and when it is detected that the second communication link determined after any probing operation is the same as the first communication link, the probing operation is stopped.

[0012] Optionally, after adjusting the communication link for implementing communication transmission of the j-th network address to the second communication link, through a dynamic traffic adjustment algorithm, the target traffic expected to be transmitted over the first communication link is gradually switched to the second communication link in batches.

[0013] Optionally, gradually switching the target traffic expected to be transmitted over the first communication link to the second communication link in batches through a dynamic traffic adjustment algorithm includes: obtaining the traffic transmission delay of the first communication link and / or the second communication link at different times; determining the switching batches of the target traffic and the size of the traffic switched in each batch according to the traffic transmission delay of the first communication link and / or the second communication link at different times; and gradually switching the target traffic to the second communication link for transmission according to the switching batches of the target traffic and the size of the traffic switched in each batch.

[0014] According to another aspect of the present application, there is also provided a determining device for a communication link, including: a parsing unit, configured to parse and obtain N network addresses corresponding to a target domain name when a communication device communicates based on M communication links using the target domain name; a collection unit, configured to collect communication quality data when each network address communicates based on each communication link, where the communication quality data is used to measure the communication performance of the communication link; a first determination unit, configured to determine the i-th communication link as an alternative link when it is detected that the communication quality data of each of the N network addresses when communicating based on the i-th communication link satisfies a preset condition, where the i-th communication link is any one of the M communication links; a second determination unit, configured to determine a first communication link for realizing the communication transmission of the j-th network address from at least one alternative link according to the communication quality data when the j-th network address communicates based on each alternative link, where the j-th network address is any one of the N network addresses.

[0015] According to another aspect of the present application, there is also provided a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and when the computer program runs, it causes the device where the computer-readable storage medium is located to execute the above-mentioned method for determining a communication link.

[0016] According to another aspect of the present application, there is also provided an electronic device, where the electronic device includes one or more processors and a memory, and the memory is used to store one or more programs, and when the one or more programs are executed by the one or more processors, it causes the one or more processors to execute the above-mentioned method for determining a communication link.

[0017] In the present application, first, when a communication device communicates based on M communication links using a target domain name, N network addresses corresponding to the target domain name are parsed and obtained. Then, the communication quality data when each network address communicates based on each communication link is collected, where the communication quality data is used to measure the communication performance of the communication link. When it is detected that the communication quality data of each of the N network addresses when communicating based on the i-th communication link satisfies a preset condition, the i-th communication link is determined as an alternative link, where the i-th communication link is any one of the M communication links. Finally, according to the communication quality data when the j-th network address communicates based on each alternative link, a first communication link for realizing the communication transmission of the j-th network address is determined from at least one alternative link, where the j-th network address is any one of the N network addresses.

[0018] As can be seen from the above, in this application, the communication device no longer solely relies on the average value of link quality data. Instead, it independently collects and analyzes the communication quality data of each network address (i.e., each IP address) on each communication link. This means that the performance of each IP address will be fully considered, avoiding performance differences that may be masked by a single average value, and making the link selection closer to the actual network conditions. Secondly, in this application, by detecting whether the communication quality data of each network address during communication based on a specific communication link meets a preset condition, high-quality alternative links can be effectively screened out. This preset condition can be an SLA threshold to ensure that the link performance reaches a certain service quality standard. Different from simply averaging the link quality of all IP addresses in the prior art, the method in this application can ensure that each IP address can obtain a link that meets its performance requirements, thereby improving the accuracy of link selection.

[0019] In addition, after determining the alternative links, this application further selects the optimal first communication link for actual communication transmission according to the communication quality data of each network address on the alternative links. By avoiding directing traffic to links with poor performance, this application can significantly reduce data transmission latency and packet loss rate, thereby improving the overall data transmission efficiency. Compared with the low data transmission efficiency that may be caused by inaccurate link selection in the prior art, the method provided in this application can utilize network resources more efficiently and ensure that data is transmitted quickly on the most suitable link.

[0020] In summary, this application effectively solves the problems of low link selection accuracy and low data transmission efficiency in the single-domain name multi-IP scenario of the prior art by introducing a method of independently collecting and analyzing the communication quality data of each network address on each communication link, combined with the link screening under preset conditions and the optimized link selection logic. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] The drawings described herein are used to provide a further understanding of this application and constitute a part of this application. The illustrative embodiments of this application and their descriptions are used to explain this application and do not constitute an improper limitation of this application. In the drawings:

[0022] Figure 1 is a flowchart of an optional method for determining a communication link according to an embodiment of this application;

[0023] Figure 2 is a flowchart of an optional determination of alternative links according to an embodiment of this application;

[0024] Figure 3 is a flowchart of an optional combination of SLA mechanism and LLB mechanism according to an embodiment of this application;

[0025] Figure 4 It is a schematic diagram of an optional communication link determination device according to an embodiment of the present application. Detailed implementation manners

[0026] In order to enable those skilled in the art to better understand the solution of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present application.

[0027] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and do not necessarily need to be used to describe a specific order or sequence. It should be understood that such data used can be interchanged under appropriate circumstances so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device comprising a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.

[0028] It should also be noted that the information (including but not limited to user equipment information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) collected in the present application are information and data authorized by the user or fully authorized by all parties, and the collection, storage, use, processing, transmission, provision, disclosure and application, etc. of the relevant data all comply with the relevant laws, regulations and standards in the relevant regions, take necessary confidentiality measures, do not violate public order and good customs, and provide corresponding operation entrances for users to choose to authorize or refuse. For example, an interface is provided between the present system and relevant users or institutions. Before obtaining relevant information, a request for obtaining information needs to be sent to the aforementioned users or institutions through the interface, and after receiving the consent information fed back by the aforementioned users or institutions, the relevant information is obtained.

[0029] According to an embodiment of the present application, an embodiment of a method for determining a communication link is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in a different order than here.

[0030] Figure 1 is a flowchart of an optional method for determining a communication link according to an embodiment of the present application. As Figure 1 shown, the method includes the following steps:

[0031] Step S101, when the communication device communicates based on the target domain name through M communication links, resolve to obtain N network addresses corresponding to the target domain name.

[0032] In an optional embodiment, a system for determining a communication link (hereinafter simply referred to as the link determination system) may be the execution subject of the method for determining a communication link in the embodiment of the present application. Among them, the system for determining a communication link may be a software system or an embedded system combining software and hardware. Of course, the execution subject of the method for determining a communication link in the present application may also be other forms of devices, equipment, etc. Those skilled in the art should know that the present application does not make a special limitation on the specific form of the execution subject.

[0033] Optionally, the target domain name refers to a specific network resource identifier that requires SLA (Service Level Agreement) monitoring and link selection. Among them, SLA is a network function used to measure and monitor the performance and quality of service of the network to ensure that the network service meets the preset service standard. SLA usually monitors key performance indicators such as latency, jitter, packet loss rate, etc. Thresholds related to these indicators are set to determine whether the link can meet the expected service level. If the monitoring result is within the threshold range, the link is considered valid and can be used for data transmission; if it exceeds the threshold, the link may be marked as non-compliant to avoid transmitting important data through it.

[0034] Optionally, when a user attempts to access an online service or website, they usually initiate a request by entering a domain name instead of directly using an IP address. Among them, the target domain name may resolve to multiple IP addresses, and these IP addresses are distributed on different communication links.

[0035] Optionally, the M communication links refer to multiple network paths that the communication device can use, and these paths are respectively connected to different parts of the Internet. In a typical network architecture, communication devices (such as routers, firewalls) usually have multiple network interfaces, and each interface can be connected to one or more physical links, thus forming M different communication links.

[0036] Optionally, the N network addresses refer to multiple IP addresses obtained after DNS resolution of the target domain name. For example, in a highly available or load-balanced network architecture, a domain name may correspond to multiple servers, each server is identified by an independent IP address, thus forming a set of N network addresses. These IP addresses are used for data transmission on different links respectively.

[0037] Step S102: Collect communication quality data when each network address communicates based on each communication link respectively.

[0038] In step S102, the communication quality data is used to measure the communication performance of the communication link.

[0039] Optionally, the communication quality data is a key indicator for measuring the performance of the communication link, including but not limited to delay, jitter, packet loss rate, link bandwidth occupancy rate, etc. These data reflect the reliability and efficiency of the communication link when transmitting data.

[0040] Step S103: When it is detected that the communication quality data of any one of the N network addresses when communicating based on the i-th communication link all meet the preset conditions, determine the i-th communication link as an alternative link.

[0041] Wherein, the i-th communication link is any one of the M communication links.

[0042] Optionally, the preset conditions refer to the link quality standards set in advance. For example, the preset conditions can be the set SLA thresholds (such as the SLA threshold corresponding to the delay is 121 ms). Only when the communication quality data meets these preset conditions, the link may be regarded as an alternative link.

[0043] Optionally, an alternative link refers to a communication link that is considered to meet the service quality requirements under the preset conditions. The process of determining the alternative link is dynamic and may change with the network conditions and the change of the communication quality data. For example, "a link that meets the SLA threshold" is an alternative link.

[0044] The process of determining alternative links includes: when a network communication device starts to process a target domain name, it first resolves N network addresses corresponding to the domain name. Then, for any one of the M communication links (i.e., the i-th communication link), the device collects and evaluates the communication quality data of each network address on this link. If the communication quality data of any network address meets the preset conditions (such as the SLA threshold) during communication based on the i-th communication link, then this link is determined as an "alternative link". This means that at least within the current monitoring period, the i-th communication link is considered one of the links that can provide communication performance meeting the service quality requirements. Through such a judgment process, the communication device can screen out all possible alternative links, providing more accurate link options for subsequent link selection and data transmission. The determination of alternative links is based on the communication quality data of each network address, which ensures that link selection not only considers the overall performance of the link but also pays attention to the interaction effect between the link and specific network resources.

[0045] As can be seen from the above, through refined monitoring of communication quality data and link screening based on preset conditions, in the complex scenario of single domain name and multiple IPs, alternative links can be determined more intelligently, avoiding link selection errors that may be caused by simple average calculations, thus providing users with a more stable and efficient service experience. At the same time, the determination of alternative links also lays a foundation for the comprehensive evaluation and weight assignment of subsequent link quality data, ensuring that data can be transmitted through the link with the optimal performance.

[0046] Step S104: Determine the first communication link for implementing the communication transmission of the j-th network address from at least one alternative link according to the communication quality data of the j-th network address during communication based on each alternative link, where the j-th network address is any one of the N network addresses.

[0047] Optionally, the j-th network address is a specific IP address in the set of N network addresses, referring to any one of the multiple IP addresses obtained after the target domain name is resolved. The first communication link refers to the link that is finally determined to be the optimal one based on the communication quality data of the j-th network address on each alternative link when performing link selection for the j-th network address.

[0048] For example, after resolving N network addresses from the target domain name, a series of candidate links are first screened out through the SLA threshold. These links are considered to be able to provide communication performance meeting the preset conditions at least for some of the network addresses. Next, for the specific j-th network address, the communication quality data of this network address on each candidate link is further analyzed. For example, the optimal link combination is determined through communication cost calculation (such as weighted calculation of factors like latency and bandwidth occupancy rate), and the link with the lowest cost is determined as the "first communication link". This process avoids the limitation of only selecting links based on the average value in the prior art, ensures that each network address can communicate through the link with the optimal performance, and thus greatly improves the accuracy of communication link selection and data transmission efficiency.

[0049] Through the above steps, the technical solution of the present application not only improves the efficiency and stability of data transmission, but also optimizes the allocation of network resources, ensures that each network address can communicate through the most suitable link, and provides users with a better network access experience. At the same time, this process also takes into account the dynamic changes of the SLA threshold, enabling the link selection to adapt to the changes in the network environment and maintaining the flexibility and response speed of data transmission.

[0050] In an alternative embodiment, after collecting the communication quality data when each network address communicates based on each communication link, when it is detected that the communication quality data of each network address among the N network addresses does not meet the preset conditions when communicating based on the i-th communication link, the link determination system determines the i-th communication link as a non-candidate link.

[0051] Optionally, when the communication device starts to process the target domain name, it first resolves the N network addresses corresponding to the domain name. Subsequently, the device collects and evaluates the communication quality data when each network address communicates on M communication links. In this step, if it is found during the detection process that for the N network addresses, when communicating based on the i-th communication link, the communication quality data of none of the network addresses can meet the preset conditions (such as the SLA threshold), then this link will be marked as a non-candidate link.

[0052] Optionally, Figure 2 is a flowchart for determining an alternative candidate link according to an embodiment of the present application, as Figure 2As shown, first, after multiple IP addresses are resolved based on a target domain name, collect the communication quality data of each resolved IP address on each communication link. If there are multiple IP addresses and multiple links, record the communication quality data of all IP addresses on different communication links. Then, obtain the SLA threshold related to the communication quality data set for the domain name, and determine the alternative links from multiple communication links according to the set SLA threshold, including: if the communication quality data corresponding to all the IP addresses involved in a certain communication link do not meet the SLA threshold, it is determined that this communication link does not belong to the alternative links and this communication link is directly excluded; if the communication quality data corresponding to any at least one IP address on this link meets the SLA threshold, this link is temporarily reserved as an alternative link. After all communication links are compared in the above manner, perform a union operation on all the reserved alternative links, and store all the alternative links after the union operation in the database. The alternative links stored in the database are recorded in the form of domain name, link, and link status.

[0053] In addition, for each alternative link, judge the optimal link quality of each IP address. For example, combine the IP address and the alternative link, and assign a weight value to this combination in advance. For example, the communication cost score (which can be denoted as cost) of this combination can be calculated based on the communication quality data, and the weight of 100 is directly assigned to the link-IP address combination with the lowest cost.

[0054] In an alternative embodiment, the method for determining alternative links is illustrated by the following scenario example:

[0055] After multiple IP addresses are resolved from a target domain name, record the communication quality data of each IP address on each communication link. When there are multiple IPs and multiple communication links, record the communication quality data of all IPs on different communication links. An example of the recording result is shown in Table 1:

[0056] Table 1

[0057] IP Address Link Link Quality (Latency) 1.1.1.1 Link 1 Latency 100ms 2.1.1.1 Link 1 Latency 200ms 3.1.1.1 Link 1 Latency 300ms 1.1.1.1 Link 2 Latency 220ms 2.1.1.1 Link 2 Latency 120ms 3.1.1.1 Link 2 Latency 320ms 1.1.1.1 Link 3 Latency 122ms 2.1.1.1 Link 3 Latency 222ms 3.1.1.1 Link 3 Latency 322ms

[0058] Then, obtain the SLA threshold related to the communication quality data (such as the delay in Table 1) set for the domain name, and determine the alternative links from the three communication links in Table 1 according to this threshold, including: if the delays of all the IPs involved in a certain communication link do not meet the SLA threshold (i.e., are less than the SLA threshold), it is determined that this link does not meet the SLA threshold and this link is directly excluded; if the delay of any at least one IP on a certain link meets the SLA threshold, this link is temporarily reserved as an alternative link.

[0059] After all the links are compared in the above manner, take the union of all the remaining links, and store all the alternative links after taking the union in the database, recording them in the form of domain name, link, and interface status.

[0060] For example, if the SLA threshold is set to 121 ms, after comparison, it is found that 1.1.1.1 in Link 1 meets the requirement, 2.1.1.1 in Link 2 meets the requirement, and the corresponding IPs in Link 3 do not meet the requirement. Then, it is determined that the alternative links are Link 1 and Link 2, and Link 3 is excluded. The recorded results are shown in Table 2:

[0061] Table 2

[0062]

[0063]

[0064] Through the above judgment mechanism of alternative links, not only the accuracy of link selection is improved, but also resource waste is effectively avoided, ensuring the stability and efficiency of the entire network architecture. By excluding the links whose communication quality data of all IP addresses do not meet the SLA threshold, network devices can concentrate resources on the links that can truly provide high-quality services, thereby providing users with a more stable and faster network access experience. At the same time, this process also reflects the intelligence and flexibility of this application in dealing with the scenario of multiple IPs for a single domain name, being able to dynamically adjust the link selection strategy according to the actual situation of the network, ensuring the optimization of data transmission and the efficient utilization of network performance.

[0065] In an optional embodiment, the communication quality data includes at least one of the following sub-data:

[0066] The first sub-data is used to characterize the delay of the communication link. Among them, the preset condition corresponding to the first sub-data is that the delay of the communication link is less than the first preset threshold;

[0067] The second sub-data is used to characterize the packet loss rate of the communication link. Among them, the preset condition corresponding to the second sub-data is that the packet loss rate of the communication link is less than the second preset threshold;

[0068] The third sub-data is used to characterize the bandwidth occupancy rate of the communication link. Among them, the preset condition corresponding to the third sub-data is that the bandwidth occupancy rate of the communication link is less than the third preset threshold;

[0069] The fourth sub-data is used to characterize the jitter value of the communication link. The jitter value characterizes the fluctuation situation among multiple delay data of the communication link. Among them, the preset condition corresponding to the fourth sub-data is that the jitter value of the communication link is less than the fourth preset threshold.

[0070] Optionally, the above-mentioned first sub-data, second sub-data, third sub-data, and fourth sub-data are specific metrics for measuring the performance of a communication link, corresponding to latency, packet loss rate, bandwidth occupancy, and jitter value respectively, and are used to characterize different aspects of the link during data transmission. For each sub-data, a preset threshold (corresponding to the above-mentioned SLA threshold) is also set respectively.

[0071] Optionally, the first sub-data is used to quantify the latency performance of the communication link, that is, the time required for a data packet to travel from the sender to the receiver. Latency is an important metric for measuring the response speed and real-time performance of the link. The preset condition is set such that the latency of the communication link is less than the first preset threshold, which is predefined according to specific quality of service requirements and aims to ensure the timeliness of data transmission. If the latency data of a certain communication link exceeds this threshold, then this link may be regarded as having poor quality of service and thus be excluded or downgraded during the link selection process.

[0072] Optionally, the second sub-data is used to characterize the proportion of data packets lost during transmission, reflecting the reliability and stability of the communication link. The preset condition is set such that the packet loss rate of the communication link is less than the second preset threshold, which is also set based on quality of service requirements and aims to ensure the integrity of data transmission. On a link with a high packet loss rate, data retransmission will increase, thus affecting the overall communication efficiency and user experience. Therefore, the packet loss rate data is crucial for evaluating the link performance.

[0073] Optionally, the third sub-data measures the usage of the communication link bandwidth, that is, the proportion of the actual data volume transmitted by the link to the available data volume. Bandwidth occupancy is an indicator for evaluating the link's carrying capacity and resource utilization efficiency. The preset condition is set such that the bandwidth occupancy of the communication link is less than the third preset threshold, and this threshold is set to avoid link overload and ensure the smooth and timely transmission of data. A high bandwidth occupancy may mean that the link is approaching saturation, affecting the transmission speed and quality of subsequent data.

[0074] Optionally, the fourth sub-data is used to describe the fluctuation of the packet transmission latency in the communication link, that is, the degree of difference between multiple latency data. The jitter value is a key factor affecting data transmission stability, especially in real-time communications (such as voice and video calls), where high jitter will lead to a decline in the user experience. The preset condition is set such that the jitter value of the communication link is less than the fourth preset threshold, aiming to ensure that the delay fluctuation of the data during transmission remains within an acceptable range and improve the communication stability and quality.

[0075] By monitoring and analyzing the above-mentioned sub-data, it is possible to accurately determine whether the communication link meets the preset service quality requirements, and then decide which links can be used as alternative links for subsequent link selection and data transmission. This mechanism not only improves the accuracy of link selection and the efficiency of data transmission, but also ensures that network devices can provide stable and efficient services in a complex and changing network environment, creating a better network experience for users.

[0076] It should be noted that in practical applications, the collection and analysis of these sub-data usually need to be carried out in real-time dynamically, so that network devices can adjust the data transmission path in a timely manner according to the actual performance of the link, and avoid the negative impact of poorly performing links on service quality. In addition, the setting of the preset threshold needs to comprehensively consider the network environment, business requirements and possible network fluctuations to ensure that the link selection strategy can not only meet the high standards of services, but also has a certain degree of flexibility and adaptability. In this way, network devices can optimize the link performance and improve the efficiency and quality of data transmission.

[0077] In an alternative embodiment, determining a first communication link for implementing communication transmission of the j-th network address from at least one alternative link according to the communication quality data when communicating based on the j-th network address includes: when the communication quality data includes K sub-data, performing a weighted calculation on the K sub-data based on the j-th network address when communicating based on each alternative link according to the weight corresponding to each sub-data, to obtain a communication cost score based on each alternative link for the j-th network address, where K is an integer greater than 1. Then, select the alternative link with the minimum communication cost score from at least one alternative link as the first communication link.

[0078] Optionally, the K sub-data refer to multiple different types of performance metric data collected when monitoring the performance of the communication link, such as delay, packet loss rate, bandwidth occupancy rate, and jitter value, etc. The value of K is an integer greater than 1, indicating that at least two or more performance metrics are considered when calculating the communication cost score.

[0079] Optionally, the weights of the sub-data reflect the importance of different sub-data in the calculation of the final communication cost score, which are usually set according to business requirements and the requirements of the service quality agreement. For example, the default weight values for latency, packet loss rate, bandwidth occupancy rate, and jitter value are 1, 2, 4, and 1 respectively. By setting different weights, higher emphasis can be given to certain performance indicators when calculating the communication cost score to meet specific service quality and user experience requirements. The result obtained through weighted calculation is used to comprehensively evaluate the performance of the communication link when transmitting data of a specific network address. The lower the score, the better the comprehensive performance of the link and the more suitable it is for data transmission. In this application, the communication cost score can be denoted as the "cost value", which is based on the weighted calculation of multiple performance indicators (sub-data) and reflects the communication cost of the link.

[0080] Optionally, when the network device processes the N network addresses resolved from the target domain name, it first collects K sub-data (such as latency, packet loss rate, bandwidth occupancy rate, and jitter value) for each network address from the alternative links screened by the SLA threshold. Then, based on the weights of each sub-data, these data are weighted and calculated to obtain the communication cost score of each alternative link based on the j-th network address. This score comprehensively considers multiple performance indicators of the link. By multiplying the sub-data by their weights and then summing them up, a value that comprehensively reflects the link performance can be obtained. Next, the network device will select the link with the minimum communication cost score from these alternative links as the first communication link for data transmission to the j-th network address.

[0081] Through the above process, the technical solution of this application not only considers the single performance indicator of the link, but also realizes the comprehensive evaluation of multiple performance indicators through weighted calculation, thus ensuring that the decision-making of link selection is more comprehensive and intelligent. At the same time, this mechanism also allows for flexible adjustment of the weights of the sub-data according to changes in business requirements and network environment to meet different service quality and user experience requirements.

[0082] In an alternative embodiment, after determining the communication quality data during communication based on the j-th network address over each alternative link and determining a first communication link for implementing the communication transmission of the j-th network address from at least one alternative link, the link determination system may perform a probing operation on each alternative link according to the j-th network address. The probing operation is used to send specified data packets to each alternative link according to a target rate, detect the communication quality data of each alternative link when transmitting the specified data packets, and determine a second communication link corresponding to the j-th network address from at least one alternative link according to the communication quality data of each alternative link when transmitting the specified data packets. Subsequently, when it is detected that the second communication link is the same as the first communication link, the probing operation is stopped, and the communication transmission of the j-th network address is implemented through the first communication link.

[0083] Optionally, the above-mentioned probing operation is a mechanism for real-time monitoring of the performance of alternative links. By detecting the transmission of specified data packets at the target rate, new communication quality data is collected to verify whether the selection of the first communication link is still optimal.

[0084] Optionally, after initially determining the first communication link, the link determination system starts a probing operation to further verify the performance and stability of the first communication link. This operation is usually performed when the system detects changes in the network environment or business requirements, or at preset time intervals to ensure that the selection of the communication link is always optimal. The probing operation includes:

[0085] Step 1: Send specified data packets to each alternative link, and the packet sending rate is set according to the target rate. This step aims to simulate the transmission of actual service traffic to more accurately evaluate the real-time performance of the link.

[0086] Step 2: Detect the communication quality data of each alternative link when transmitting the specified data packets. These data may include delay, packet loss rate, bandwidth occupancy rate, and jitter value, etc., which are used to characterize the real-time transmission performance of the link.

[0087] Step 3: According to the new communication quality data, recalculate the communication cost score of each alternative link and determine a second communication link corresponding to the j-th network address. This process is calculated by weighting and is consistent with the previous link selection logic but is based on the latest probing results.

[0088] Step 4, the system will compare whether the second communication link is the same as the first communication link. If the two are consistent, that is, the result of the detection operation confirms that the selection of the first communication link is still optimal, then the system will stop the subsequent detection operations and continue to transmit data through the first communication link, avoiding unnecessary resource consumption. On the contrary, if the detection result indicates that the performance of other links is better, then the system will adjust its link selection and use the second communication link for data transmission to provide higher-quality services.

[0089] This mechanism reflects the intelligence and dynamic adjustment ability of the technical solution of this application. Through continuous detection and analysis, it can ensure that data transmission always occurs through the link with the optimal performance. Even if the network environment or service requirements change, it can respond in real time, adjust the link selection strategy, and ensure communication quality and user experience.

[0090] Optionally, in the embodiments of this application, the above detection operation can be completed through the LLB mechanism. Among them, the LLB (Link Load Balance) detection mechanism is a method used by network devices to intelligently allocate traffic to optimize network performance and improve data transmission efficiency. A brief description is as follows:

[0091] The main goal of LLB is to balance the load of the outbound traffic of network devices among multiple links, avoid performance bottlenecks or service interruptions caused by overloading of a single link, and at the same time ensure the stability of data transmission and optimize the user experience.

[0092] The working principle of the detection operation includes: when a data packet needs to be sent to a specific domain name through a network device, LLB will first resolve the domain name into one or more IP addresses, and these IP addresses will be used for subsequent link detection and load balancing. LLB will send detection data packets to each IP address through all alternative links, collect communication quality data related to the links, such as latency, jitter, packet loss rate, and bandwidth occupancy rate, etc. These data are used to evaluate the current status and performance of each link. The collected communication quality data will be processed, and through methods such as weighted calculation, a comprehensive communication cost score will be generated for each link. The lower the score, the better the link performance and the more suitable it is for traffic transmission. LLB will select the link with the optimal performance as the data transmission channel according to this score.

[0093] It should be noted that the detection operation not only selects links in the initial stage but also continuously monitors the link status. When it detects a change in link performance or the preset conditions are not met, such as a decrease in the performance of the first communication link, LLB will restart the detection operation to find a new optimal link for traffic forwarding to adapt to the dynamic changes in the network environment and ensure the continuous optimization of data transmission.

[0094] It should also be noted that in the technical solution of this application, LLB is used in combination with the SLA (Service Level Agreement) function. The SLA first sets the threshold of link performance to preliminarily screen out alternative links that meet the service quality requirements. LLB further detects and selects the optimal link among these alternative links to ensure that traffic can be transmitted through the link with qualified service quality and optimal performance. If the detection result of SLA is consistent with the calculation result of LLB, LLB will stop repeated detection and directly use the result of SLA to avoid resource waste and improve efficiency.

[0095] In an alternative embodiment, Figure 3 is a flowchart of an alternative SLA mechanism and LLB mechanism used in combination according to an embodiment of this application, as Figure 3 shown. First, after the SLA function module completes the detection of the communication quality of multiple IP addresses resolved from the domain name on each link, it will screen out the optimal link that meets the service level requirements based on the preset SLA threshold. This link selection information will be passed to the LLB function module. This step ensures that the initial link selection is based on the high standard of SLA, optimizing the starting point of traffic transmission. After receiving the optimal link information transmitted by SLA, the LLB function module applies its result to the initial routing decision, that is, the traffic will be forwarded through the optimal link detected by SLA for the first time. This step avoids the possibility that LLB may select a link with poor performance for data transmission when the correct link quality is not detected, improving the reliability of the initial link selection.

[0096] However, although the SLA provides a preliminary link selection, considering the differences between the SLA and the LLB detection mechanism, the LLB functional module will continue to perform link quality detection to ensure that its routing decision is consistent with the result of the SLA. The rate and parameters of the LLB detection may be different from those of the SLA, so there is a possibility of inconsistent link selection. This step is crucial for dynamically adjusting and optimizing link selection, ensuring that even when the network environment changes, the best performance of data transmission can be maintained. While the LLB functional module continuously detects the link quality, the system will compare whether the optimal link determined by the LLB functional module is consistent with the optimal link determined by the SLA functional module. If the two are consistent, it indicates that the link selection is accurate, and the LLB will stop further detection, directly reuse the detection result of the SLA, avoiding waste of resources and improving efficiency. If the optimal links determined by the two functional modules are inconsistent, the LLB functional module will use a traffic adjustment algorithm to gradually switch the traffic from the optimal link determined by the SLA functional module to the optimal link determined by the LLB functional module for transmission. However, the system will continue to perform detection operations. Once it is found that the optimal link selection of the SLA is consistent with the current link selection of the LLB again, the system will stop the additional detection operations and directly reuse the detection result of the SLA, indicating that the link selection and traffic management have entered a stable state and no further intervention is required.

[0097] As can be seen from the above, through the collaborative effect of the SLA functional module and the LLB functional module in link selection and traffic management, not only the initial accuracy and efficiency of link selection are improved, but also the real-time adaptability and best performance of data transmission are ensured through continuous link quality detection and optimization. This mechanism is particularly important in the scenario of multi-link load balancing. It can intelligently select and switch the most appropriate link based on the dynamic changes of the network, providing users with a stable and efficient network access experience.

[0098] In an alternative embodiment, after determining the second communication link corresponding to the j-th network address from at least one alternative link according to the communication quality data when transmitting a specified data packet on each alternative link, when it is detected that the second communication link is different from the first communication link, the link determination system will adjust the communication link for implementing the communication transmission of the j-th network address to the second communication link. The link determination system continuously performs detection operations and stops the detection operations when it is detected that the second communication link determined after any detection operation is the same as the first communication link.

[0099] Optionally, after initially determining the first communication link, the link determination system performs a probing operation to collect the latest communication quality data of each alternative link when transmitting a specified data packet. By comparing this data, the system may re-evaluate the link performance and determine a potentially better second communication link. If it is found after probing that the performance of the second communication link is significantly better than that of the first communication link, i.e., the two are different, the system will immediately adjust the communication link and replace the first communication link with the second communication link to achieve more efficient data transmission to the j-th network address.

[0100] It should be noted that the link determination system continuously performs probing operations and evaluates the latest performance of alternative links regularly or under specific conditions. This dynamic mechanism ensures that the system can respond in real time to changes in the network environment, such as link congestion, failures, or performance fluctuations, thus maintaining the optimal selection of communication links.

[0101] It should also be noted that during the process where the link determination system continuously performs probing operations, if the system detects that the second communication link determined after any probing operation is the same as the first communication link, i.e., the optimization result of link selection has stabilized, the system will stop subsequent probing operations. This mechanism avoids unnecessary resource consumption and duplicate collection of link performance data, improving the efficiency of link management.

[0102] In summary, through continuous probing operations, the link determination system can intelligently evaluate and adjust the selection of communication links to ensure the efficiency and stability of data transmission. When the system detects that the second communication link (optimized link selection) is different from the first communication link (initially determined link selection), it will immediately adjust the communication link and use the link with better performance for data transmission. At the same time, the system has the ability to self-terminate. When the result of link selection has stabilized, i.e., the second communication link is the same as the first communication link, the system will stop subsequent probing operations to avoid resource waste and improve system efficiency. This mechanism reflects the intelligent adaptability and efficient management ability of the technical solution of this application in a dynamic network environment, enabling network devices to maintain the best performance of data transmission even when network conditions change.

[0103] In an alternative embodiment, after adjusting the communication link for realizing the communication transmission to the j-th network address to the second communication link, the link determination system can, through a dynamic traffic adjustment algorithm, gradually switch the target traffic expected to be transmitted using the first communication link to the second communication link in batches.

[0104] Optionally, the dynamic traffic adjustment algorithm is an intelligent traffic management technology used to dynamically adjust the distribution of data traffic among different links in a network device to adapt to changes in link performance and fluctuations in service demands. The use of this algorithm ensures the smoothness and efficiency of data transmission during link optimization (i.e., switching from the first communication link to the second communication link).

[0105] In addition, in traditional link switching, all traffic may be switched from one link to another at once, and such a sudden switch may cause temporary packet loss or increased latency. In this application, however, the link determination system adopts a strategy of gradually switching in batches, that is, instead of immediately switching all traffic, it gradually increases the traffic allocation to the second communication link while reducing the traffic on the first communication link until it is fully switched to the second communication link. This process is achieved through the dynamic traffic adjustment algorithm, ensuring a smooth transition during the link switching process and avoiding sudden interruptions in data transmission or a sharp decline in service quality.

[0106] During the switching process, the link determination system needs to estimate the target traffic on the first communication link, that is, the total amount of traffic originally expected to be transmitted through the first communication link. The accuracy of estimating the target traffic is crucial for the smoothness of traffic switching, ensuring that during the process of switching traffic to the second communication link, it will not cause overload on the second communication link or waste of resources on the first communication link. Through the dynamic traffic adjustment algorithm, the system can monitor and adjust traffic allocation in real time to ensure a smooth transition of traffic to the better-performing second communication link.

[0107] The process of traffic adjustment includes: when the link determination system discovers through probing operations that the performance of the second communication link is significantly better than that of the first communication link, i.e., when they are different, the system will immediately initiate the adjustment of the communication link. The adjustment process of the link will not immediately cut off the traffic on the first communication link, but through the dynamic traffic adjustment algorithm, it will switch the target traffic on the first communication link to the second communication link in batches and gradually. During the switching process, the system will monitor the traffic carrying capacity and performance of the second communication link in real time to ensure that it will not cause link overload or a decline in service quality due to a sudden increase in traffic. At the same time, the system will gradually reduce the traffic on the first communication link to avoid resource waste. After all the traffic is completely transferred to the second communication link, the system will stop using the first communication link, and the second communication link will become the new data transmission channel.

[0108] This mechanism reflects the intelligence and dynamic adjustment ability of the technical solution of this application during link switching. Through batch-by-batch gradual switching and dynamic traffic adjustment algorithms, the system can ensure the continuity of data transmission and service quality. Even when the network environment or business requirements change, it can smoothly and efficiently adjust the link selection, achieve intelligent traffic management, and provide users with a stable and high-quality network access experience.

[0109] In an optional embodiment, through the dynamic traffic adjustment algorithm, the target traffic expected to be transmitted via the first communication link is gradually switched to the second communication link in batches, including: obtaining the traffic transmission delays of the first communication link and / or the second communication link at different times; determining the switching batches of the target traffic and the traffic size to be switched in each batch according to the traffic transmission delays of the first communication link and / or the second communication link at different times; and gradually switching the target traffic to the second communication link for transmission according to the switching batches of the target traffic and the traffic size to be switched in each batch.

[0110] Optionally, the above dynamic traffic adjustment algorithm can be a damping algorithm for adjusting traffic based on delay information. Among them, a key input of this damping algorithm is the traffic transmission delay of the link, which includes the delay data of the first communication link and the second communication link at different times. By continuously monitoring the traffic transmission delay of the link, the system can understand the current performance state of the link in real time, which is an important basis for determining the traffic switching strategy. Once the traffic transmission delay of the link is obtained, the system will determine the switching batches of the target traffic and the traffic size to be switched in each batch based on this data. This decision-making process usually considers multiple factors, including but not limited to the current delay of the link, the link bandwidth margin, and the characteristics of the service traffic (such as the burstiness and persistence of the traffic). The system may set a delay tolerance threshold. If the delay of the second communication link is significantly lower than that of the first communication link, or its delay change trend is more stable, the system may choose to switch the traffic more quickly and in larger batches; conversely, if the delay difference is small, the system will adopt a more conservative strategy and gradually switch the traffic in small batches to reduce the impact on the service.

[0111] According to the determined switching batches of the target traffic and the traffic size to be switched in each batch, the system will perform a gradual traffic switching operation. This operation usually starts with smaller traffic batches and gradually increases the traffic size until the target traffic is completely switched to the second communication link. During the switching process of each batch, the system will closely monitor the performance changes of the link, such as traffic transmission delay, packet loss rate, etc., to ensure a smooth transition of the traffic and avoid overloading the second communication link due to a sudden increase in traffic.

[0112] Optionally, Formula (1) shows an optional damping algorithm for adjusting traffic based on delay information:

[0113] delay(n) = 7 / 8 * delay(n - 1) + 1 / 8 * RTT, delay(1) = first RTT (1)

[0114] Optionally, delay(n): represents the delay value of the link at the nth measurement or probe. It is one of the key metrics used by the link determination system to evaluate the real-time performance of the link and directly affects the efficiency of data transmission and the user experience. In this application, the calculated result of delay(n) will be used for the comprehensive evaluation of link quality and to determine whether traffic needs to be adjusted from the first communication link to the second communication link.

[0115] delay(n - 1): represents the delay value of the link at the (n - 1)th measurement or probe, that is, the delay data obtained from the previous measurement. In the damping algorithm, the value of delay(n - 1) is given a higher weight (7 / 8), meaning that the current delay value is greatly affected by the historical delay value. The purpose of this design is to smooth out the fluctuations in link performance and reduce the frequent changes in link selection and traffic adjustment caused by momentary network jitters, improving the stability and reliability of the system.

[0116] RTT(n): RTT stands for Round Trip Time, which is the time it takes for a data packet to be sent from the sender, reach the receiver, and then return to the sender. It is an important metric for measuring the real-time transmission performance of the link. In the formula, RTT(n) refers to the round-trip time data obtained at the nth probe or measurement, which reflects the current actual transmission status of the link.

[0117] first RTT: refers to the round-trip time data obtained at the first probe or measurement, that is, the RTT value when initially evaluating the link performance. In the formula, delay(1) is equal to first RTT, meaning that at the first measurement, the delay value of the link is directly equal to the result of the first RTT measurement. This is the initialization step for delay calculation in the damping algorithm.

[0118] 7 / 8 and 1 / 8 in formula (1) represent the weights of the historical delay value and the current RTT value respectively when calculating the current delay. The weight of 7 / 8 is assigned to the previous delay value (delay(n - 1)), meaning that the algorithm attaches more importance to the stability of the link's historical performance; while the weight of 1 / 8 is assigned to the current RTT value, ensuring that the algorithm can reflect the latest changes in the link without sharply adjusting the delay calculation result due to outliers in individual measurements. Such a weight assignment strategy aims to balance the influence of historical data and the latest data, thus obtaining a delay value that not only reflects the real-time performance of the link but also takes into account historical stability.

[0119] As can be seen from the content of formula (1), the damping algorithm calculates a smoothed delay(n) by assigning different weights to the historical delay value and the current RTT value, which is used for continuous monitoring and optimization of the link quality. In multi-link load balancing and link selection, the smoothed delay calculation result can help the system more accurately judge the real-time performance of the link, avoid the instability of link selection and traffic adjustment caused by instantaneous network fluctuations, and ensure the smoothness and efficiency of data transmission. In the technical solution of this application, this mechanism is particularly important because it can ensure that even under the condition of rapid changes in the network environment, the system can maintain the accuracy of link selection, improve the efficiency of multi-link load balancing, and optimize the user experience.

[0120] According to another aspect of the present application, there is also provided a device for determining a communication link, wherein, Figure 4 is a schematic diagram of an optional device for determining a communication link according to an embodiment of the present application, as Figure 4 shown, the device includes: a parsing unit 401, configured to parse N network addresses corresponding to the target domain name when the communication device communicates based on M communication links using the target domain name; a collection unit 402, configured to collect communication quality data when each network address communicates based on each communication link, wherein the communication quality data is used to measure the communication performance of the communication link; a first determination unit 403, configured to determine the i-th communication link as an alternative link when it is detected that the communication quality data of each network address among the N network addresses when communicating based on the i-th communication link all meet the preset conditions, where the i-th communication link is any one of the M communication links; a second determination unit 404, configured to determine a first communication link for implementing the communication transmission of the j-th network address from at least one alternative link according to the communication quality data when the j-th network address communicates based on each alternative link, where the j-th network address is any one of the N network addresses.

[0121] Optionally, the device for determining a communication link further includes: a third determination unit, configured to determine the i-th communication link as a non-alternative link when it is detected that the communication quality data of each network address among the N network addresses when communicating based on the i-th communication link do not meet the preset conditions after collecting the communication quality data when each network address communicates based on each communication link.

[0122] Optionally, the communication quality data includes at least one of the following sub-data:

[0123] A first sub-data, used to characterize the delay of the communication link, wherein the preset condition corresponding to the first sub-data is that the delay of the communication link is less than a first preset threshold;

[0124] The second sub-data is used to characterize the packet loss rate of the communication link. Among them, the preset condition corresponding to the second sub-data is that the packet loss rate of the communication link is less than the second preset threshold;

[0125] The third sub-data is used to characterize the bandwidth occupancy rate of the communication link. Among them, the preset condition corresponding to the third sub-data is that the bandwidth occupancy rate of the communication link is less than the third preset threshold;

[0126] The fourth sub-data is used to characterize the jitter value of the communication link. The jitter value characterizes the fluctuation situation among multiple delay data of the communication link. Among them, the preset condition corresponding to the fourth sub-data is that the jitter value of the communication link is less than the fourth preset threshold.

[0127] Optionally, the second determination unit 404 includes: a calculation subunit, configured to, when the communication quality data includes K sub-data, perform weighted calculation on the K sub-data during communication based on each alternative link according to the j-th network address according to the weight corresponding to each sub-data, to obtain the communication cost score of the j-th network address based on each alternative link, where K is an integer greater than 1; a selection subunit, configured to select, from at least one alternative link, the alternative link with the minimum communication cost score as the first communication link.

[0128] Optionally, the communication link determination device further includes: a first execution unit, configured to, after determining, according to the communication quality data during communication based on each alternative link according to the j-th network address, the first communication link for realizing the communication transmission of the j-th network address from at least one alternative link, perform a detection operation on each alternative link according to the j-th network address, where the detection operation is used to send a specified data packet to each alternative link according to the target rate, and detect the communication quality data of each alternative link when transmitting the specified data packet, and determine, according to the communication quality data of each alternative link when transmitting the specified data packet, the second communication link corresponding to the j-th network address from at least one alternative link; a second execution unit, configured to, when detecting that the second communication link is the same as the first communication link, stop the detection operation, and implement the communication transmission of the j-th network address through the first communication link.

[0129] Optionally, the communication link determination device further includes: a link adjustment unit, configured to, after determining, according to the communication quality data of each alternative link when transmitting the specified data packet, the second communication link corresponding to the j-th network address from at least one alternative link, when detecting that the second communication link is different from the first communication link, adjust the communication link for realizing the communication transmission of the j-th network address to the second communication link; a third execution unit, configured to continuously perform the detection operation, and stop the detection operation when detecting that the second communication link determined after any detection operation is the same as the first communication link.

[0130] Optionally, the determining device for the communication link further includes: a traffic switching unit, configured to, after adjusting the communication link for implementing the communication transmission of the j-th network address to the second communication link, gradually switch the target traffic expected to be transmitted through the first communication link to the second communication link in batches by using a dynamic traffic adjustment algorithm.

[0131] Optionally, the traffic switching unit includes: an obtaining subunit, configured to obtain the traffic transmission delays of the first communication link and / or the second communication link at different times; a first determining subunit, configured to determine the switching batches of the target traffic and the traffic size switched in each batch according to the traffic transmission delays of the first communication link and / or the second communication link at different times; and a traffic switching subunit, configured to gradually switch the target traffic to the second communication link for transmission according to the switching batches of the target traffic and the traffic size switched in each batch.

[0132] According to another aspect of the embodiments of the present application, there is also provided a computer-readable storage medium, where a computer program is stored in the computer-readable storage medium, and when the computer program runs, it causes the device where the computer-readable storage medium is located to execute the above-mentioned method for determining the communication link.

[0133] According to another aspect of the embodiments of the present application, there is also provided an electronic device, where the electronic device includes one or more processors and a memory, and the memory is used to store one or more programs, and when the one or more programs are executed by the one or more processors, it causes the one or more processors to execute the above-mentioned method for determining the communication link.

[0134] The above-described embodiments or examples disclosed in the present application are not exhaustive, but are only illustrations of some embodiments or examples, and do not constitute specific limitations on the protection scope disclosed in the present application. Without contradiction, each step in a certain embodiment or example in the present application can be implemented as an independent embodiment, and the steps can be arbitrarily combined. For example, the solution after removing some steps in a certain embodiment or example can also be implemented as an independent embodiment, and the order of the steps in a certain embodiment or example can be arbitrarily exchanged. In addition, the optional methods or optional examples in a certain embodiment or example can be arbitrarily combined; furthermore, the various embodiments or examples can be arbitrarily combined. For example, some or all of the steps of different embodiments or examples can be arbitrarily combined, and a certain embodiment or example can be arbitrarily combined with the optional methods or optional examples of other embodiments or examples.

[0135] The serial numbers of the above embodiments of the present application are only for description and do not represent the advantages or disadvantages of the embodiments.

[0136] In the above embodiments of the present application, the descriptions of the various embodiments have their own emphases. For the parts not detailed in a certain embodiment, reference may be made to the relevant descriptions of other embodiments.

[0137] In several embodiments provided by the present application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only illustrative. For example, the division of the units can be a logical function division. In actual implementation, there can be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some interfaces. The indirect couplings or communication connections of the units or modules can be in electrical or other forms.

[0138] The units described as separate components may or may not be physically separated. The components displayed as units may or may not be physical units, that is, they can be located in one place or distributed to multiple units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0139] In addition, the functional units in the various embodiments of the present application can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.

[0140] If the above-mentioned integrated units are implemented in the form of software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or all or part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application. The foregoing storage medium includes: USB flash drives, read-only memories (ROMs), random access memories (RAMs), mobile hard disks, magnetic disks, or optical discs and other various media that can store program codes.

[0141] The above are only the preferred embodiments of the present application. It should be noted that for those of ordinary skill in the art, without departing from the principle of the present application, several improvements and refinements can be made, and these improvements and refinements should also be regarded as the protection scope of the present application.

Claims

1. A method for determining a communication link, characterized in that, Including: When a communication device communicates based on a target domain name via M communication links, resolving to obtain N network addresses corresponding to the target domain name; Collecting communication quality data when each network address communicates based on each communication link, where the communication quality data is used to measure the communication performance of the communication link; When it is detected that the communication quality data when any one of the N network addresses communicates based on the i-th communication link meets a preset condition, determining the i-th communication link as an alternative link, where the i-th communication link is any one of the M communication links; According to the communication quality data when the j-th network address communicates based on each alternative link, determining a first communication link for implementing the communication transmission of the j-th network address from at least one alternative link, where the j-th network address is any one of the N network addresses.

2. The method according to claim 1, wherein After collecting the communication quality data when each network address communicates based on each communication link, the method further includes: When it is detected that the communication quality data when each of the N network addresses communicates based on the i-th communication link does not meet the preset condition, determining the i-th communication link as a non-alternative link.

3. The method according to claim 1, wherein The communication quality data includes at least one of the following sub-data: First sub-data, used to characterize the delay of the communication link, where the preset condition corresponding to the first sub-data is that the delay of the communication link is less than a first preset threshold; Second sub-data, used to characterize the packet loss rate of the communication link, where the preset condition corresponding to the second sub-data is that the packet loss rate of the communication link is less than a second preset threshold; Third sub-data, used to characterize the bandwidth occupancy rate of the communication link, where the preset condition corresponding to the third sub-data is that the bandwidth occupancy rate of the communication link is less than a third preset threshold; Fourth sub-data, used to characterize the jitter value of the communication link, where the jitter value characterizes the fluctuation situation among multiple delay data of the communication link, and the preset condition corresponding to the fourth sub-data is that the jitter value of the communication link is less than a fourth preset threshold.

4. The method according to claim 1, wherein Determining a first communication link for implementing the communication transmission of the j-th network address from at least one alternative link according to the communication quality data when the j-th network address communicates based on each alternative link includes: When the communication quality data includes K sub-data, performing weighted calculation on the K sub-data when the j-th network address communicates based on each alternative link according to the weight corresponding to each sub-data to obtain the communication cost score of the j-th network address based on each alternative link, where K is an integer greater than 1; Selecting the alternative link with the smallest communication cost score from the at least one alternative link as the first communication link.

5. The method according to claim 1, characterized in that, After determining a first communication link for implementing the communication transmission of the j-th network address from at least one alternative link according to the communication quality data when the j-th network address communicates based on each alternative link, the method further includes: Perform a probing operation on each of the alternative links according to the j-th network address, where the probing operation is used to send a specified data packet to each alternative link according to a target rate, detect communication quality data of each alternative link when transmitting the specified data packet, and determine, according to the communication quality data of each alternative link when transmitting the specified data packet, a second communication link corresponding to the j-th network address from the at least one alternative link; When it is detected that the second communication link is the same as the first communication link, stop the probing operation and implement communication transmission of the j-th network address through the first communication link.

6. The method according to claim 5, wherein After determining, according to the communication quality data of each alternative link when transmitting the specified data packet, a second communication link corresponding to the j-th network address from at least one of the alternative links, the method further includes: When it is detected that the second communication link is different from the first communication link, adjust the communication link for implementing communication transmission of the j-th network address to the second communication link; Continue to perform the probing operation, and stop the probing operation when it is detected that the second communication link determined after any probing operation is the same as the first communication link.

7. The method according to claim 6, wherein After adjusting the communication link for implementing communication transmission of the j-th network address to the second communication link, the method further includes: Through a dynamic traffic adjustment algorithm, gradually switch the target traffic expected to be transmitted using the first communication link to the second communication link in batches.

8. The method according to claim 7, characterized in that, Gradually switching the target traffic expected to be transmitted using the first communication link to the second communication link in batches through a dynamic traffic adjustment algorithm includes: Obtain the traffic transmission delays of the first communication link and / or the second communication link at different times; Determine the switching batches of the target traffic and the size of the traffic switched in each batch according to the traffic transmission delays of the first communication link and / or the second communication link at different times; Gradually switch the target traffic to the second communication link for transmission according to the switching batches of the target traffic and the size of the traffic switched in each batch.

9. A determining device for a communication link, characterized in that, Includes: A parsing unit, configured to parse, when a communication device communicates based on M communication links using a target domain name, N network addresses corresponding to the target domain name; An acquisition unit, configured to acquire communication quality data of each network address when communicating based on each communication link, where the communication quality data is used to measure the communication performance of the communication link; A first determination unit, configured to determine the i-th communication link as an alternative link when it is detected that the communication quality data of each of the N network addresses when communicating based on the i-th communication link satisfies a preset condition, where the i-th communication link is any one of the M communication links; A second determination unit, configured to determine, based on communication quality data during communication over each alternative link according to the j-th network address, a first communication link for implementing communication transmission of the j-th network address from at least one alternative link, where the j-th network address is any one of the N network addresses.

10. An electronic device, characterized in that, Comprising one or more processors and a memory, the memory is used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors are caused to execute the method for determining a communication link according to any one of claims 1 to 8.