A bandwidth scheduling method and apparatus

By acquiring communication line data in the CDN network and automatically selecting the optimal scheduling line, the problems of high bandwidth cost and poor transmission quality in the CDN network are solved, and stable and efficient bandwidth scheduling is achieved.

CN119788522BActive Publication Date: 2025-11-04CHINA TELECOM CLOUD TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411639448.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-11-15
Publication Date
2025-11-04
Estimated Expiration
2044-11-15

AI Technical Summary

Technical Problem

In CDN networks, multi-line scheduling leads to high bandwidth costs, poor network transmission quality, and network instability. Existing technologies that adjust the Linux kernel routing table are risky and fail to effectively utilize the bandwidth of each line.

Method used

By acquiring broadband data from multiple communication lines, it determines whether the target visitor's current communication line is overloaded, and selects the target scheduling line based on priority scheduling rules to generate a bandwidth scheduling strategy. Without modifying the Linux kernel routing table, it automatically optimizes and schedules to the best line, reducing bandwidth costs and improving transmission quality.

Benefits of technology

It enables precise bandwidth scheduling in CDN networks without modifying the Linux kernel routing table, reducing costs and improving network stability and communication transmission quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119788522B_ABST
    Figure CN119788522B_ABST
Patent Text Reader

Abstract

The present application relates to the technical field of bandwidth scheduling, and discloses a bandwidth scheduling method and device, which generates a bandwidth scheduling strategy of a current communication line of a target visitor based on broadband data of multiple communication lines and bandwidth data of the current communication line of the target visitor, and distributes the bandwidth scheduling strategy to a second CDN node, so that the second CDN node schedules the current communication line of the target visitor according to the bandwidth scheduling strategy of the current communication line of the target visitor, without modifying a linux kernel routing table, thereby avoiding risks caused by misoperations due to modification of the routing table. The disclosed embodiments automatically optimize and schedule to an optimal target scheduling line, thereby dragging high bandwidth to the target scheduling line, reducing bandwidth cost, improving network stability, and finally optimizing communication transmission quality between different visitors and node server ends.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of bandwidth scheduling technology, and specifically to a bandwidth scheduling method and apparatus. Background Technology

[0002] In real-world network applications, the presence of multiple carriers presents significant obstacles to cross-carrier access. This is particularly true for Content Delivery Network (CDN) services, where edge nodes need to access resources from the customer's origin server. These origin servers are deployed across various complex carrier networks, requiring the selection of the optimal route. Since the rental price and bandwidth costs of Border Gateway Protocol (BGP) data centers are quite high, bandwidth costs become excessive in high-traffic CDN scenarios. Because implementing multi-line, single-IP data centers is significantly more complex and costly, most CDN providers employ multi-line, multi-IP solutions to address the slow interconnectivity issues between different network carriers.

[0003] In CDN node resource allocation scenarios, access requests typically reach node servers via routing. However, uneven traffic distribution across different lines can lead to some lines running at excessively high bandwidth, exceeding the cost limits of the ISP's lines, while the remaining lines have significant bandwidth redundancy. This results in substantial resource waste and ultimately increases overall costs. Therefore, traffic scheduling across different lines is necessary to fully utilize their bandwidth and ultimately reduce bandwidth costs.

[0004] Related technologies, when scheduling traffic across multiple lines, first identify the carrier lines with high traffic, determine the user access IP addresses corresponding to a portion of the traffic on the node server with high traffic, and then adjust the Linux kernel routing table to redirect some user IP requests to idle lines. However, this method of directly adjusting the server's routing table is risky. Improper operation of the routing table may lead to the overall server service malfunction, and it may fail to identify the service quality and bandwidth cost of these user IPs to idle lines, ultimately resulting in network instability and high bandwidth costs, thus affecting the communication quality between the node server and user clients. Summary of the Invention

[0005] In view of this, the present invention provides a bandwidth scheduling method and apparatus to solve the problems of high scheduling risk, high bandwidth cost and poor network transmission quality.

[0006] According to a first aspect, this disclosure provides a bandwidth scheduling method for a first CDN node, the method comprising:

[0007] Within the target scheduling area, acquire broadband data of multiple communication lines and bandwidth data of the target visitor's current communication line; where the target visitor is each of the multiple visitors.

[0008] Based on the bandwidth data of the target visitor's current communication line, determine whether the target visitor's current communication line is exceeding the limit;

[0009] If so, based on broadband data from multiple communication lines, select the target scheduling line for the target visitor from among the multiple communication lines according to the priority scheduling rules, and obtain the redundant bandwidth of the target scheduling line for the target visitor.

[0010] Based on broadband data from multiple communication lines and bandwidth data from the target visitor's current communication lines, a bandwidth scheduling strategy for the target visitor's current communication lines is generated.

[0011] The bandwidth scheduling policy is sent to the second CDN node so that the second CDN node can schedule the target visitor's current communication line according to the bandwidth scheduling policy.

[0012] In this embodiment, the first CDN node generates a bandwidth scheduling strategy for the target visitor's current communication line based on broadband data from multiple communication lines and the target visitor's current communication line bandwidth data. This strategy is then distributed to the second CDN node, enabling the second CDN node to schedule the target visitor's current communication line according to the bandwidth scheduling strategy. This eliminates the need to modify the Linux kernel routing table, avoiding the risks associated with misoperations caused by routing table modifications. This embodiment automatically optimizes scheduling to the optimal target line, thereby directing high bandwidth usage to the target line, reducing bandwidth costs, improving network stability, and ultimately optimizing the communication transmission quality between different visitors and the node server.

[0013] In some alternative implementations, broadband data for various communication lines includes: broadband cost, real-time bandwidth, and response time;

[0014] Based on broadband data from multiple communication lines, the target scheduling line for the target visitor is selected from these lines according to priority scheduling rules, and the redundant bandwidth of the target scheduling line for the target visitor is obtained, including:

[0015] The broadband costs of various communication lines are sorted in ascending order to obtain the first priority of the various communication lines.

[0016] The real-time bandwidth of various communication lines is sorted in descending order to obtain the second sorting priority of the various communication lines;

[0017] Based on the sorting results of multiple communication lines according to the first sorting priority and the second sorting priority, it is gradually determined whether the response time of the target communication line is less than a preset threshold. The target communication line is each of the multiple communication lines.

[0018] If so, the target communication line will be used as the target scheduling line for the target visitor;

[0019] Obtain the real-time bandwidth, broadband cost, and preset bandwidth utilization of the target visitor's target scheduling line;

[0020] Based on the real-time bandwidth, broadband cost, and preset bandwidth utilization of the target visitor's target scheduling line, calculate the redundant bandwidth of the target visitor's target scheduling line.

[0021] This embodiment of the disclosure is based on the sorting results of multiple communication lines according to the first sorting priority and the second sorting priority, and gradually selects the target scheduling line of the target visitor's current communication line with high speed, which can achieve precise scheduling and thus ensure the transmission quality between the node server and the visitor.

[0022] In some optional implementations, the broadband data of various communication lines includes: broadband cost, real-time bandwidth, and response time; the bandwidth data of the target visitor's current communication line includes: gateway address, scheduling identifier, line number, and real-time bandwidth.

[0023] Based on broadband data from multiple communication lines and bandwidth data from the target visitor's current communication lines, a bandwidth scheduling strategy for the target visitor's current communication lines is generated, including:

[0024] Obtain the bandwidth traction of the current communication line of the high-traffic visitor and the redundant bandwidth of the target scheduling line of the target visitor.

[0025] Determine whether the redundant bandwidth of the target scheduling line for the target visitor is sufficient to handle the broadband load of the current communication line for the high-traffic visitor.

[0026] If so, a first bandwidth amount is pre-deducted from the redundant bandwidth of the target visitor's target scheduling line according to the first scheduling ratio. The first bandwidth amount is calculated based on the first scheduling ratio and the bandwidth traction of the current communication line of the high-traffic visitor. The first scheduling ratio is calculated based on the redundant bandwidth of the target visitor's target scheduling line and the real-time bandwidth of the target visitor.

[0027] If not, calculate the bandwidth pull of the current communication line of the high-traffic visitor and subtract the first bandwidth amount to obtain the second bandwidth amount;

[0028] The steps include: returning broadband data based on multiple communication lines, selecting the target scheduling line for the target visitor from the multiple communication lines according to the priority scheduling rules, and obtaining the redundant bandwidth of the target scheduling line for the target visitor.

[0029] According to the second scheduling ratio, a second bandwidth amount is pre-deducted from the redundant bandwidth of the reselected target scheduling line. The second scheduling ratio is calculated based on the first scheduling ratio.

[0030] Generate a bandwidth scheduling file for the target visitor's current communication line, which includes the target visitor's current communication line's scheduling identifier, gateway address, line number, and first or second scheduling ratio.

[0031] In this embodiment, the first CDN node generates a bandwidth scheduling strategy for the current communication line of the target visitor with high bandwidth usage based on the specific broadband data of various communication lines and the specific bandwidth data of the target visitor's current communication line. This allows the second CDN node to direct the high bandwidth usage to the target scheduling line according to the bandwidth scheduling strategy of the target visitor's current communication line, thereby reducing bandwidth costs, improving network stability, and optimizing the communication transmission quality between different visitors and the node server.

[0032] In some optional implementations, the bandwidth scheduling method in this disclosure further includes:

[0033] Within the target scheduling area, determine whether the current communication line of the target visitor who has completed scheduling can restore bandwidth;

[0034] If so, calculate the bandwidth back-switch amount within the target scheduling area based on the bandwidth data of the current communication lines of the target visitors who have already completed the scheduling;

[0035] Obtain the response time of the target visitor's target scheduling route;

[0036] Based on the response time of the target visitor's target scheduling line and the amount of bandwidth back-cut within the target scheduling area, a bandwidth recovery strategy is generated within the target scheduling area.

[0037] The bandwidth recovery policy is sent to the second CDN node so that the second CDN node can restore the current communication line of the target visitor that meets the bandwidth recovery conditions according to the bandwidth recovery policy.

[0038] In this embodiment, the first CDN node detects the current bandwidth utilization of the current communication line of the target visitor that has completed scheduling in real time, and then determines whether the current communication line of the target visitor that has completed scheduling can be restored normally, and generates a bandwidth restoration strategy for the target scheduling area, which helps to ensure the communication transmission quality between the node server and the user client.

[0039] In some optional implementations, a bandwidth recovery strategy for the target scheduling area is generated based on the response time of the target visitor's target scheduling line and the bandwidth rollback amount within the target scheduling area, including:

[0040] The target scheduling routes of the target visitors are sorted in descending order of response time to obtain the target scheduling routes of the visitors who are ranked lower.

[0041] From the target scheduling lines of visitors ranked lower, gradually switch back the bandwidth within the target scheduling area according to the switchback ratio until the bandwidth within the target scheduling area is completely switched back.

[0042] In some optional implementations, the bandwidth scheduling method in this disclosure further includes:

[0043] Within the target scheduling area, determine whether the current communication line of the target visitor who has completed scheduling has experienced quality abnormalities;

[0044] If so, calculate the bandwidth back-switch amount within the target scheduling area based on the bandwidth data of the current communication lines of the target visitors who have already completed the scheduling;

[0045] According to the broadband scheduling strategy of the current communication line of the high-traffic visitor who has experienced a quality anomaly, the bandwidth back-switching amount in the target scheduling area is switched back.

[0046] In this embodiment, the first CDN node detects the response time of the current communication line of the target visitor that has completed scheduling in real time, and then determines whether the current communication line of the target visitor that has completed scheduling is abnormal. For abnormal high-bandwidth visitors, the high-bandwidth is switched back according to the previous target scheduling strategy, which helps to ensure the communication transmission quality between the node server and the user client.

[0047] According to a second aspect, embodiments of this disclosure provide a broadband scheduling apparatus for a first CDN node, the apparatus comprising:

[0048] The acquisition module is used to acquire broadband data of multiple communication lines and bandwidth data of the current communication lines of the target visitor within the target scheduling area; wherein, the target visitor is each of the multiple visitors, and the target scheduling area is each of the multiple scheduling areas.

[0049] The judgment module is used to determine whether the target visitor's current communication line is exceeding the bandwidth limit based on the bandwidth data of the target visitor's current communication line.

[0050] The selection module is used to select the target scheduling line for the target visitor from multiple communication lines according to priority scheduling rules, based on broadband data from multiple communication lines, and to obtain the redundant bandwidth of the target scheduling line for the target visitor.

[0051] The generation module is used to generate a bandwidth scheduling strategy for the current communication line of the target visitor based on the broadband data of multiple communication lines and the bandwidth data of the target visitor's current communication line.

[0052] The sending module is used to send the bandwidth scheduling policy to the second CDN node, so that the second CDN node can schedule the target visitor's current communication line according to the bandwidth scheduling policy.

[0053] According to a third aspect, embodiments of this disclosure provide a bandwidth scheduling system, comprising:

[0054] The data configuration unit is used to configure the configuration parameters of various communication lines in a multi-line equipment room.

[0055] The data acquisition unit, connected to the data configuration unit, is used to collect bandwidth data of multiple communication lines and bandwidth data of the current communication line of the target visitor; wherein, the target visitor is each of the multiple visitors;

[0056] The gateway address database, connected to the data acquisition unit, is used to store gateway data for various communication lines;

[0057] The first CDN node, connected to the data configuration unit and the data acquisition unit, is used to execute the bandwidth scheduling method in some optional embodiments of the first aspect or any of its corresponding implementations.

[0058] The second CDN node is used to receive the bandwidth scheduling strategy of the target visitor's current communication line issued by the first CDN node and to obtain gateway data of various communication lines from the gateway address database.

[0059] Fourthly, the present invention provides a computer device, comprising: a memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the computer instructions to perform the bandwidth scheduling method of the first aspect or any corresponding embodiment described above.

[0060] Fifthly, the present invention provides a computer-readable storage medium storing computer instructions for causing a computer to perform a bandwidth scheduling method in some optional embodiments of the first aspect or any corresponding embodiment thereof. Attached Figure Description

[0061] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the accompanying drawings required in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the accompanying drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0062] Figure 1 This is a flowchart illustrating a bandwidth scheduling method according to an embodiment of the present invention;

[0063] Figure 2 This is a flowchart illustrating another bandwidth scheduling method according to an embodiment of the present invention;

[0064] Figure 3 This is a flowchart illustrating another bandwidth scheduling method according to an embodiment of the present invention;

[0065] Figure 4 This is a flowchart illustrating another bandwidth scheduling method according to an embodiment of the present invention;

[0066] Figure 5 This is a flowchart illustrating another bandwidth scheduling method according to an embodiment of the present invention;

[0067] Figure 6 This is a structural block diagram of a bandwidth scheduling system according to an embodiment of the present invention;

[0068] Figure 7 This is a structural block diagram of a bandwidth scheduling device according to an embodiment of the present invention;

[0069] Figure 8 This is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. Detailed Implementation

[0070] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0071] According to an embodiment of the present invention, a bandwidth scheduling method embodiment is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0072] This embodiment provides a bandwidth scheduling method that can be used on servers and mobile terminals, such as mobile phones and tablets. The bandwidth scheduling method in this embodiment is used on a first CDN node. Figure 1 This is a flowchart of a bandwidth scheduling method according to an embodiment of the present invention, such as... Figure 1 As shown, the process includes the following steps:

[0073] Step S101: Within the target scheduling area, acquire broadband data of multiple communication lines and bandwidth data of the current communication line of the target visitor; wherein, the target visitor is each of the multiple visitors, and the target scheduling area is each of the multiple scheduling areas.

[0074] Specifically, the target scheduling area is the area to be scheduled for bandwidth scheduling, for example, the Chaoyang District of Beijing. Multiple communication lines refer to the communication lines of various operators, such as: China Telecom lines, China Mobile lines, China Unicom lines, China Broadband lines, and China Broadcasting Network lines. The target scheduling area can be any of the multiple scheduling areas, and each scheduling area performs the same bandwidth scheduling action.

[0075] In a specific example, broadband data for various communication lines includes: broadband cost, real-time bandwidth, and response time.

[0076] For example, the bandwidth cost of each operator's communication line and the corresponding price coefficient for each communication line are obtained (the higher the coefficient, the higher the cost). This bandwidth cost is mainly used to calculate the bandwidth utilization rate of each communication line. The upper limit of the line bandwidth is shown in Table 1 below.

[0077] Table 1

[0078] Chaoyang Computer Room 100G telecommunications line (bandwidth cost) 6 (Price Coefficient) Chaoyang Computer Room 80G mobile communication line (bandwidth cost) 8 (Price Coefficient) Chaoyang Computer Room China Unicom communication line 60G (bandwidth cost) 7 (Price Coefficient) Chaoyang Computer Room 60G broadband communication line (bandwidth cost) 5 (Price Coefficient)

[0079] For example, the detection delay data (response time of multiple communication lines) from the target scheduling area to various communication lines are obtained in real time, and then the service quality of other non-default lines in the target scheduling area is identified to determine whether it can support the access of the target visitor. The response time of multiple communication lines is shown in Table 2 below.

[0080] Table 2

[0081] Target scheduling area Communication lines average response time 3001 Telecommunication lines 80ms 3001 Mobile communication lines 100ms 3002 China Unicom communication lines 50ms 3002 Mobile communication lines 200ms

[0082] For example, the real-time bandwidth of various communication lines in the target scheduling area is obtained in real time, as shown in Table 3 below.

[0083] Table 3

[0084] engine room Real-time bandwidth Chaoyang Computer Room 62G telecommunications lines Chaoyang Computer Room 75G mobile communication lines Chaoyang Computer Room China Unicom 55G communication line Chaoyang Computer Room 82G wide and long-width communication lines

[0085] In another specific example, the bandwidth data of the target visitor's current communication line includes: gateway address, scheduling identifier, line number, and real-time bandwidth.

[0086] Specifically, gateway addresses are primarily stored in a gateway database, such as... Figure 6 As shown, the gateway database mainly stores the IP addresses, line numbers, and scheduling identifiers (ASNs) of communication lines from different operators.

[0087] The real-time bandwidth of the target visitor's current communication line and the real-time bandwidth of multiple communication lines mentioned above are mainly collected by the data acquisition unit in the bandwidth scheduling system. Figure 6 In the middle, the data acquisition unit 62 is mainly responsible for collecting the real-time bandwidth of the switch port and aggregating it to the communication lines of each operator; collecting user access logs and aggregating the real-time bandwidth to the communication lines of operators and ASN granularity, while reporting the data to the first CDN node (scheduling center), and collecting the detection delay time (response time of various communication lines) of various communication lines from the target scheduling area to the multi-line data center.

[0088] Furthermore, the target visitor is each of the multiple visitors. For example, the data acquisition unit described above can obtain multiple visitors who are being accessed for each type of communication line in real time by detecting the real-time bandwidth of multiple communication lines. For example, as shown in Table 4 below, each type of communication line corresponds to multiple visitors being accessed.

[0089] Table 4

[0090] Communication lines Visitor count Telecommunications lines 5 Mobile lines 6 China Unicom lines 5 Long and wide lines 3

[0091] Since the same action is performed on multiple visitors in this embodiment, the target visitor is used as a representative to represent each visitor. Obtaining the bandwidth data of the target visitor's current communication line includes: gateway address, scheduling identifier, line number, and real-time bandwidth, which forms a bandwidth data list for the target visitor.

[0092] Step S102: Based on the bandwidth data of the target visitor's current communication line, determine whether the target visitor's current communication line is exceeding the limit.

[0093] In one specific embodiment, determining whether the target visitor's current communication line is exceeding the bandwidth limit based on the target visitor's current communication line bandwidth data includes:

[0094] Step a1: Obtain the preset bandwidth limit and preset bandwidth utilization rate.

[0095] Step a2: Obtain the real-time bandwidth of the target visitor's current communication line from the bandwidth data of the target visitor's current communication line;

[0096] Step a3: The current bandwidth utilization rate of the target visitor's current communication line is obtained by dividing the real-time bandwidth of the target visitor's current communication line by the preset bandwidth limit.

[0097] Step a4: Determine whether the current bandwidth utilization of the target visitor's current communication line is greater than the preset bandwidth utilization.

[0098] Step a4: If yes, determine if the target visitor's current communication line is overrunning.

[0099] Step a5: If not, based on the bandwidth data of the current communication line of the next target visitor, continue to determine whether the current communication line of the target visitor is overrunning.

[0100] Specifically, given a preset bandwidth utilization rate (e.g., 0.9), due to the lag between the real-time bandwidth of the target visitor's current communication line and the effective implementation of the target visitor's bandwidth scheduling strategy, some redundancy is required to avoid excessive bandwidth usage. If the current bandwidth utilization rate of the target visitor's current communication line is greater than the preset bandwidth utilization rate, it is determined that the current communication line's bandwidth has exceeded the bandwidth cost, requiring some intervention. If the current bandwidth utilization rate of the target visitor's current communication line is less than or equal to the preset bandwidth utilization rate, it is considered that the target visitor's current communication line is not over-utilized, and the current communication line exits the scheduling process. The process continues to determine whether the target visitor's current communication line is over-utilized based on the bandwidth data of the next target visitor's current communication line.

[0101] Step S103: If yes, based on the broadband data of multiple communication lines, select the target scheduling line of the target visitor from the multiple communication lines according to the priority scheduling rules, and obtain the redundant bandwidth of the target scheduling line of the target visitor.

[0102] First, if the target visitor's current communication line is overloaded, bandwidth redirection is performed on the overloaded target visitor's current communication line, redirecting it to the target scheduling line. This target scheduling line is selected based on a priority scheduling rule. Specifically, other communication lines with redundant bandwidth can be sorted from low to high according to their price coefficient, with lower-priced communication lines having higher priority.

[0103] Secondly, based on the line dimension, the real-time bandwidth of various communication lines is sorted from largest to smallest. The larger the bandwidth, the more likely it will be pulled to other communication lines, indicating that user requests are more concentrated and the scheduling effect is better.

[0104] Next, starting with the highest priority among multiple communication lines, the detection delay data (response time of multiple communication lines) from the target scheduling area to each communication line is judged. If the detection delay data is less than 500ms (data is configurable), it is considered that the communication line can carry the bandwidth of the AS; otherwise, the communication line is skipped.

[0105] Therefore, based on the above order, the target scheduling line for the high-traffic target visitor is selected from multiple communication lines according to the priority scheduling rules, and then the current communication line bandwidth of the high-traffic target visitor is taken over.

[0106] If the target visitor's current communication line is not overloaded, the system continues to determine whether the target visitor's current communication line is overloaded based on the bandwidth data of the next target visitor's current communication line.

[0107] After selecting the target visitor's current communication line according to the above-mentioned selection method, the redundant bandwidth of the target visitor's target scheduling line is further calculated. For the specific calculation method, please refer to the following implementation method.

[0108] Step S104: Based on the broadband data of multiple communication lines and the bandwidth data of the target visitor's current communication line, generate a bandwidth scheduling strategy for the target visitor's current communication line.

[0109] Specifically, the bandwidth scheduling strategy for the target visitor's current communication line can be further generated based on the bandwidth traction of the target visitor's current communication line, the redundant bandwidth of the target visitor's target scheduling line, different scheduling ratios, and the scheduling identifier, gateway address, and line number of the target visitor's current communication line.

[0110] Step S105: Send the bandwidth scheduling policy to the second CDN node so that the second CDN node can schedule the target visitor's current communication line according to the bandwidth scheduling policy.

[0111] Specifically, the first CDN node is equivalent to a server used to generate bandwidth scheduling strategies for the current communication lines, and the second CDN node is equivalent to a server deployed in a multi-line data center.

[0112] For example, the first CDN node distributes the bandwidth scheduling policy for the target visitor's current communication line to all servers (second CDN nodes) in the multi-line data center. When the second CDN node receives the bandwidth scheduling policy and it takes effect, it parses the bandwidth scheduling file to obtain the gateway address (IP address), obtains the corresponding ASN number based on the gateway address (IP address), and checks whether the ASN number exists in the bandwidth scheduling file. If it does, the target visitor's request needs to be redirected to the corresponding target scheduling line.

[0113] In the bandwidth scheduling method of this embodiment, the first CDN node generates a bandwidth scheduling strategy for the current communication line of the target visitor with high bandwidth usage based on the broadband data of multiple communication lines and the bandwidth data of the target visitor's current communication line. This strategy is then sent to the second CDN node, enabling the second CDN node to schedule the target visitor's current communication line according to the bandwidth scheduling strategy. This eliminates the need to modify the Linux kernel routing table, avoiding the risks caused by misoperations due to routing table modifications. This embodiment automatically optimizes the scheduling to the optimal target line, thereby directing high bandwidth usage to the target line, reducing bandwidth costs, improving network stability, and ultimately optimizing the communication transmission quality between different visitors and the node server.

[0114] This embodiment provides a bandwidth scheduling method that can be used on servers and mobile terminals, such as mobile phones and tablets. Figure 2 This is a flowchart of a bandwidth scheduling method according to an embodiment of the present invention, such as... Figure 2 As shown, step S103 above, based on broadband data from multiple communication lines, selects the target scheduling line for the target visitor from among the multiple communication lines according to priority scheduling rules, and obtains the redundant bandwidth of the target scheduling line for the target visitor, including:

[0115] Step S201: Sort the broadband costs of various communication lines in ascending order to obtain the first priority of the various communication lines.

[0116] Specifically, for example, after sorting the broadband costs of various communication lines from low to high, they are: China Broadband, China Telecom, China Unicom, and China Mobile. Therefore, the first priority is based on the bandwidth cost of the various communication lines, with lower-priced communication lines having higher priority in handling the bandwidth of current communication lines used by high-traffic visitors.

[0117] Step S202: Sort the real-time bandwidth of multiple communication lines in descending order to obtain the second sorting priority of multiple communication lines.

[0118] Specifically, the real-time bandwidths of various communication lines are sorted in descending order: 65M, 51M, 43M, and 38M. Therefore, the second priority ranking is based on the real-time bandwidth of the various communication lines. The larger the bandwidth of a communication line, the more likely it will be prioritized, indicating that user requests are more concentrated and the scheduling effect is better.

[0119] Step S203: Based on the sorting results of multiple communication lines according to the first sorting priority and the second sorting priority, it is determined step by step whether the response time of the target communication line is less than a preset threshold. The target communication line is each of the multiple communication lines.

[0120] Step S204: If yes, use the target communication line as the target scheduling line for the target visitor.

[0121] Specifically, for multiple communication lines sorted according to a first priority and a second priority, starting with the highest priority, the response time of each communication line (target communication line) is checked one by one to see if it is less than a preset threshold. This preset threshold can be set to 500ms, and can be flexibly set according to the actual situation. Starting with the highest priority target communication line, if the response time of the target communication line is less than 500ms (data configurable), it is considered that the target communication line can carry the bandwidth of the current communication line of the high-traffic visitor; otherwise, the target communication line is skipped, and the next target communication line is checked according to the sorting results of the first priority and the second priority.

[0122] Step S205: Obtain the real-time bandwidth, broadband cost, and preset bandwidth utilization of the target visitor's target scheduling line.

[0123] Step S206: Calculate the redundant bandwidth of the target scheduling line for the target visitor based on the real-time bandwidth, broadband cost, and preset bandwidth utilization of the target visitor's target scheduling line.

[0124] In a specific example, the redundant bandwidth of the target visitor's target scheduling line is calculated using the following formula: Redundant bandwidth of the target visitor's target scheduling line = Bandwidth cost of the target visitor's target scheduling line × Preset bandwidth utilization rate - Real-time bandwidth of the target visitor's target scheduling line. The redundant bandwidth of other communication lines in the first and second sorting priorities is traversed. When the redundant bandwidth is greater than 0, they are all listed as alternative communication lines, as shown in Table 5 below.

[0125] Table 5

[0126] Line Name Line number Redundant bandwidth Price coefficient Telecommunications lines 10 20G 6 Mobile lines 11 30G 8 Long and wide lines 13 20G 5

[0127] This embodiment of the disclosure, by executing the above steps S201-S206, based on the sorting results of multiple communication lines according to the first sorting priority and the second sorting priority, gradually selects the target scheduling line of the current communication line of the target visitor with high speed, thereby achieving precise scheduling and ensuring the transmission quality between the node server and the visitor.

[0128] This embodiment provides a bandwidth scheduling method that can be used on servers and mobile terminals, such as mobile phones and tablets. Step S104 above generates a bandwidth scheduling strategy for the target visitor's current communication line based on broadband data from multiple communication lines and bandwidth data from the target visitor's current communication line. Figure 3As shown, the process includes the following steps:

[0129] Step S301: Obtain the bandwidth traction of the current communication line of the high-traffic visitor and the redundant bandwidth of the target scheduling line of the target visitor.

[0130] In a specific example, the bandwidth pull is calculated using the following formula:

[0131] The bandwidth traction of the current communication line for high-traffic visitors = the real-time bandwidth of the current communication line for high-traffic visitors - the preset upper limit bandwidth × the scheduling upper limit ratio.

[0132] Specifically, to prevent the bandwidth of communication lines from increasing too quickly, a scheduling limit ratio of 0.88 is set to allocate as much bandwidth as possible from the current communication lines of high-traffic visitors, thus ensuring the redundancy of the communication lines.

[0133] The redundant bandwidth of the target visitor's target scheduling line is calculated using the formula in the example above: Redundant bandwidth of the target visitor's target scheduling line = Bandwidth cost of the target visitor's target scheduling line × Preset bandwidth utilization rate - Real-time bandwidth of the target visitor's target scheduling line.

[0134] Step S302: Determine whether the redundant bandwidth of the target visitor's target scheduling line is sufficient to handle the broadband load of the current communication line of the high-traffic visitor.

[0135] In a specific example, based on the real-time bandwidth of the target visitor's current communication line, it is determined whether the redundant bandwidth of the target visitor's target scheduling line is sufficient to handle the bandwidth traction of the target visitor's current communication line.

[0136] Specifically, for example, if the real-time bandwidth of the target visitor's current communication line is 1G, and the redundant bandwidth of the target visitor's target scheduling line is 800M, it means that the target visitor's current communication line can handle 80% of the bandwidth, and the remaining 20% ​​of the bandwidth continues to search for other target visitors' target scheduling lines.

[0137] Step S303: If yes, pre-deduct a first bandwidth amount from the redundant bandwidth of the target visitor's target scheduling line according to the first scheduling ratio. The first bandwidth amount is calculated based on the first scheduling ratio and the broadband traction amount of the current communication line of the high-traffic visitor. The first scheduling ratio is calculated based on the redundant bandwidth of the target visitor's target scheduling line and the real-time bandwidth of the target visitor.

[0138] Specifically, for example, if the real-time bandwidth of the target visitor's current communication line is 1G, 1G = 1000M, and the redundant bandwidth of the target visitor's target scheduling line is 800M, then the first scheduling ratio is 800 / 1000 = 80%. According to the first scheduling ratio of 80%, the first bandwidth amount is pre-deducted from the redundant bandwidth of the target visitor's target scheduling line. The first bandwidth amount = the bandwidth traction amount of the visitor's current communication line × the first scheduling ratio of 80%.

[0139] Step S304: If not, calculate the bandwidth pull amount of the current communication line of the high-traffic visitor and subtract the first bandwidth amount to obtain the second bandwidth amount.

[0140] Specifically, if not, the bandwidth pull of the visitor's current communication line is increased by the first bandwidth amount, which equals the second bandwidth amount.

[0141] Step S305 involves returning broadband data based on multiple communication lines, selecting the target scheduling line for the target visitor from among the multiple communication lines according to priority scheduling rules, and obtaining the redundant bandwidth of the target scheduling line for the target visitor.

[0142] Specifically, the target visitor's current communication line can handle 80% of the bandwidth of the first scheduling ratio, and the remaining 20% ​​of the bandwidth is used to search for target scheduling lines for other target visitors. Step S103 involves returning broadband data based on multiple communication lines, selecting the target visitor's target scheduling line from among the multiple communication lines according to priority scheduling rules, and obtaining the redundant bandwidth of the target visitor's target scheduling line, thereby further obtaining target scheduling lines for other target visitors.

[0143] Step S306: Deduct a second bandwidth amount from the redundant bandwidth of the reselected target scheduling line according to the second scheduling ratio. The second scheduling ratio is calculated based on the first scheduling ratio.

[0144] Specifically, for example, if the first scheduling ratio is 80%, then the second scheduling ratio = 1 - 80% = 20%. According to the second scheduling ratio of 20%, the second bandwidth amount (the remaining bandwidth of the current communication line of the high visitor) is deducted from the redundant bandwidth of the target scheduling line.

[0145] Step S307: Generate a bandwidth scheduling file for the current communication line of the target visitor. The bandwidth scheduling file contains the scheduling identifier, gateway address, line number, and first scheduling ratio or second scheduling ratio of the current communication line of the target visitor.

[0146] Specifically, the bandwidth scheduling strategy for generating the current communication line of the target visitor is shown in Table 6 below.

[0147] Table 6

[0148] Dispatch identifier Original communication lines Target scheduling line Dispatch ratio 30001 Telecommunication lines Mobile communication lines 100% 30002 Telecommunication lines China Unicom communication lines 100% 30003 Telecommunication lines Mobile communication lines 100% 30003 Telecommunication lines China Unicom communication lines 100%

[0149] The bandwidth scheduling file contains the scheduling identifier and gateway address of the target visitor's current communication line, the line number, and the first or second scheduling ratio, as shown in Table 7 below.

[0150] Table 7

[0151] Dispatch identifier Line number Gateway address Dispatch ratio 30001 10 10 11 100.0.0.1 100% 30002 11 10 12 200.0.0.1 100% 30003 12 10 11 100.0.0.1 50% 30003 12 10 12 200.0.0.1 50%

[0152] Specifically, loading the bandwidth scheduling file with the scheduling identifier, gateway address, and line number of the target visitor's current communication line helps the second CDN node to schedule the target visitor's default line to the target scheduling line, thereby providing better service quality.

[0153] In this embodiment of the disclosure, by executing the above steps S301-S307, the first CDN node generates a bandwidth scheduling strategy for the current communication line of the target visitor with high bandwidth usage based on the specific broadband data of various communication lines and the specific bandwidth data of the target visitor's current communication line. This allows the second CDN node to direct high bandwidth usage to the target scheduling line according to the bandwidth scheduling strategy of the target visitor's current communication line, thereby reducing bandwidth costs, improving network stability, and optimizing the communication transmission quality between different visitors and the node server.

[0154] This embodiment provides a bandwidth scheduling method that can be used on servers, mobile terminals such as mobile phones and tablets, etc. Figure 4 As shown, it also includes:

[0155] Step S401: Within the target scheduling area, determine whether the current communication line of the target visitor whose scheduling has been completed can restore bandwidth.

[0156] In a specific example, within the target scheduling area, determining whether the current communication line of the target visitor who has completed scheduling can restore bandwidth includes:

[0157] Step b1: Real-time detection of the current bandwidth utilization of the current communication lines of the target visitors who have completed scheduling within the target scheduling area;

[0158] Step b2: Within the target scheduling area, based on the current bandwidth utilization of the current communication lines of the target visitors who have completed scheduling;

[0159] Step b3: Current bandwidth utilization of the current communication line of the target visitor whose scheduling has been completed;

[0160] Step b4: Determine whether the current bandwidth utilization of the current communication line of the target visitor whose scheduling has been completed is less than the bandwidth recovery threshold.

[0161] Step b5: If yes, determine if the current communication line of the target visitor whose scheduling has been completed can restore bandwidth. If no, if the current bandwidth utilization of the current communication line of the target visitor whose scheduling has been completed is not less than the bandwidth recovery threshold, continue to determine whether the current bandwidth utilization of the current communication line of the next target visitor whose scheduling has been completed is less than the bandwidth recovery threshold.

[0162] Step S402: If yes, calculate the bandwidth back-switch amount within the target scheduling area based on the bandwidth data of the current communication line of the target visitor whose scheduling has been completed.

[0163] In a specific example, the bandwidth back-off amount within the target scheduling area is calculated based on the real-time bandwidth, bandwidth cost, and bandwidth recovery threshold of the current communication line of the target visitor whose scheduling has been completed.

[0164] Specifically, the bandwidth recovery threshold can be set to 0.9, and the specific setting can be adjusted flexibly according to actual conditions.

[0165] For example, the bandwidth back-cut amount within the target scheduling area is calculated using the following formula:

[0166] The back-off bandwidth of the target scheduling area = bandwidth cost of the current communication line of the target visitor who has completed scheduling × bandwidth recovery threshold - real-time bandwidth of the current communication line of the target visitor who has completed scheduling. The bandwidth recovery threshold can be set to 0.9, and can be flexibly designed according to the actual situation.

[0167] If not, continue to determine whether the current communication line of the next target visitor whose scheduling has been completed can restore bandwidth.

[0168] Step S403: Obtain the response time of the target visitor's target scheduling line.

[0169] Specifically, based on the current communication line of the target visitor that has been scheduled, the response time of the target scheduling line for each visitor is obtained.

[0170] Step S404: Based on the response time of the target visitor's target scheduling line and the bandwidth back-cut amount within the target scheduling area, generate a bandwidth recovery strategy within the target scheduling area.

[0171] Specifically, based on the bandwidth back-off amount within the target scheduling area, the response time of the target scheduling lines of all target visitors within the target scheduling area is statistically analyzed and sorted in descending order. The target scheduling lines corresponding to the response times of the target scheduling lines of the target visitors with lower rankings are gradually restored according to the bandwidth restoration ratio, thereby obtaining the bandwidth restoration strategy within the target scheduling area.

[0172] Step S405: Send the bandwidth recovery strategy to the second CDN node so that the second CDN node can restore the current communication line of the target visitor that meets the bandwidth recovery conditions according to the bandwidth recovery strategy.

[0173] The bandwidth scheduling method in this embodiment involves the first CDN node detecting the current bandwidth utilization of the current communication line of the target visitor whose scheduling has been completed in real time, thereby determining whether the current communication line of the target visitor whose scheduling has been completed can be restored normally, and generating a bandwidth restoration strategy for the target scheduling area, which is beneficial to ensuring the communication transmission quality between the node server and the user client.

[0174] This embodiment provides a bandwidth scheduling method that can be used on servers, mobile terminals such as mobile phones and tablets, etc. Figure 5 As shown, it also includes:

[0175] Step S501: Within the target scheduling area, determine whether the current communication line of the target visitor who has completed scheduling has experienced a quality abnormality.

[0176] In a specific example, within the target scheduling area, determining whether the current communication line of the target visitor who has already been scheduled has experienced a quality anomaly includes:

[0177] Step c1: Real-time detection of the response time of the current communication line of the target visitor who has completed scheduling within the target scheduling area;

[0178] Step c2: Determine whether the response time of the current communication line of the target visitor who has completed the scheduling is greater than the preset response time;

[0179] Step c3, if yes, determine that the current communication line of the target visitor who has completed scheduling within the target scheduling area has become abnormal.

[0180] If not, it is determined that the current communication lines of the target visitors who have completed scheduling within the target scheduling area are not abnormal.

[0181] Step S502: If yes, calculate the bandwidth back-switch amount within the target scheduling area based on the bandwidth data of the current communication line of the target visitor whose scheduling has been completed.

[0182] In a specific example, the bandwidth back-off amount within the target scheduling area is calculated based on the real-time bandwidth, bandwidth cost, and bandwidth recovery threshold of the current communication line of the target visitor whose scheduling has been completed.

[0183] Specifically, the bandwidth recovery threshold can be set to 0.9, and the specific setting can be adjusted flexibly according to actual conditions.

[0184] For example, the bandwidth back-cut amount within the target scheduling area is calculated using the following formula:

[0185] The back-off bandwidth of the target scheduling area = the bandwidth cost of the current communication line of the target visitor that has completed scheduling × the bandwidth recovery threshold - the real-time bandwidth of the current communication line of the target visitor that has completed scheduling.

[0186] Step S503: According to the broadband scheduling strategy of the current communication line of the high-speed visitor that has experienced quality abnormality, the bandwidth back-switching amount in the target scheduling area is switched back.

[0187] Specifically, the bandwidth scheduling strategy for the current communication line of the high-speed visitor is generated through the aforementioned steps S103-S104. At this time, for the high-speed visitor with abnormal quality, the high-speed bandwidth is pre-deducted based on the scheduling strategy of the high-speed visitor with abnormal quality.

[0188] In the bandwidth scheduling method of this embodiment, the first CDN node detects the response time of the current communication line of the target visitor that has completed scheduling in real time, and then determines whether the current communication line of the target visitor that has completed scheduling is abnormal. For abnormal high-bandwidth visitors, the high-bandwidth is switched back according to the previous target scheduling strategy, which helps to ensure the communication transmission quality between the node server and the user client.

[0189] Based on the same concept, embodiments of this disclosure also provide a bandwidth scheduling system, such as... Figure 6 As shown, it includes: a data configuration unit 61, a data acquisition unit 62, a gateway address database 63, a first CDN node 64, and a second CDN node 65.

[0190] The data configuration unit is used to configure the configuration parameters of various communication lines in a multi-line equipment room.

[0191] Specifically, the data configuration unit primarily maintains the relationship between switch ports and communication lines of different operators, as well as the bandwidth cost and bandwidth cost coefficient for each operator's communication line. It manages the line information for multi-line equipment rooms and assigns a number to each line, ranging from 10 to 63. Duplicate line numbers are not allowed within the same multi-line equipment room.

[0192] The data acquisition unit, connected to the data configuration unit, is used to collect bandwidth data of multiple communication lines and bandwidth data of the current communication line of the target visitor; the target visitor is each of the multiple visitors.

[0193] Specifically, the data acquisition unit is mainly responsible for collecting the bandwidth of the switch ports and aggregating it to the operator's communication lines; collecting user access logs and aggregating the bandwidth to the granularity of the operator's communication lines and ASNs, and reporting the data to the first CDN node (scheduling center).

[0194] For example, in a three-line data center, port data of each switch is collected in real time, and real-time bandwidth data of each carrier line is collected based on the relationship between switch bandwidth and carrier communication lines. The real-time bandwidth of the target visitor is collected and statistically analyzed every minute from the access logs of the current communication line accessed by the target visitor.

[0195] The data acquisition unit can determine the ASN number of the visitor belonging to the IP segment and the target scheduling area based on the correspondence between the gateway address accessed by the target visitor and the operator's communication line, as well as the visitor IP recorded in the user log. The bandwidth is aggregated to the granularity of ASN, and the final data relationship is (operator communication line, ASN number, real-time bandwidth).

[0196] The gateway address database, connected to the data acquisition unit, is used to store gateway data for various communication lines.

[0197] Specifically, the gateway address database mainly stores the IP segments of various operator communication lines and the ASN (scheduling identifier) ​​of various communication lines.

[0198] The first CDN node is connected to the data configuration unit and the data acquisition unit, and is used to execute the bandwidth scheduling method in the above embodiments.

[0199] Specifically, the first CDN node generates a bandwidth scheduling file with a bandwidth scheduling strategy. The bandwidth scheduling file contains the scheduling identifier, gateway address, line number, and first or second scheduling ratio of the target visitor's current communication line, and then distributes the bandwidth scheduling file.

[0200] The second CDN node is used to receive the bandwidth scheduling strategy of the target visitor's current communication line from the first CDN node and to obtain gateway data of various communication lines from the gateway address database.

[0201] In some alternative implementations, network data packets for multiple communication lines are sent to the second CDN node via a gateway address database.

[0202] Specifically, the second CDN node adds the target scheduling line number to the TOS (Type-of-Service) field of the received network data packets (IP packets). For example, as shown in Table 8 below.

[0203] Table 8

[0204] Line Name Line number Telecommunications lines 10 Mobile lines 11 China Unicom lines 12 Long and wide lines 13 Broadcast lines 14

[0205] The second CDN node uses the TOS tag in the IP packet for the Linux network layer to parse. Based on the parsed TOS, it matches the corresponding gateway address. After matching the gateway address, the IP packet bypasses the routing table and is dispatched from the specified target line.

[0206] This embodiment also provides a broadband scheduling device for implementing the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that implements a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, hardware implementations, or a combination of software and hardware, are also possible and contemplated.

[0207] This disclosure provides a broadband scheduling device for a first CDN node, such as... Figure 7 As shown, the device includes:

[0208] The acquisition module 71 is used to acquire broadband data of multiple communication lines and bandwidth data of the current communication line of the target visitor within the target scheduling area; wherein, the target visitor is each of the multiple visitors, and the target scheduling area is each of the multiple scheduling areas.

[0209] The judgment module 72 is used to determine whether the target visitor's current communication line exceeds the bandwidth limit based on the bandwidth data of the target visitor's current communication line.

[0210] Module 73 is selected to select the target scheduling line of the target visitor from the multiple communication lines according to the priority scheduling rules, and obtain the redundant bandwidth of the target scheduling line of the target visitor, based on the broadband data of multiple communication lines.

[0211] The generation module 74 is used to generate a bandwidth scheduling strategy for the current communication line of the target visitor based on the broadband data of multiple communication lines and the bandwidth data of the current communication line of the target visitor.

[0212] The sending module 75 is used to send the bandwidth scheduling policy to the second CDN node so that the second CDN node can schedule the current communication line of the target visitor according to the bandwidth scheduling policy.

[0213] In some alternative implementations, broadband data for various communication lines includes: broadband cost, real-time bandwidth, and response time;

[0214] Based on broadband data from multiple communication lines, module 73 is selected, including:

[0215] The first sorting submodule is used to sort the broadband costs of multiple communication lines in ascending order to obtain the first sorting priority of the multiple communication lines.

[0216] The second sorting submodule is used to sort the real-time bandwidth of multiple communication lines in descending order to obtain the second sorting priority of the multiple communication lines.

[0217] The line judgment submodule is used to determine whether the response time of the target communication line is less than a preset threshold based on the sorting results of multiple communication lines according to the first sorting priority and the second sorting priority. The target communication line is each of the multiple communication lines.

[0218] The line determination submodule is used to, if so, use the target communication line as the target scheduling line for the target visitor;

[0219] The data acquisition submodule is used to acquire the real-time bandwidth, broadband cost, and preset bandwidth utilization of the target visitor's target scheduling line;

[0220] The data calculation submodule is used to calculate the redundant bandwidth of the target scheduling line for the target visitor based on the real-time bandwidth, broadband cost, and preset bandwidth utilization of the target scheduling line.

[0221] In some optional implementations, the broadband data of various communication lines includes: broadband cost, real-time bandwidth, and response time; the bandwidth data of the target visitor's current communication line includes: gateway address, scheduling identifier, line number, and real-time bandwidth.

[0222] In some alternative implementations, generation module 74 includes:

[0223] The data acquisition submodule is used to acquire the bandwidth traction of the current communication line of the high-traffic visitor and the redundant bandwidth of the target scheduling line of the target visitor.

[0224] The data judgment submodule is used to determine whether the redundant bandwidth of the target scheduling line of the target visitor is sufficient to handle the broadband traction of the current communication line of the high-traffic visitor.

[0225] The bandwidth deduction submodule is used to pre-deduct a first bandwidth amount from the redundant bandwidth of the target visitor's target scheduling line according to the first scheduling ratio. The first bandwidth amount is calculated based on the first scheduling ratio and the bandwidth traction of the current communication line of the high-traffic visitor. The first scheduling ratio is calculated based on the redundant bandwidth of the target visitor's target scheduling line and the real-time bandwidth of the target visitor.

[0226] The bandwidth calculation submodule is used to calculate the bandwidth pull of the current communication line of the high-traffic visitor and subtract the first bandwidth amount to obtain the second bandwidth amount, if no.

[0227] The data return submodule is used to return broadband data based on multiple communication lines, select the target scheduling line of the target visitor from multiple communication lines according to the priority scheduling rules, and obtain the redundant bandwidth of the target scheduling line of the target visitor.

[0228] The data calculation submodule is used to pre-deduct a second bandwidth amount from the redundant bandwidth of the reselected target scheduling line according to a second scheduling ratio, the second scheduling ratio being calculated based on the first scheduling ratio;

[0229] The data generation submodule is used to generate a bandwidth scheduling file for the current communication line of the target visitor. The bandwidth scheduling file is loaded with the scheduling identifier, gateway address, line number and first scheduling ratio or second scheduling ratio of the current communication line of the target visitor.

[0230] In some optional implementations, the bandwidth scheduling device in this disclosure embodiment further includes:

[0231] The bandwidth recovery judgment module is used to determine whether the current communication line of the target visitor who has completed the scheduling can recover bandwidth within the target scheduling area;

[0232] The first bandwidth calculation module is used to calculate the bandwidth back-cut amount within the target scheduling area based on the bandwidth data of the current communication line of the target visitor that has been scheduled.

[0233] The response time acquisition module is used to acquire the response time of the target visitor's target scheduling line;

[0234] The recovery strategy generation module is used to generate a bandwidth recovery strategy for the target scheduling area based on the response time of the target scheduling line of the target visitor and the bandwidth back-cut amount in the target scheduling area.

[0235] The recovery strategy sending module is used to send the bandwidth recovery strategy to the second CDN node so that the second CDN node can restore the current communication line of the target visitor that meets the bandwidth recovery conditions according to the bandwidth recovery strategy.

[0236] In some optional implementations, the recovery strategy generation module includes:

[0237] The sorting submodule is used to sort the response times of the target visitor's target scheduling route in descending order, and obtain the target scheduling route of the visitor with the lower ranking.

[0238] The back-cut submodule is used to gradually cut back the bandwidth within the target scheduling area from the target scheduling lines of visitors who are ranked lower, according to the back-cut ratio, until the bandwidth within the target scheduling area is completely cut back.

[0239] In some optional implementations, the bandwidth scheduling method in this disclosure further includes:

[0240] The quality anomaly detection module is used to determine whether a quality anomaly has occurred in the current communication line of a target visitor who has completed scheduling within the target scheduling area;

[0241] The back-cut data calculation module is used to calculate the bandwidth back-cut amount within the target scheduling area based on the bandwidth data of the current communication line of the target visitor who has completed the scheduling.

[0242] The second bandwidth calculation module is used to switch back the bandwidth within the target scheduling area according to the bandwidth scheduling strategy of the current communication line of the high-traffic visitor that has experienced a quality anomaly.

[0243] Further functional descriptions of the above modules and units are the same as those in the corresponding embodiments described above, and will not be repeated here.

[0244] In this embodiment, the bandwidth scheduling device is presented in the form of a functional unit. Here, a unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that execute one or more software or fixed programs, and / or other devices that can provide the above functions.

[0245] This invention also provides a computer device having the bandwidth scheduling device described above.

[0246] Please see Figure 8 , Figure 8 This is a schematic diagram of the structure of a computer device provided in an optional embodiment of the present invention, such as... Figure 8 As shown, the computer device includes one or more processors 10, memory 20, and interfaces for connecting the components, including high-speed interfaces and low-speed interfaces. The components communicate with each other via different buses and can be mounted on a common motherboard or otherwise installed as needed. The processors can process instructions executed within the computer device, including instructions stored in or on memory to display graphical information of a GUI on external input / output devices (such as display devices coupled to the interfaces). In some alternative implementations, multiple processors and / or multiple buses can be used with multiple memories and multiple memory modules, if desired. Similarly, multiple computer devices can be connected, each providing some of the necessary operations (e.g., as a server array, a group of blade servers, or a multiprocessor system). Figure 8 Take a processor 10 as an example.

[0247] Processor 10 may be a central processing unit, a network processor, or a combination thereof. Processor 10 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The programmable logic device may be a complex programmable logic device (CAMP), a field-programmable gate array (FPGA), a general-purpose array logic (GPA), or any combination thereof.

[0248] The memory 20 stores instructions executable by at least one processor 10 to cause at least one processor 10 to perform the method shown in the above embodiments.

[0249] The memory 20 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created based on the use of the computer device. Furthermore, the memory 20 may include high-speed random access memory and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some alternative embodiments, the memory 20 may optionally include memory remotely located relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.

[0250] The memory 20 may include volatile memory, such as random access memory; the memory may also include non-volatile memory, such as flash memory, hard disk or solid-state drive; the memory 20 may also include a combination of the above types of memory.

[0251] The computer device also includes a communication interface 30 for communicating with other devices or communication networks.

[0252] This invention also provides a computer-readable storage medium. The methods described above according to embodiments of the invention can be implemented in hardware or firmware, or implemented as computer code that can be recorded on a storage medium, or implemented as computer code downloaded via a network and originally stored on a remote storage medium or a non-transitory machine-readable storage medium and then stored on a local storage medium. Thus, the methods described herein can be processed by software stored on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. The storage medium can be a magnetic disk, optical disk, read-only memory, random access memory, flash memory, hard disk, or solid-state drive, etc.; further, the storage medium can also include combinations of the above types of memory. It is understood that computers, processors, microprocessor controllers, or programmable hardware include storage components capable of storing or receiving software or computer code, which, when accessed and executed by the computer, processor, or hardware, implements the methods shown in the above embodiments.

[0253] Although embodiments of the invention have been described in conjunction with the accompanying drawings, those skilled in the art can make various modifications and variations without departing from the spirit and scope of the invention, and such modifications and variations all fall within the scope defined by the appended claims.

Claims

1. A bandwidth scheduling method, characterized in that, For the first CDN node, the method includes: Within the target scheduling area, broadband data of multiple communication lines and bandwidth data of the target visitor's current communication line are acquired; wherein, the target visitor is each of the multiple visitors, and the target scheduling area is each of the multiple scheduling areas; Based on the bandwidth data of the target visitor's current communication line, determine whether the target visitor's current communication line is exceeding the limit; If so, based on the broadband data of the multiple communication lines, select the target scheduling line of the target visitor from the multiple communication lines according to the priority scheduling rules, and obtain the redundant bandwidth of the target scheduling line of the target visitor. Based on the broadband data of the various communication lines and the bandwidth data of the target visitor's current communication line, a bandwidth scheduling strategy for the target visitor's current communication line is generated. The bandwidth scheduling policy is sent to the second CDN node so that the second CDN node schedules the target visitor's current communication line according to the bandwidth scheduling policy. The broadband data of the various communication lines includes: broadband cost, real-time bandwidth, and response time; the bandwidth data of the target visitor's current communication line includes: gateway address, scheduling identifier, line number, and real-time bandwidth. Based on the broadband data of the various communication lines and the bandwidth data of the target visitor's current communication line, a bandwidth scheduling strategy for the target visitor's current communication line is generated, including: Obtain the bandwidth traction of the current communication line of the high-traffic visitor and the redundant bandwidth of the target scheduling line of the target visitor. Determine whether the redundant bandwidth of the target scheduling line of the target visitor is sufficient to handle the broadband traction of the current communication line of the high-traffic visitor. If so, a first bandwidth amount is pre-deducted from the redundant bandwidth of the target scheduling line of the target visitor according to the first scheduling ratio. The first bandwidth amount is calculated based on the first scheduling ratio and the broadband traction amount of the current communication line of the high-traffic visitor. The first scheduling ratio is calculated based on the redundant bandwidth of the target scheduling line of the target visitor and the real-time bandwidth of the target visitor. If not, calculate the bandwidth pull of the current communication line of the high-traffic visitor and subtract the first bandwidth amount to obtain the second bandwidth amount; The steps include: returning broadband data based on the multiple communication lines, selecting the target scheduling line for the target visitor from the multiple communication lines according to the priority scheduling rules, and obtaining the redundant bandwidth of the target scheduling line for the target visitor. The second bandwidth amount is pre-deducted from the redundant bandwidth of the reselected target scheduling line according to the second scheduling ratio, which is calculated based on the first scheduling ratio. A bandwidth scheduling file is generated to determine the bandwidth scheduling strategy for the target visitor's current communication line. The bandwidth scheduling file contains the scheduling identifier, gateway address, line number, and the first scheduling ratio or the second scheduling ratio of the target visitor's current communication line.

2. The method according to claim 1, characterized in that, The broadband data for the various communication lines includes: broadband cost, real-time bandwidth, and response time; Based on the broadband data of the multiple communication lines, the target scheduling line for the target visitor is selected from the multiple communication lines according to the priority scheduling rules, and the redundant bandwidth of the target scheduling line for the target visitor is obtained, including: The broadband costs of the various communication lines are sorted in ascending order to obtain the first sorting priority of the various communication lines. The real-time bandwidths of the various communication lines are sorted in descending order to obtain a second sorting priority for the various communication lines; Based on the sorting results of the multiple communication lines according to the first sorting priority and the second sorting priority, it is determined step by step whether the response time of the target communication line is less than a preset threshold, wherein the target communication line is each of the multiple communication lines; If so, the target communication line shall be used as the target scheduling line for the target visitor; Obtain the real-time bandwidth, broadband cost, and preset bandwidth utilization of the target visitor's target scheduling line; Based on the real-time bandwidth, broadband cost, and preset bandwidth utilization of the target visitor's target scheduling line, the redundant bandwidth of the target visitor's target scheduling line is calculated.

3. The method according to claim 1, characterized in that, Also includes: Within the target scheduling area, determine whether the current communication line of the target visitor who has completed scheduling can restore bandwidth; If so, calculate the bandwidth back-switch amount within the target scheduling area based on the bandwidth data of the current communication line of the target visitor whose scheduling has been completed; Obtain the response time of the target visitor's target scheduling route; Based on the response time of the target visitor's target scheduling line and the bandwidth back-switch amount within the target scheduling area, a bandwidth recovery strategy is generated within the target scheduling area. The bandwidth recovery strategy is sent to the second CDN node so that the second CDN node can restore the current communication line of the target visitor that meets the bandwidth recovery conditions according to the bandwidth recovery strategy.

4. The method according to claim 3, characterized in that, Based on the response time of the target visitor's target scheduling line and the bandwidth rollback amount within the target scheduling area, a bandwidth recovery strategy is generated within the target scheduling area, including: The target scheduling routes of the target visitors are sorted in descending order of response time to obtain the target scheduling routes of visitors ranked lower. From the target scheduling lines of the visitors ranked lower, the bandwidth back-switching amount within the target scheduling area is gradually switched back according to the back-switching ratio until the bandwidth back-switching amount within the target scheduling area is completely switched back.

5. The method according to claim 1, characterized in that, Also includes: Within the target scheduling area, determine whether the current communication line of the target visitor who has completed scheduling has experienced quality abnormalities; If so, calculate the bandwidth back-switch amount within the target scheduling area based on the bandwidth data of the current communication line of the target visitor whose scheduling has been completed; According to the broadband scheduling strategy of the current communication line of the high-traffic visitor who has experienced a quality anomaly, the bandwidth back-switching amount in the target scheduling area is switched back.

6. A broadband scheduling device, characterized in that, For a first CDN node, the device includes: The acquisition module is used to acquire broadband data of multiple communication lines and bandwidth data of the current communication line of the target visitor within the target scheduling area; wherein, the target visitor is each of the multiple visitors, and the target scheduling area is each of the multiple scheduling areas; The judgment module is used to determine whether the target visitor's current communication line exceeds the bandwidth limit based on the bandwidth data of the target visitor's current communication line. The selection module is used to select the target scheduling line of the target visitor from the multiple communication lines according to the priority scheduling rules based on the broadband data of the multiple communication lines, and to obtain the redundant bandwidth of the target scheduling line of the target visitor. The generation module is used to generate a bandwidth scheduling strategy for the current communication line of the target visitor based on the broadband data of the multiple communication lines and the bandwidth data of the current communication line of the target visitor. The sending module is used to send the bandwidth scheduling policy to the second CDN node, so that the second CDN node schedules the current communication line of the target visitor according to the bandwidth scheduling policy; The broadband data for the various communication lines includes: broadband cost, real-time bandwidth, and response time. The bandwidth data for the target visitor's current communication line includes: gateway address, scheduling identifier, line number, and real-time bandwidth. The generation module includes: The data acquisition submodule is used to acquire the bandwidth traction of the current communication line of the high-traffic visitor and the redundant bandwidth of the target scheduling line of the target visitor. The data judgment submodule is used to determine whether the redundant bandwidth of the target scheduling line of the target visitor is sufficient to handle the broadband traction of the current communication line of the high-traffic visitor. The bandwidth deduction submodule is used to pre-deduct a first bandwidth amount from the redundant bandwidth of the target visitor's target scheduling line according to the first scheduling ratio. The first bandwidth amount is calculated based on the first scheduling ratio and the bandwidth traction of the current communication line of the high-traffic visitor. The first scheduling ratio is calculated based on the redundant bandwidth of the target visitor's target scheduling line and the real-time bandwidth of the target visitor. The bandwidth calculation submodule is used to calculate the bandwidth pull of the current communication line of the high-traffic visitor and subtract the first bandwidth amount to obtain the second bandwidth amount, if no. The data return submodule is used to return broadband data based on multiple communication lines, select the target scheduling line of the target visitor from multiple communication lines according to the priority scheduling rules, and obtain the redundant bandwidth of the target scheduling line of the target visitor. The data calculation submodule is used to pre-deduct a second bandwidth amount from the redundant bandwidth of the reselected target scheduling line according to a second scheduling ratio, the second scheduling ratio being calculated based on the first scheduling ratio; The data generation submodule is used to generate a bandwidth scheduling file for the target visitor's current communication line bandwidth scheduling strategy. The bandwidth scheduling file is loaded with the target visitor's current communication line scheduling identifier, gateway address, line number, and first scheduling ratio or second scheduling ratio.

7. A bandwidth scheduling system, characterized in that, include: The data configuration unit is used to configure the configuration parameters of various communication lines in a multi-line equipment room. A data acquisition unit, connected to the data configuration unit, is used to acquire bandwidth data of the multiple communication lines and bandwidth data of the current communication line of the target visitor; wherein, the target visitor is each of the multiple visitors; A gateway address database, connected to the data acquisition unit, is used to store gateway data for the various communication lines; The first CDN node is connected to the data configuration unit and the data acquisition unit, and is used to execute the bandwidth scheduling method according to any one of claims 1 to 5; The second CDN node is used to receive the bandwidth scheduling strategy of the target visitor's current communication line issued by the first CDN node and to obtain the gateway data of the various communication lines from the gateway address database.

8. A computer device, characterized in that, include: A memory and a processor are communicatively connected, the memory stores computer instructions, and the processor executes the bandwidth scheduling method of any one of claims 1 to 5 by executing the computer instructions.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions for causing the computer to perform the bandwidth scheduling method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • CDN bandwidth balancing method, CDN control center and system

    CN103746934A

  • Resource scheduling method and system

    CN110198344A