Optimization methods, systems, and storage media for CDN allocation of global service traffic.

By using Dijkstra's algorithm and the improved Gale-Shapley algorithm in CDN global service traffic allocation, the matching of traffic sending and receiving points is optimized, which solves the problem of insufficient accuracy caused by subjective judgment in human decision-making and achieves more efficient and accurate traffic allocation.

CN116389275BActive Publication Date: 2026-06-30BEIJING XINLIU WANLIAN NETWORK TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING XINLIU WANLIAN NETWORK TECH CO LTD
Filing Date
2023-03-10
Publication Date
2026-06-30

AI Technical Summary

Technical Problem

In existing technologies, the manual decision-making process for allocating global business traffic in CDN often relies on subjective judgment, leading to insufficient accuracy, a significant waste of manpower and time, and the result may not be the globally optimal solution.

Method used

By obtaining an undirected graph of all traffic allocation points in the target area, the shortest path distance is calculated using Dijkstra's single-source shortest path algorithm. Combined with the improved Gale-Shapley algorithm, the matching of traffic sending and receiving points is optimized, and the best matching result is selected.

Benefits of technology

This improves the accuracy and rationality of CDN allocation of global business traffic, avoids subjective judgments in human decision-making, and ensures optimal results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116389275B_ABST
    Figure CN116389275B_ABST
Patent Text Reader

Abstract

This application discloses an optimization method, system, and storage medium for CDN global service traffic allocation. The method involves obtaining an undirected graph of all traffic allocation points in a target area, using Dijkstra's single-source shortest path algorithm to find the shortest path distance between traffic sending points and traffic receiving points as a shortest path distance consideration factor; then, based on traffic sending point data and traffic receiving point data, parsing the consideration factors for traffic sending points and traffic receiving points; comprehensively analyzing and determining the sorted sets of traffic sending points and traffic receiving points; using the sorted sets of traffic sending points and traffic receiving points as optimization consideration factors, matching traffic sending points to traffic receiving points, and selecting the best matching result. Therefore, the embodiments of this disclosure can improve the rationality of global service traffic allocation in CDN.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of content delivery network technology, and relates to an optimization method and system for CDN allocation of global business traffic, as well as a storage medium. Background Technology

[0002] To ensure service quality and maximize their profits, CDN service providers have a core operations team tasked with planning traffic scheduling strategies. This involves allocating and adjusting traffic from each province in China to various traffic receiving points owned by the company, ensuring that the adjusted allocation achieves optimal service quality and cost control.

[0003] However, service providers operating CDN services experience changes in business traffic or traffic receiving points at the beginning of each month. Changes in business traffic specifically manifest as: new service launches, service decommissioning, changes in the provinces covered by the service requirements, and increases or decreases in traffic to certain provinces. Changes in traffic receiving points specifically manifest as: new node launches, node decommissioning, expansion or contraction of node uplink bandwidth, and expansion or contraction of the number of servers within a node.

[0004] This complex and ever-changing situation places a huge workload on the company's operations team at the end of each month. Typically, the entire team needs to meet to review and analyze the current operational status, and then, based on the changes expected in the following month, decide how to allocate business traffic to each traffic receiving point. This allocation method cannot guarantee a globally optimal result in one round; after each round, multiple rounds of verification and calculation are required to arrive at a final solution, which is then implemented for scheduling adjustments. This approach wastes a significant amount of manpower and time, and the lack of rigorous rules supporting manual decision-making inevitably leads to subjective judgments, resulting in solutions that are not absolutely optimal and contain errors. Summary of the Invention

[0005] To provide a basic understanding of some aspects of the disclosed embodiments, a brief summary is given below. This summary is not intended as a general commentary, nor is it intended to identify key / important components or describe the scope of protection of these embodiments, but rather as a prelude to the detailed description that follows.

[0006] To address the problems existing in related technologies, embodiments of this disclosure provide an optimization method and system for CDN allocation of global service traffic, as well as a storage medium, to solve the problem that in the prior art, the accuracy of CDN allocation of global service traffic is often insufficient due to subjective judgment in manual decision-making.

[0007] In some embodiments, an optimization method for CDN allocation of global service traffic is provided, the method comprising:

[0008] Obtain an undirected graph connecting all traffic allocation points in the target area; traffic allocation points include traffic sending points and traffic sending points.

[0009] Obtain the traffic sending point and the corresponding traffic sending point data;

[0010] Obtain the traffic receiving point and its corresponding traffic receiving point data;

[0011] The union of traffic sending points and traffic receiving points is used as the deduplication set. Dijkstra's single-source shortest path algorithm is used to calculate the shortest path distance from all elements in the deduplication set of the undirected graph to all traffic allocation points in the target area, which is used as a factor to consider the shortest path distance.

[0012] Based on the data from traffic sending points and traffic receiving points, the factors to consider for traffic sending points and traffic receiving points are analyzed.

[0013] Based on the factors considered for traffic sending points and the shortest path distance, the matching between traffic sending points and traffic receiving points is calculated and sorted according to the degree of optimization to obtain a sorted set of traffic sending points;

[0014] Based on the factors considered for traffic receiving points and the shortest path distance, the matching between traffic receiving points and traffic sending points is calculated and sorted according to the degree of optimization to obtain a sorted set of traffic receiving points;

[0015] Using the sorted sets of traffic sending points and traffic receiving points as optimization factors, the best matching result is selected for the matching of traffic sending points to traffic receiving points.

[0016] Preferably, the best matching result is selected from the matching of traffic sending point to traffic receiving point, including: matching traffic sending point and traffic receiving point through the improved Gale-Shapley algorithm to obtain the best matching result;

[0017] The improved Gale-Shapley algorithm is as follows: objects Ai, i=1, 2, ..., m from one side send invitations to objects Bj, j=1, 2, ..., n from the other side, and each Bj has an invitation acceptance limit k; each Bj compares the invitations it receives, keeps the k best Ais it considers, and rejects the others; the rejected Ais continue to send new invitations to the remaining Bjs until there are no more Ais that need to send invitations, and each Bj accepts the invitations it has kept.

[0018] In some embodiments, a system is disclosed, comprising:

[0019] The module for obtaining undirected graphs retrieves an undirected graph between all traffic allocation points in the target area; traffic allocation points include traffic sending points and traffic sending points.

[0020] The traffic sending point module retrieves the traffic sending point and its corresponding traffic sending point data.

[0021] The traffic receiving module acquires the traffic receiving point and the corresponding traffic receiving point data.

[0022] The Dijkstra algorithm module uses the union of traffic sending points and traffic receiving points as the deduplication set. It then uses Dijkstra's single-source shortest path algorithm to calculate the shortest path distance from all elements in the deduplication set of the undirected graph to all traffic allocation points in the target area, which is used as a factor in the shortest path distance consideration.

[0023] The analysis and consideration module analyzes the consideration factors for traffic sending points and traffic receiving points based on the traffic sending point data and traffic receiving point data.

[0024] The sorting set module for traffic sending points calculates the matching between traffic sending points and traffic receiving points based on the factors considered for traffic sending points and the shortest path distance, and sorts them according to the degree of optimization to obtain a sorting set of traffic sending points;

[0025] The sorting set module for traffic receiving points calculates the matching between traffic receiving points and traffic sending points based on the factors considered for traffic receiving points and the shortest path distance, and sorts them according to the degree of optimization to obtain a sorting set of traffic receiving points.

[0026] The optimal matching result module uses the sorted sets of traffic sending points and traffic receiving points as optimization factors to filter out the best matching results for the matching from traffic sending points to traffic receiving points.

[0027] In some embodiments, a computer-readable storage medium is disclosed having a computer program stored thereon, which is executed by a processor as described above in the CDN allocation global service traffic optimization method.

[0028] The present disclosure provides an optimization method, system, and storage medium for CDN global service traffic allocation, which can achieve the following technical effects:

[0029] This embodiment of the disclosure obtains an undirected graph of all traffic allocation points in the target area, and uses Dijkstra's single-source shortest path algorithm to find the shortest path distance consideration from the traffic sending point to the traffic receiving point as the shortest path distance consideration factor. Then, based on the traffic sending point data and traffic receiving point data, the consideration factors for the traffic sending point and the traffic receiving point are parsed out; a comprehensive analysis is performed to obtain the sorted set of traffic sending points and the sorted set of traffic receiving points; using the sorted set of traffic sending points and the sorted set of traffic receiving points as optimization consideration factors, the matching of traffic sending points to traffic receiving points is performed, and the best matching result is selected. Therefore, this embodiment of the disclosure can avoid the problem of insufficient accuracy caused by subjective judgment in manual decision-making when allocating global business traffic in CDN, and greatly improves the rationality.

[0030] The above general description and the description below are exemplary and illustrative only and are not intended to limit this application. Attached Figure Description

[0031] One or more embodiments are illustrated by way of example with reference to the accompanying drawings. These illustrations and drawings do not constitute a limitation on the embodiments. Elements having the same reference numerals in the drawings are shown as similar elements. The drawings are not to be scaled. And wherein:

[0032] Figure 1 This is a flowchart of an optimization method for CDN allocation of global service traffic provided in an embodiment of this disclosure;

[0033] Figure 2 This is a flowchart of an improved Gale-Shapley algorithm provided in an embodiment of this disclosure;

[0034] Figure 3 This is a schematic diagram of an optimized CDN system for allocating global service traffic, provided in an embodiment of this disclosure.

[0035] Figure 4 This is a schematic diagram of an optimized electronic device for CDN allocation of global service traffic provided in an embodiment of this disclosure. Detailed Implementation

[0036] To provide a more detailed understanding of the features and technical content of the embodiments of this disclosure, the implementation of the embodiments of this disclosure will be described in detail below with reference to the accompanying drawings. The accompanying drawings are for illustrative purposes only and are not intended to limit the embodiments of this disclosure. In the following technical description, for ease of explanation, several details are used to provide a full understanding of the disclosed embodiments. However, one or more embodiments may still be implemented without these details. In other cases, well-known structures and systems may be simplified in their depiction to simplify the drawings.

[0037] The following description and accompanying drawings fully illustrate specific embodiments of the invention to enable those skilled in the art to practice them. Other embodiments may include structural, logical, electrical, procedural, and other changes. The embodiments represent only possible variations. Individual components and functions are optional unless explicitly required, and the order of operation may vary. Parts and features of some embodiments may be included in or replace parts and features of other embodiments. The scope of embodiments of the invention includes the entire scope of the claims and all available equivalents thereof. In this document, each embodiment may be referred to individually or collectively with the term "invention," which is merely for convenience and is not intended to automatically limit the scope of application to any single invention or inventive concept if more than one invention is disclosed. Relational terms such as "first" and "second" are used herein only to distinguish one entity or operation from another entity or operation, without requiring or implying any actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, or electronic device that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, or electronic device. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, or electronic device that includes said element. The various embodiments described herein are presented in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the methods, products, etc., disclosed in the embodiments, since they correspond to the method section disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to in the method section description.

[0038] In recent years, CDN service providers have been working to ensure service quality and maximize their commercial profits. One of the core tasks of their operations and maintenance teams is to plan traffic scheduling strategies, which involves allocating and adjusting business traffic from each province in China to various traffic receiving points owned by the company, ensuring that the adjusted allocation achieves optimal service quality and cost control.

[0039] Current technologies often impose a significant workload on company operations teams at the end of each month. Typically, the entire team needs to meet to review and analyze the current operational status, and then, considering the changes expected in the following month, decide how to allocate business traffic to each traffic receiving point. This allocation method cannot guarantee a globally optimal result in a single round; multiple rounds of verification and calculation are required to arrive at a final solution before scheduling adjustments are implemented. This approach wastes considerable manpower and time, and the lack of rigorous rules supporting manual decision-making inevitably leads to subjective judgments, resulting in solutions that are not absolutely optimal and contain errors.

[0040] In practical applications, the manual decision-making process for allocating global business traffic in existing CDN technologies often relies on subjective judgments, leading to insufficient accuracy.

[0041] To address the problems existing in related technologies, this disclosure provides an embodiment that obtains an undirected graph of all traffic allocation points in a target area. It then uses Dijkstra's single-source shortest path algorithm to find the shortest path distance between traffic sending points and traffic receiving points, using this as a shortest path distance consideration factor. Next, based on traffic sending point data and traffic receiving point data, it parses out the consideration factors for traffic sending points and traffic receiving points. It comprehensively analyzes and obtains a sorted set of traffic sending points and a sorted set of traffic receiving points. Using these sorted sets as optimization consideration factors, it matches traffic sending points to traffic receiving points and selects the best matching result. Therefore, this disclosure embodiment can avoid the problem of insufficient accuracy caused by subjective judgments in manual decision-making when allocating global business traffic in a CDN, greatly improving its rationality.

[0042] In this embodiment, the present disclosure is applied to electronic devices for optimizing global service traffic allocation via CDN.

[0043] Combination Figure 1 As shown in the embodiments of this disclosure, an optimization method for CDN allocation of global service traffic is provided, including:

[0044] S10, Obtain the undirected graph between all traffic allocation points in the target area; traffic allocation points include traffic sending points and traffic sending points;

[0045] S20, Obtain the traffic sending point and the corresponding traffic sending point data;

[0046] S30, acquire the traffic receiving point and the corresponding traffic receiving point data;

[0047] S40: The union of traffic sending points and traffic receiving points is used as the deduplication set. Dijkstra's single-source shortest path algorithm is used to calculate the shortest path distance from all elements in the deduplication set of the undirected graph to all traffic allocation points in the target area, which is used as a factor to consider the shortest path distance.

[0048] S50, based on the traffic sending point data and traffic receiving point data, analyzes the consideration factors for the traffic sending point and the traffic receiving point;

[0049] S60, based on the factors of traffic sending point and shortest path distance, calculate the matching between traffic sending point and traffic receiving point and sort them according to the degree of optimization to obtain the sorted set of traffic sending points;

[0050] S70, based on the factors of traffic receiving point and shortest path distance, calculate the matching between traffic receiving point and traffic sending point and sort them according to the degree of optimization to obtain the sorted set of traffic receiving points;

[0051] S80 uses the sorted sets of traffic sending points and traffic receiving points as optimization factors to select the best matching result for the matching of traffic sending points to traffic receiving points.

[0052] It should be noted that the purpose of this embodiment is to send traffic from a traffic sending point to a traffic receiving point in an optimized manner. The undirected graph includes at least traffic sending points and may also include other traffic allocation points. One traffic sending point can be matched with multiple traffic receiving points, and one traffic receiving point can also be matched with multiple traffic sending points.

[0053] Dijkstra's algorithm is highly suitable for allocating traffic from a sending point to a receiving point, where the principle of proximity must be followed. Dijkstra's algorithm can calculate the shortest distance between a sending point and a receiving point.

[0054] It should be noted that the sorted set of traffic sending points includes the sorted set of traffic receiving points corresponding to each traffic sending point. The sorted set of traffic receiving points includes the sorted set of traffic sending points corresponding to each traffic receiving point. An example of a sorted set of traffic receiving points corresponding to a traffic sending point could be that the traffic sending point is Shandong, and the traffic receiving points are Shanxi, Liaoning, and Hebei. The sorted set of traffic receiving points corresponding to a traffic sending point could be Shanxi, Hebei, and Liaoning. Shanxi, Hebei, and Liaoning serve as the sorted set of traffic sending points corresponding to Shandong.

[0055] Preferably, the best matching result is selected from the matching of traffic sending point to traffic receiving point, including: matching traffic sending point and traffic receiving point through the improved Gale-Shapley algorithm to obtain the best matching result;

[0056] The improved Gale-Shapley algorithm is as follows: objects Ai, i=1, 2, ..., m from one side send invitations to objects Bj, j=1, 2, ..., n from the other side, and each Bj has an invitation acceptance limit k; each Bj compares the invitations it receives, keeps the k best Ais it considers, and rejects the others; the rejected Ais continue to send new invitations to the remaining Bjs until there are no more Ais that need to send invitations, and each Bj accepts the invitations it has kept.

[0057] It's important to note that the traditional Gale-Shapley algorithm is a market mechanism designed to find a stable match. One object Ai, i = 1, 2, ..., m, sends an invitation to another object Bj, j = 1, 2, ..., n. Ai initiates the invitation, and Bj receives it. Each Bj compares the received invitations, keeping what it considers the best and rejecting the others. The rejected invitations from Ai continue to send new invitations to other Bj until no more Ai wishes to send an invitation. Only then do each Bj finally accept the invitations they have reserved. A key aspect of this algorithm is that desirable invitations are not immediately accepted but are temporarily reserved without rejection—a process known as "delayed acceptance." The traditional Gale-Shapley algorithm has two key mechanisms: Ai and Bj can only match one-to-one, and Bj compares every invitation received from Ai.

[0058] In this embodiment, the improvements to the Gale-Shapley algorithm include: allowing Ai to simultaneously invite and match multiple Bj, and each Bj to simultaneously accept invitations from multiple Ai; each Bj has an upper limit on the number of invitations it can accept, and when the upper limit is reached, subsequent invitations from Ai will trigger a comparison mechanism to select which Ai to retain. In this embodiment, Ai is the traffic sending point; Bj is the traffic receiving point.

[0059] Specifically, the improved Gale-Shapley algorithm is applied to the matching process between traffic sending points and traffic receiving points as follows: each traffic sending point, based on its own traffic sending point ranking set, sends invitations to traffic receiving points in order from best to worst. If a traffic receiving point accepts the invitation during the process, the subsequent invitation sending action is stopped.

[0060] During the execution of the above actions, the traffic receiving point continues to receive invitations until it reaches the acceptance limit. After reaching the limit, if it continues to receive invitations from other traffic sending points, a comparison mechanism will be triggered. Based on its own traffic receiving point ranking set, the mechanism compares the traffic sending points that have previously accepted invitations with the traffic sending points that are currently waiting to accept invitations. Based on the limit value, the traffic sending points that rank higher in the ranking set will be retained.

[0061] The traffic sending points that were removed from the invitation will repeat the above process from the beginning until every traffic sending point and traffic receiving point has a pairing relationship. Finally, the optimal matching result is obtained.

[0062] In a preferred embodiment, the traffic receiving point data includes the upper limit of the broadband capacity of the traffic receiving point.

[0063] Preferably, the factors considered for the traffic sending point include available broadband capacity; wherein, available broadband capacity is derived from the upper limit of the broadband capacity of the traffic receiving point.

[0064] In a preferred embodiment, the traffic sending point data includes peak bandwidth; the traffic receiving point data includes the number of traffic receiving point servers.

[0065] Preferably, the factors to consider for the traffic receiving point include the minimum satisfaction level of the traffic receiving point; wherein, the minimum satisfaction level of the traffic receiving point is derived from the peak bandwidth of the service and the upper limit of the bandwidth capacity of the traffic receiving point.

[0066] In a preferred embodiment, the traffic sending point data includes peak bandwidth; the traffic receiving point data includes the number of traffic receiving point servers.

[0067] Preferably, the considerations for traffic sending points and / or traffic receiving points are equipment load performance; wherein, equipment load performance is derived from the peak bandwidth of the service and the number of servers at the traffic receiving points.

[0068] It should be noted that the bandwidth per device can be obtained by dividing the peak bandwidth by the number of traffic receiving servers. The bandwidth per device represents the average load on the server.

[0069] One specific implementation could be to allocate traffic to provinces and regions in China, and send traffic from the traffic sending point to the traffic receiving point.

[0070] Generate an undirected graph showing the relationships between provinces and regions in China. The weight of each edge in the undirected graph is the geographical distance between two nodes, providing data support for calculating the shortest paths between provinces or regions later.

[0071] The traffic originates from Hebei, Shandong, and Hunan. The traffic originates from these locations and the data represents peak bandwidth. Peak bandwidth is 30G in Hebei, 27G in Shandong, and 23G in Hunan.

[0072] The traffic receiving points are Hebei, Hunan, and Jiangsu. The data for these receiving points includes the maximum broadband capacity and the number of devices. The maximum broadband capacity is 30G for Hebei, 40G for Hunan, and 10G for Jiangxi. The number of devices is 15 in Hebei, 12 in Hunan, and 5 in Jiangxi.

[0073] The resulting deduplicated sets are Hebei, Shandong, Hunan, and Jiangsu.

[0074] Based on the undirected graph of the relationship network, and the four provinces in the deduplicated set, Dijkstra's algorithm was used to calculate the shortest distances from Hebei, Shandong, Hunan, and Jiangsu to other provinces and regions in China. The calculation results are shown in Table 1.

[0075] Table 1

[0076]

[0077] Based on the traffic sending point data and traffic receiving point data, the consideration factors for traffic sending points and traffic receiving points are analyzed. Specifically, the consideration factors for traffic sending points are available bandwidth capacity and equipment load performance. The consideration factors for traffic receiving points are the minimum load guarantee satisfaction of traffic sending points and equipment load performance.

[0078] For the traffic originating points, namely Hebei, Shandong, and Hunan, there are three considerations: shortest path distance, available broadband capacity, and equipment load performance.

[0079] The shortest path distance is considered according to the rule that the closer the distance, the higher the priority, as shown in Table 1.

[0080] Available broadband capacity is prioritized for each traffic receiving point, based on the rule that the higher the upper limit of broadband capacity, the greater the priority. The upper limits of broadband capacity are: Hebei 30G, Hunan 40G, and Jiangxi 10G. The ranking result is: Hunan first, Hebei second, and Jiangxi third.

[0081] Device load performance is ranked according to the rule that higher average stress scores for traffic receiving point servers are given priority. Single-device bandwidth represents the average stress level of the traffic receiving point server. The single-device bandwidth is calculated using the formula: Single-device bandwidth = Peak service bandwidth / Number of traffic receiving point servers.

[0082] The scoring mechanism for the average load on the traffic receiving point servers is as follows:

[0083] High-performance node servers:

[0084] Given 0G < single device bandwidth ≤ 3G, score 100-90 points to obtain the function f(x) = 100 – 3.33x;

[0085] Given 3G < single device bandwidth ≤ 6G, score 89-60 points to obtain the function f(x) = 120 – 10x;

[0086] Given that 6G < single-device bandwidth 0 points, the function f(x) = 0 is obtained.

[0087] Low-performance node servers:

[0088] Given 0G < single device bandwidth ≤ 2G, score 100-90 points to obtain the function f(x) = 100–5x;

[0089] Given 2G < single device bandwidth ≤ 4G, score 89-60 points to obtain the function f(x) = 120 – 15x;

[0090] Given that 4G < single-device bandwidth 0 points, the function f(x) = 0 is obtained.

[0091] Based on the three factors mentioned above—shortest path distance, available bandwidth capacity, and equipment load performance—three sets of rankings are obtained, and a weighted score is applied to obtain the ranking set of traffic sending points.

[0092] For example, the scoring rule could be: assuming there are m traffic receiving points, the first-ranked point receives m points, the second-ranked point receives m-1 points, the third-ranked point receives m-2 points, and so on. Each traffic receiving point then receives three scores: score1, score2, and score3. Based on this, the weights of these three scores are further increased, so that the final score of a traffic receiving point is score_final = score1*10 + score2*5 + score3*2. The traffic receiving points are then ranked according to score_final, with higher scores having higher priority.

[0093] Taking the traffic sending point "Shandong 27G" as an example, this paper explains the ranking calculation method of the above three consideration factors and the final comprehensive ranking calculation result.

[0094] Table 1 shows that the shortest distance from Shandong to each flow receiving point is ranked as follows: Jiangsu, Hebei, and Hunan. Therefore, the score1 score for each flow receiving point can be calculated.

[0095] Jiangsu score1=3; Hebei score1=2; Hunan score1=1;

[0096] The Shandong service bandwidth is 27G. The bandwidth allocated to a single device in Jiangsu is 27 / 5 = 5.4G, to Hebei is 27 / 15 = 1.8G, and to Hunan is 27 / 12 = 2.25G. Based on the scoring mechanism for the average load of the traffic receiving point servers, the average load score for the Jiangsu server is 66, for the Hebei server it is 91, and for the Hunan server it is 86.2. Sorting the scores from highest to lowest, the results are Hebei, Hunan, and Jiangsu. The score2 score for each traffic receiving point is calculated as follows:

[0097] Jiangsu score2=1; Hebei score2=3; Hunan score2=2;

[0098] Hebei has a bandwidth capacity of 30G, Hunan has a bandwidth capacity of 40G, and Jiangsu has a bandwidth capacity of 10G. Based on the bandwidth capacity from high to low, the results are Hunan, Hebei, and Jiangsu. The scores for each traffic receiving point are calculated as follows: Jiangsu score3=1; Hebei score3=2; Hunan score3=3.

[0099] In summary, the final scores for each traffic receiving point are as follows: Jiangsu score_final=3*10+1*5+1*2=37; Hebei score_final=2*10+3*5+2*2=39; Hunan score_final=1*10+2*5+3*2=26.

[0100] Ultimately, the order of traffic originating points from Shandong was Hebei, Jiangsu, and Hunan.

[0101] Following this pattern, the rankings for Hebei and Hunan are obtained. The ranking of the three traffic sending points is used as the ranking set of the traffic sending points.

[0102] For the traffic receiving points, namely Hebei, Hunan and Jiangsu, there are three considerations: shortest path distance, minimum satisfaction, and equipment load performance.

[0103] The shortest path distance is considered according to the rule that the closer the distance, the higher the priority, as shown in Table 1.

[0104] The priority criteria for ensuring minimum service availability follow these strategies: First priority tier: Peak bandwidth equals the minimum guarantee value; Second priority tier: Peak bandwidth greater than the minimum guarantee value, with lower peak bandwidth values ​​indicating higher priority; Third priority tier: Peak bandwidth less than the minimum guarantee value, with higher peak bandwidth values ​​indicating higher priority. The minimum guarantee value can be set as 30% of the maximum bandwidth capacity of the traffic receiving point.

[0105] Device load performance is ranked according to the rule that higher average stress scores for traffic receiving point servers are given priority. Single-device bandwidth represents the average stress level of the traffic receiving point server. The single-device bandwidth is calculated using the formula: Single-device bandwidth = Peak service bandwidth / Number of traffic receiving point servers.

[0106] The scoring mechanism for the average load on the traffic receiving point servers is as follows:

[0107] High-performance node servers:

[0108] Given 0G < single device bandwidth ≤ 3G, calculate the function f(x) = 100 – 3.33x.

[0109] Given 3G < single device bandwidth ≤ 6G, calculate the function f(x) = 120 – 10x.

[0110] Given that 6G < single-device bandwidth 0 points, the function f(x) = 0 is obtained.

[0111] Low-performance node servers:

[0112] Given 0G < single device bandwidth ≤ 2G, calculate the function f(x) = 100 – 5x.

[0113] Given 2G < single device bandwidth ≤ 4G, calculate the function f(x) = 120 – 15x.

[0114] Given that 4G < single-device bandwidth 0 points, the function f(x) = 0 is obtained.

[0115] Based on the three considerations mentioned above—shortest path distance, minimum guarantee, and equipment load performance—three sets of rankings are obtained, and a weighted score is applied to obtain the ranking set of traffic receiving points.

[0116] For example, the scoring rule could be: assuming there are m traffic receiving points, the first-ranked point receives m points, the second-ranked point receives m-1 points, the third-ranked point receives m-2 points, and so on. Each traffic receiving point then receives three scores: score1, score2, and score3. Based on this, the weights of these three scores are further increased, so that the final score of a traffic receiving point is score_final = score1*10 + score2*5 + score3*5. The traffic receiving points are then ranked according to score_final, with higher scores having higher priority.

[0117] Taking the traffic receiving point "Hunan, bandwidth capacity 40G, 12 devices" as an example, this paper explains the ranking calculation method of the above three consideration factors and the final comprehensive ranking calculation result.

[0118] Table 1 shows that the shortest distance from Hunan to each traffic sending point is ranked as Hunan, Hebei, and Shandong. Therefore, the score1 score for each traffic receiving point can be calculated.

[0119] Hebei score1=2; Shandong score1=1; Hunan score1=3;

[0120] There are 12 servers in Hunan. After receiving traffic from Hebei, the bandwidth carried by a single server is 30 / 12 = 2.5G; after receiving traffic from Shandong, the bandwidth carried by a single server is 27 / 12 = 2.25G; and after receiving traffic from Hunan, the bandwidth carried by a single server is 23 / 12 = 1.91G. Based on the scoring mechanism that comprehensively considers the average load of the servers at the traffic receiving points, the average server load score is 82.5 points when serving Hebei, 86.2 points when serving Shandong, and 90.4 points when serving Hunan. Sorted from highest to lowest score, the results are Hunan, Shandong, and Hebei. The score2 score for each province is calculated as follows:

[0121] Hebei score2=1; Shandong score2=2; Hunan score2=3;

[0122] Hunan has a bandwidth capacity of 40G, and the guaranteed bandwidth value = bandwidth capacity * 0.3 = 40 * 0.3 = 12G. The bandwidth for each service province is as follows: Hebei 30G, Shandong 27G, and Hunan 23G. Based on the strategy in the comprehensive consideration dimension 3 above, all three provinces have service bandwidth exceeding 9G, placing them in the second priority tier. In this case, the smaller the service bandwidth, the higher the priority, resulting in the ranking as Hunan, Shandong, and Hebei. The calculated score2 for each service province is: Hebei score2 = 1; Shandong score2 = 2; Hunan score2 = 3.

[0123] The final scores are as follows: Hebei score_final=2*10+1*5+1*5=30; Shandong score_final=1*10+2*5+2*5=30; Hunan score_final=3*10+3*5+3*5=60.

[0124] Ultimately, the order of traffic receiving points for Hunan was Hunan, Hebei, and Shandong.

[0125] Following this pattern, the rankings for Hebei and Jiangsu are obtained. The ranking of the three traffic receiving points is used as the ranking set of the traffic receiving points.

[0126] The sorted sets of traffic sending points and traffic receiving points obtained from the above calculations are as follows:

[0127] Sort set of traffic sending points:

[0128] The priority order for receiving traffic in Shandong is Hebei, Jiangsu, and Hunan.

[0129] The priority order for receiving traffic in Hebei is Hebei, Hunan, and Jiangsu.

[0130] The priority order for receiving data traffic in Hunan is: Hunan, Hebei, Jiangsu.

[0131] Sort set of traffic receiving points:

[0132] The priority order for traffic origination points in Hebei is Hebei, Shandong, and Hunan.

[0133] The priority order for traffic origination points in Hunan is Hunan, Shandong, and Hebei.

[0134] The priority order for traffic origination points in Jiangsu is Shandong, Hunan, and Hebei.

[0135] See Figure 2 The above is a flowchart of an improved Gale-Shapley algorithm in an embodiment of this disclosure.

[0136] Taking the above data as an example, substituting it into the improved Gale-Shapley algorithm flow, we can obtain the following detailed description of the specific steps of the algorithm:

[0137] S21, select the first traffic sending point Shandong, and for Shandong, the priority order for caching is Hebei, Jiangsu, Hunan.

[0138] Hebei was selected, with a bandwidth capacity of 30G. Shandong's peak bandwidth was 27G, which was acceptable for Hebei. Therefore, Shandong and Hebei were matched, and Hebei had a remaining bandwidth capacity of 3G.

[0139] S22, select the next unmatched traffic sending point Hebei. For Hebei, the priority order for caching is Hebei, Hunan, Jiangsu.

[0140] Select Hebei Province. Hebei's current bandwidth capacity is 3G, and the peak bandwidth for Hebei's business is 30G. Hebei cannot handle the peak bandwidth for Hebei's business.

[0141] Hebei begins comparing the priority of Shandong, a traffic sending point already matched with it, with that of Hebei currently applying for a match. Based on the data above, Hebei prioritizes traffic sending points in the following order: Hebei, Shandong, Hunan. Hebei has a higher priority than Shandong, therefore Hebei cancels its match with Shandong and instead matches with another Hebei. At this point, Hebei's current bandwidth capacity is 0G.

[0142] S23, select the next unmatched traffic sending point in Hunan. For Hunan, the priority order for caching is Hunan, Hebei, Jiangsu.

[0143] Hunan is selected. Hunan has a bandwidth capacity of 40G and a peak bandwidth of 23G, which Hunan can handle. Therefore, Hunan is a good match for Hunan. At this time, Hunan has a remaining bandwidth capacity of 17G.

[0144] S24, select the next unmatched traffic sending point in Shandong. For Shandong, the priority order for caching is Hebei, Jiangsu, and Hunan.

[0145] Selecting Hebei, whose current bandwidth capacity is 0G, as shown in S22 above, Shandong has a lower priority than Hebei, so Hebei will not accept Shandong's matching request.

[0146] Jiangsu is selected. Jiangsu's current bandwidth capacity is 10G, while Shandong's peak bandwidth is 27G. Jiangsu cannot handle Shandong's peak bandwidth, but Jiangsu has no matching traffic sending point. Therefore, Jiangsu is selected to match with Shandong and accept 10G of Shandong's peak bandwidth. Shandong's peak bandwidth remaining is 17G.

[0147] Selecting Hunan, Hunan currently has a bandwidth capacity of 17G, and Shandong has a remaining peak bandwidth of 17G. Hunan can fully accept this, so Shandong and Hunan are a match. At this time, Hunan has a remaining bandwidth capacity of 0G.

[0148] S25, all traffic sending points have been matched. The matching result is: Shandong matches Jiangsu and Hunan.

[0149] Hebei matches Hebei; Hunan matches Hunan.

[0150] Figure 3 An optimization system for CDN allocation of global service traffic according to an embodiment of the present invention is shown. The system includes:

[0151] The traffic sending point module retrieves the traffic sending point and its corresponding traffic sending point data.

[0152] The traffic receiving module acquires the traffic receiving point and the corresponding traffic receiving point data.

[0153] The Dijkstra algorithm module uses the union of traffic sending points and traffic receiving points as the deduplication set. It then uses Dijkstra's single-source shortest path algorithm to calculate the shortest path distance from all elements in the deduplication set of the undirected graph to all traffic allocation points in the target area, which is used as a factor in the shortest path distance consideration.

[0154] The analysis and consideration module analyzes the consideration factors for traffic sending points and traffic receiving points based on the traffic sending point data and traffic receiving point data.

[0155] The sorting set module for traffic sending points calculates the matching between traffic sending points and traffic receiving points based on the factors considered for traffic sending points and the shortest path distance, and sorts them according to the degree of optimization to obtain a sorting set of traffic sending points;

[0156] The sorting set module for traffic receiving points calculates the matching between traffic receiving points and traffic sending points based on the factors considered for traffic receiving points and the shortest path distance, and sorts them according to the degree of optimization to obtain a sorting set of traffic receiving points.

[0157] The optimal matching result module uses the sorted sets of traffic sending points and traffic receiving points as optimization factors to filter out the best matching results for the matching from traffic sending points to traffic receiving points.

[0158] Combination Figure 4 As shown, this disclosure provides an optimized electronic device for CDN allocation of global service traffic, including a processor 50 and a memory 51. Optionally, the electronic device may further include a communication interface 52 and a bus 53. The processor 50, communication interface 52, and memory 51 can communicate with each other via the bus 53. The communication interface 52 can be used for information transmission. The processor 50 can call logical instructions in the memory 51 to execute the CDN allocation optimization method of the above embodiment.

[0159] This disclosure provides a storage medium storing computer-executable instructions configured to execute the aforementioned optimization method for allocating global service traffic via CDN.

[0160] The aforementioned storage media can be either transient computer-readable storage media or non-transitory computer-readable storage media. Non-transitory storage media include various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks, and can also be transient storage media.

[0161] The foregoing description and accompanying drawings fully illustrate embodiments of this disclosure to enable those skilled in the art to practice them. Other embodiments may include structural, logical, electrical, procedural, and other changes. The embodiments represent only possible variations. Individual components and functions are optional unless explicitly required, and the order of operation may vary. Parts and features of some embodiments may be included in or replace parts and features of other embodiments. Moreover, the terminology used in this application is for describing embodiments only and is not intended to limit the claims. As used in the description of embodiments and claims, the singular forms “a,” “an,” and “the” are intended to equally include the plural forms unless the context clearly indicates otherwise. Similarly, the term “and / or,” as used herein, means including one or more of the associated listed and all possible matches. Additionally, when used in this application, the term "comprise" and its variations "comprises" and / or "comprising" refer to the presence of stated features, integrals, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components, and / or groups thereof. Without further limitations, an element defined by the phrase "comprises a..." does not exclude the presence of other identical elements in the process, method, or electronic device that includes said element. In this document, each embodiment may focus on the differences from other embodiments, and similar or identical parts between embodiments can be referred to mutually. For methods, products, etc., disclosed in the embodiments, if they correspond to the method section disclosed in the embodiments, the relevant parts can be referred to the description of the method section.

[0162] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the embodiments of this disclosure. Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, units, and processes described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0163] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than that shown in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. In the descriptions corresponding to the flowcharts and block diagrams in the accompanying drawings, the operations or steps corresponding to different blocks may also occur in a different order than disclosed in the description, and sometimes there is no specific order between different operations or steps. For example, two consecutive operations or steps may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. Each block in a block diagram and / or flowchart, and the matching of blocks in a block diagram and / or flowchart, can be implemented using a dedicated hardware-based system that performs the specified function or action, or can be implemented using dedicated hardware matched with computer instructions.

Claims

1. An optimization method for CDN to distribute global traffic, characterized in that, The method includes: Obtain an undirected graph of all traffic allocation points in the target area; traffic allocation points include traffic sending points and traffic receiving points; Obtain the traffic sending point and the corresponding traffic sending point data; Obtain the traffic receiving point and its corresponding traffic receiving point data; The union of traffic sending points and traffic receiving points is used as the deduplication set. Dijkstra's single-source shortest path algorithm is used to calculate the shortest path distance from all elements in the deduplication set of the undirected graph to all traffic allocation points in the target area, which is used as a factor to consider the shortest path distance. Based on the traffic sending point data and traffic receiving point data, the consideration factors for traffic sending points and traffic receiving points are analyzed. Among them, the traffic sending point data includes the peak bandwidth of the service, and the traffic receiving point data includes the number of traffic receiving point servers. The consideration factors for traffic sending points and traffic receiving points are equipment load performance, which is analyzed based on the peak bandwidth of the service and the number of traffic receiving point servers. Based on the factors considered for traffic sending points and the shortest path distance, the matching between traffic sending points and traffic receiving points is calculated and sorted according to the degree of optimization to obtain a sorted set of traffic sending points. The sorted set of traffic sending points includes the sorting of traffic receiving points corresponding to each traffic sending point. Based on the factors considered for traffic receiving points and the shortest path distance, the matching between traffic receiving points and traffic sending points is calculated and sorted according to the degree of optimization to obtain a sorted set of traffic receiving points. The sorted set of traffic receiving points includes the sorting of traffic sending points corresponding to each traffic receiving point. Using the sorted sets of traffic sending points and traffic receiving points as optimization factors, the best matching results are selected for the matching of traffic sending points to traffic receiving points, including: The improved Gale-Shapley algorithm is used to match traffic sending points with traffic receiving points to obtain the best matching result. The specific steps include: S100, each traffic sending point, according to its own traffic sending point sorting set, sends invitations to traffic receiving points in order from best to worst. If a traffic receiving point accepts the invitation during the process, the subsequent invitation sending action is stopped. S200: The traffic receiving point continues to receive invitations until it reaches the upper limit. If it continues to receive invitations from other traffic sending points after reaching the upper limit, a comparison mechanism will be triggered. Based on its own traffic receiving point sorting set, the sending points that have previously received invitations and those that are currently waiting to receive invitations will be compared. Based on the upper limit, the traffic sending points that rank higher in the sorting set will be retained. S300: The traffic sending point that has been removed from the invitation repeats S100 to S200 until each traffic sending point and traffic receiving point have a pairing relationship, and obtains the optimal matching result.

2. The method of claim 1, wherein, Data from the traffic receiving point, including the maximum broadband capacity of the traffic receiving point.

3. The method of claim 2, wherein, Factors to consider at the traffic transmission point include available bandwidth capacity; The available broadband capacity is derived from the maximum broadband capacity of the traffic receiving point.

4. An optimized system for CDN distribution of global traffic, characterized by, include: The module for obtaining undirected graphs retrieves the undirected graph between all traffic allocation points in the target area. Traffic allocation points include traffic sending points and traffic receiving points; The traffic sending point module retrieves the traffic sending point and its corresponding traffic sending point data. The traffic receiving module acquires the traffic receiving point and the corresponding traffic receiving point data. The Dijkstra algorithm module uses the union of traffic sending points and traffic receiving points as the deduplication set. It then uses Dijkstra's single-source shortest path algorithm to calculate the shortest path distance from all elements in the deduplication set of the undirected graph to all traffic allocation points in the target area, which is used as a factor in the shortest path distance consideration. The analysis and consideration module parses the consideration factors for traffic sending points and traffic receiving points based on traffic sending point data and traffic receiving point data. Among them, traffic sending point data includes peak bandwidth of the service, and traffic receiving point data includes the number of traffic receiving point servers. The consideration factors for traffic sending points and traffic receiving points are equipment load performance, which is parsed based on peak bandwidth of the service and the number of traffic receiving point servers. The traffic sending point sorting module calculates the matching between traffic sending points and traffic receiving points based on the factors considered for traffic sending points and the shortest path distance factor, and sorts them according to the degree of optimization to obtain a sorting set of traffic sending points. The sorting set of traffic sending points includes the sorting of traffic receiving points corresponding to each traffic sending point. The traffic receiving point sorting module calculates the matching between traffic receiving points and traffic sending points based on the factors considered for traffic receiving points and the shortest path distance factor, and sorts them according to the degree of optimization to obtain a sorting set of traffic receiving points. The sorting set of traffic receiving points includes the sorting of traffic sending points corresponding to each traffic receiving point. The optimal matching result module uses the sorted sets of traffic sending points and traffic receiving points as optimization factors to filter the best matching results for traffic sending points to traffic receiving points. This includes: matching traffic sending points and traffic receiving points using an improved Gale-Shapley algorithm to obtain the best matching results. Specifically, this involves the following steps: S100, each traffic sending point, based on its own traffic sending point sorted set, sends invitations to traffic receiving points in order from best to worst. If a traffic receiving point accepts an invitation during this process, the subsequent steps are stopped. The process involves several steps: S100 initiates an invitation; S200, the traffic receiving point continues to accept invitations until it reaches the upper limit. If it continues to receive invitations from other traffic sending points after reaching the upper limit, a comparison mechanism will be triggered. Based on its own traffic receiving point ranking set, the sending points that have previously accepted invitations and those currently awaiting invitations will be compared. The traffic sending points with higher rankings in the ranking set will be retained based on the upper limit; S300, the traffic sending points whose invitations have been canceled repeat steps S100 to S200 until each traffic sending point and traffic receiving point have a pairing relationship, obtaining the optimal matching result.

5. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method as described in any one of claims 1 to 3.

Citation Information

Patent Citations

  • Stream scheduling method and device based on stable matching, computer device and storage medium

    CN109873772A

  • Time delay sensitive forward transmission network flow scheduling method for electric power communication

    CN113472570A