Bandwidth scheduling method and device
By acquiring and analyzing the bandwidth data of multiple communication lines and target visitors in the CDN network, and generating and implementing bandwidth scheduling strategies, the problems of high traffic scheduling risks, high bandwidth costs and poor network quality in the CDN network are solved, and lower bandwidth costs and more stable network transmission are achieved.
Patent Information
- Application Number
- CN202411639448.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-15
- Publication Date
- 2025-04-08
- Estimated Expiration
- 2044-11-15
AI Technical Summary
In CDN networks, traffic scheduling between multiple lines has problems such as high risks, high bandwidth cost and poor network transmission quality.
By obtaining broadband data of multiple communication lines and bandwidth data of the target visitor's current communication lines, we judge whether the running exceeds the traffic, and select the target scheduling line according to the priority scheduling rules, generate a bandwidth scheduling strategy, and send it to the second CDN node for scheduling, avoiding the risk of modifying the Linux kernel routing table.
It realizes automatic optimization scheduling to the optimal target scheduling line, reduces bandwidth costs, improves network stability, and optimizes the communication transmission quality between visitors and node servers.
Smart Images

Figure CN119788522A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of bandwidth scheduling, and in particular to a bandwidth scheduling method and device. Background Art
[0002] In actual network applications, there are multiple operator environments, and there are great obstacles to cross-operator access. Especially for content delivery network (CDN) services, edge nodes need to go back to the customer source site to obtain resources. The customer source site is deployed in various complex operator networks, and the best line needs to be selected. Since the rental price and bandwidth fees of the Border Gateway Protocol (BGP) computer room are relatively expensive, in the high-traffic scenario of the CDN network, the bandwidth cost consumption is too high. Because the complexity and investment cost of implementing a multi-line single IP computer room are much higher, most CDN manufacturers use a multi-line multi-IP solution to solve the problem of slow interconnection among network operators.
[0003] In the scenario of CDN node resource allocation, the node server is generally accessed through the routing method of access request. The node server has uneven access traffic on different lines, resulting in excessive bandwidth of some lines, exceeding the cost line of the operator's line, and more redundant bandwidth of the remaining lines, which in turn causes more resource waste, and ultimately leads to an increase in overall costs. Therefore, it is necessary to schedule traffic between different lines to make full use of the bandwidth of each line and ultimately reduce bandwidth costs.
[0004] In the related technology, when scheduling traffic between multiple lines, the operator line with larger traffic can be first identified, and the user access IP address corresponding to part of the traffic in the node server with larger traffic can be determined, and then the Linux kernel routing table can be adjusted to redirect some user IP requests to the idle line. However, this method directly adjusts the server's routing table, which is risky and may cause improper operation of the routing table, resulting in the overall server service being unable to be used normally, and failing to identify the service quality of these user IPs to the idle line and the bandwidth cost of the line, which ultimately leads to network instability and high bandwidth costs, thereby affecting the communication transmission quality between the node server and the user client. Summary of the invention
[0005] In view of this, the present invention provides a bandwidth scheduling method and device to solve the problems of high scheduling risk, high bandwidth cost and poor network transmission quality.
[0006] According to a first aspect, an embodiment of the present disclosure provides a bandwidth scheduling method for a first CDN node, the method comprising:
[0007] In the target scheduling area, obtaining bandwidth data of multiple communication lines and bandwidth data of the current communication line of the target visitor; wherein the target visitor is each visitor among 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 overloaded;
[0009] If yes, based on the broadband data of the multiple communication lines, a target scheduling line for the target visitor is selected from the multiple communication lines according to a priority scheduling rule, and redundant bandwidth of the target scheduling line for the target visitor is obtained;
[0010] Generate a bandwidth scheduling strategy for the current communication line of the target visitor based on the bandwidth data of the multiple communication lines and the bandwidth data of the current communication line of the target visitor;
[0011] The bandwidth scheduling strategy is sent 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 strategy.
[0012] In the embodiment of the present disclosure, the first CDN node generates a bandwidth scheduling strategy for the current communication line of the target visitor with high bandwidth, based on the broadband data of multiple communication lines and the bandwidth data of the current communication line of the target visitor, and sends it 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 strategy of the current communication line of the target visitor, without modifying the Linux kernel routing table, thus avoiding the risk caused by misoperation caused by modifying the routing table. The embodiment of the present disclosure automatically optimizes and schedules to the optimal target scheduling line, thereby pulling the high bandwidth to the target scheduling line, reducing bandwidth costs and improving network stability, and finally optimizing the communication transmission quality between different visitors and the node server.
[0013] In some optional implementations, the bandwidth data of the various communication lines include: broadband cost, real-time bandwidth, response time;
[0014] Based on the broadband data of multiple communication lines, a target scheduling line for a target visitor is selected from the multiple communication lines according to a priority scheduling rule, and the redundant bandwidth of the target scheduling line for the target visitor is obtained, including:
[0015] sorting the broadband costs of the plurality of communication lines in order from low to high to obtain a first sorting priority of the plurality of communication lines;
[0016] sorting the real-time bandwidths of the plurality of communication lines in descending order to obtain a second sorting priority of the plurality of communication lines;
[0017] Based on the sorting results of the plurality of communication lines according to the first sorting priority and the second sorting priority, gradually determining whether the response time of the target communication line is less than a preset threshold, the target communication line being each of the plurality of communication lines;
[0018] If so, the target communication line is used as the target dispatch line for the target visitor;
[0019] Obtain the real-time bandwidth, broadband cost and preset bandwidth usage of the target dispatch line of the target visitor;
[0020] Based on the real-time bandwidth, broadband cost and preset bandwidth usage rate of the target scheduling line of the target visitor, the redundant bandwidth of the target scheduling line of the target visitor is calculated.
[0021] The disclosed embodiment gradually selects the target scheduling line of the current communication line of the target visitor with high running speed based on the sorting results of multiple communication lines according to the first sorting priority and the second sorting priority, which can realize accurate scheduling and thus ensure the transmission quality between the node server and the visitor.
[0022] In some optional implementations, the bandwidth data of the multiple communication lines include: broadband cost, real-time bandwidth, response time, and the bandwidth data of the current communication line of the target visitor includes: gateway address, dispatch identifier, line number, and real-time bandwidth;
[0023] Based on the bandwidth data of multiple communication lines and the bandwidth data of the current communication line of the target visitor, a bandwidth scheduling strategy of the current communication line of the target visitor is generated, including:
[0024] Obtain the broadband traction of the current communication line of the high-travel visitor and the redundant bandwidth of the target dispatch line of the target visitor;
[0025] Determine whether the redundant bandwidth of the target dispatching line of the target visitor is sufficient to undertake the broadband traction of the current communication line of the high-running visitor;
[0026] If so, withhold a first bandwidth amount from the redundant bandwidth of the target scheduling line of the target visitor according to the first scheduling ratio, the first bandwidth amount being calculated based on the first scheduling ratio and the broadband traction amount of the current communication line of the running high visitor, the first scheduling ratio being calculated based on the redundant bandwidth of the target scheduling line of the target visitor and the real-time bandwidth of the target visitor;
[0027] If not, calculate the bandwidth traction amount of the current communication line of the high-running visitor minus the first bandwidth amount to obtain a second bandwidth amount;
[0028] Returning broadband data based on multiple communication lines, selecting a target scheduling line for a target visitor from the multiple communication lines according to a priority scheduling rule, and obtaining redundant bandwidth of the target scheduling line for the target visitor;
[0029] Withholding a second bandwidth amount from the redundant bandwidth of the reselected target scheduling line according to a second scheduling ratio, where the second scheduling ratio is calculated based on the first scheduling ratio;
[0030] A broadband scheduling file of a bandwidth scheduling strategy for a current communication line of a target visitor is generated, wherein a scheduling identifier, a gateway address, a line number, and a first scheduling ratio or a second scheduling ratio of the current communication line of the target visitor are loaded into the bandwidth scheduling file.
[0031] In the embodiment of the present disclosure, the first CDN node generates a bandwidth scheduling strategy for the current communication line of the target visitor who is running high, based on the specific broadband data of multiple communication lines and the specific bandwidth data of the current communication line of the target visitor, which is conducive to the second CDN node to pull the running high bandwidth to the target scheduling line according to the bandwidth scheduling strategy of the current communication line of the target visitor, thereby reducing bandwidth costs and improving network stability, and optimizing the communication transmission quality between different visitors and the node server end.
[0032] In some optional implementations, the bandwidth scheduling method in the embodiment of the present disclosure further includes:
[0033] In the target scheduling area, determine whether the current communication line of the target visitor who has completed scheduling can restore the bandwidth;
[0034] If so, the bandwidth switching amount in the target scheduling area is calculated based on the bandwidth data of the current communication line of the target visitor who has completed the scheduling;
[0035] Get the response time of the target dispatch line for the target visitor;
[0036] Generate a bandwidth recovery strategy in the target scheduling area based on the response time of the target scheduling line of the target visitor and the bandwidth switching back amount in the target scheduling area;
[0037] The bandwidth recovery strategy is sent to the second CDN node, so that the second CDN node recovers the current communication line of the target visitor that meets the bandwidth recovery condition according to the bandwidth recovery strategy.
[0038] In the embodiment of the present disclosure, the first CDN node detects in real time the current bandwidth usage rate of the current communication line of the target visitor who has completed scheduling, and then determines whether the current communication line of the target visitor who has completed scheduling can be restored normally, and generates a bandwidth recovery strategy for the target scheduling area, which is beneficial to ensuring the communication transmission quality between the node server and the user client.
[0039] In some optional implementations, based on the response time of the target scheduling line of the target visitor and the bandwidth switching back amount in the target scheduling area, a bandwidth recovery strategy in the target scheduling area is generated, including:
[0040] Arrange the response times of the target dispatching routes of the target visitors in descending order, and obtain the target dispatching routes of the visitors ranked later;
[0041] From the target scheduling lines of the visitors ranked later, the bandwidth switching back amount in the target scheduling area is gradually switched back according to the switching back ratio until the bandwidth switching back amount in the target scheduling area is completely switched back.
[0042] In some optional implementations, the bandwidth scheduling method in the embodiment of the present disclosure further includes:
[0043] In the target dispatching area, determine whether the current communication line of the target visitor who has completed the dispatching has quality abnormality;
[0044] If so, the bandwidth switching amount in the target scheduling area is calculated based on the bandwidth data of the current communication line of the target visitor who has completed the scheduling;
[0045] According to the broadband scheduling strategy of the current communication line of the visitor with abnormal quality, the bandwidth switching amount in the target scheduling area is switched back.
[0046] In the disclosed embodiment, the first CDN node detects the response time of the current communication line of the target visitor who has completed the schedule in real time, and then determines whether the current communication line of the target visitor who has completed the schedule has any abnormality, and switches back the bandwidth of the abnormal high-speed visitor according to the previous target scheduling strategy, which is beneficial to ensuring the communication transmission quality between the node server and the user client.
[0047] According to a second aspect, an embodiment of the present disclosure provides a broadband scheduling device, which is used in a first CDN node. The device includes:
[0048] An acquisition module, used to acquire, within a target scheduling area, the bandwidth data of multiple communication lines and the bandwidth data of the current communication line of the target visitor; wherein the target visitor is each visitor among the multiple visitors, and the target scheduling area is each scheduling area among the multiple scheduling areas;
[0049] A judgment module, used to judge whether the current communication line of the target visitor is overloaded based on the bandwidth data of the current communication line of the target visitor;
[0050] A selection module is used to select a target scheduling line for a target visitor from the multiple communication lines according to a priority scheduling rule based on the broadband data of the multiple communication lines, and obtain the redundant bandwidth of the target scheduling line for the target visitor;
[0051] A generating module, used for generating a bandwidth scheduling strategy of a current communication line of a target visitor based on the bandwidth data of multiple communication lines and the bandwidth data of a current communication line of a target visitor;
[0052] The sending module is used to send the bandwidth scheduling strategy 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 strategy.
[0053] According to a third aspect, an embodiment of the present disclosure provides a bandwidth scheduling system, including:
[0054] A data configuration unit, used to configure the configuration parameters of various communication lines in a multi-line computer room;
[0055] A data collection unit, connected to the data configuration unit, for collecting bandwidth data of multiple communication lines and bandwidth data of the current communication line of the target visitor; wherein the target visitor is each visitor among the multiple visitors;
[0056] A gateway address database, connected to the data acquisition unit, for storing gateway data of various communication lines;
[0057] A first CDN node, connected to the data configuration unit and the data collection unit, and configured to execute the bandwidth scheduling method in some optional implementations of the first aspect or any corresponding implementation of the first aspect;
[0058] The second CDN node is used to receive the bandwidth scheduling strategy of the current communication line of the target visitor sent by the first CDN node and obtain gateway data of multiple communication lines from the gateway address database.
[0059] In a fourth aspect, the present invention provides a computer device, comprising: a memory and a processor, the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the bandwidth scheduling method of the first aspect or any corresponding embodiment thereof by executing the computer instructions.
[0060] In a fifth aspect, the present invention provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the bandwidth scheduling method in some optional embodiments of the above-mentioned first aspect or any corresponding embodiment thereof. BRIEF DESCRIPTION OF THE DRAWINGS
[0061] In order to more clearly illustrate the specific implementation methods of the present invention or the technical solutions in the prior art, the drawings required in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings in the following description are some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0062] Figure 1 is a schematic diagram of a flow chart of a bandwidth scheduling method according to an embodiment of the present invention;
[0063] Figure 2 is a flow chart of another bandwidth scheduling method according to an embodiment of the present invention;
[0064] Figure 3 is a flow chart of another bandwidth scheduling method according to an embodiment of the present invention;
[0065] Figure 4 is a flow chart of another bandwidth scheduling method according to an embodiment of the present invention;
[0066] Figure 5 is a flow chart of another bandwidth scheduling method according to an embodiment of the present invention;
[0067] Figure 6 is a structural block diagram of a bandwidth scheduling system according to an embodiment of the present invention;
[0068] Figure 7 is a structural block diagram of a bandwidth scheduling device according to an embodiment of the present invention;
[0069] Figure 8 It is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0070] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work 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 of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0072] In this embodiment, a bandwidth scheduling method is provided, which can be used for a server, a mobile terminal, such as a mobile phone, a tablet computer, etc. The bandwidth scheduling method in the embodiment of the present disclosure is used for a first CDN node. Figure 1 is a flow chart of a bandwidth scheduling method according to an embodiment of the present invention. Figure 1 As shown, the process includes the following steps:
[0073] Step S101, in a target scheduling area, obtaining broadband data of multiple communication lines and bandwidth data of the current communication line of a target visitor; wherein the target visitor is each visitor among the multiple visitors, and the target scheduling area is each scheduling area among the multiple scheduling areas.
[0074] Specifically, the target scheduling area is the area to be scheduled for bandwidth scheduling, for example, the target scheduling area is Chaoyang area of Beijing. The multiple communication lines are communication lines of various operators, for example, including: telecommunications lines, mobile lines, Unicom lines, long-distance lines, and radio and television lines. The target scheduling area can be each scheduling area in the multiple scheduling areas, and each scheduling area performs actions according to the same bandwidth scheduling method.
[0075] In a specific example, the bandwidth data of various communication lines include: bandwidth cost, real-time bandwidth, and response time.
[0076] Exemplarily, the bandwidth cost of each operator's communication line and the price coefficient corresponding to each communication line (the higher the coefficient, the higher the fee, which means the higher the cost) are obtained. The bandwidth cost is mainly used to calculate the bandwidth utilization rate of each communication line. The line bandwidth upper limit is shown in Table 1 below.
[0077] Table 1
[0078] Chaoyang Computer Room Telecommunications line 100G (bandwidth cost) 6(price coefficient) Chaoyang Computer Room Mobile communication line 80G (bandwidth cost) 8(price coefficient) Chaoyang Computer Room Unicom communication line 60G (bandwidth cost) 7(price coefficient) Chaoyang Computer Room Long and wide communication line 60G (bandwidth cost) 5(price coefficient)
[0079] Exemplarily, the detection delay data from the target scheduling area to various communication lines (response time of multiple communication lines) is obtained in real time, and then the service quality from the target scheduling area to other non-default lines is identified, and whether it can carry the access of the target visitor. The response time of multiple communication lines is shown in Table 2 below.
[0080] Table 2
[0081] Target dispatch area Communication lines Mean response time 3001 Telecommunication lines 80ms 3001 Mobile communication line 100ms 3002 Unicom communication line 50ms 3002 Mobile communication line 200ms
[0082] Exemplarily, the real-time bandwidths of various communication lines in the target scheduling area are obtained in real time, as shown in Table 3 below.
[0083] Table 3
[0084] engine room Real-time bandwidth Chaoyang Computer Room Telecommunications line 62G Chaoyang Computer Room Mobile communication line 75G Chaoyang Computer Room China Unicom communication line 55G Chaoyang Computer Room Long and wide communication line 82G
[0085] In another specific example, the bandwidth data of the current communication line of the target visitor includes: a gateway address, a dispatch identifier, a line number, and a real-time bandwidth.
[0086] Specifically, the gateway address is mainly stored in the gateway database, such as Figure 6 As shown, the gateway database mainly stores the IP addresses, line numbers and dispatch identifiers (ASN numbers) of communication lines of different operators.
[0087] The real-time bandwidth of the current communication line of the target visitor and the real-time bandwidth of multiple communication lines are mainly collected by the data collection unit in the bandwidth scheduling system. Figure 6 In the data collection unit 62, the real-time bandwidth of the switch port is collected and summarized to each operator's communication line; and the user access log is collected and the real-time bandwidth is summarized to the operator's communication line and ASN granularity, and the data is reported to the first CDN node (dispatching center) at the same time, and the detection delay time (response time of various communication lines) from the target dispatching area to various communication lines in the multi-line computer room is collected.
[0088] Furthermore, the target visitor is each visitor among the multiple visitors. For example, the above-mentioned data acquisition unit obtains multiple visitors being accessed by each communication line in real-time detection of the real-time bandwidth of multiple communication lines. For example, as shown in Table 4 below, each communication line corresponds to multiple visitors being accessed.
[0089] Table 4
[0090] Communication lines Number of visitors Telecommunication lines 5 Mobile Line 6 Unicom Line 5 Length and width line 3
[0091] For multiple visitors in the embodiment of the present disclosure, the same action is performed, so the target visitor is used as a representative to represent each visitor. The bandwidth data of the current communication line of the target visitor is obtained, including: gateway address, dispatch identifier, line number and real-time bandwidth, and a bandwidth data list of the target visitor is correspondingly formed.
[0092] Step S102: Based on the bandwidth data of the current communication line of the target visitor, it is determined whether the current communication line of the target visitor is overloaded.
[0093] In a specific embodiment, based on the bandwidth data of the current communication line of the target visitor, determining whether the current communication line of the target visitor is overloaded includes:
[0094] Step a1, obtaining a preset bandwidth upper limit and a preset bandwidth usage rate.
[0095] Step a2, obtaining the real-time bandwidth of the current communication line of the target visitor from the bandwidth data of the current communication line of the target visitor;
[0096] Step a3, obtaining the current bandwidth usage rate of the current communication line of the target visitor based on the ratio of the real-time bandwidth of the current communication line of the target visitor divided by the preset bandwidth upper limit;
[0097] Step a4, determining whether the current bandwidth usage rate of the current communication line of the target visitor is greater than the preset bandwidth usage rate;
[0098] Step a4: if yes, determine that the current communication line of the target visitor is overloaded;
[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 overloaded.
[0100] Specifically, given a preset bandwidth usage rate (for example, 0.9), since the real-time bandwidth of the target visitor's current communication line and the target visitor's bandwidth scheduling strategy take effect with a lag, a certain amount of redundancy is required to avoid exceeding the bandwidth cost. When the current bandwidth usage rate of the target visitor's current communication line is greater than the preset bandwidth usage rate, it is determined that the current communication line bandwidth has exceeded the bandwidth cost and a little intervention is required. If the current bandwidth usage rate of the target visitor's current communication line is less than or equal to the preset bandwidth usage rate, it is considered that the target visitor's current communication line is not running high, and the current communication line exits the scheduling process, and continues to determine whether the target visitor's current communication line exceeds the bandwidth 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 the multiple communication lines, a target scheduling line for the target visitor is selected from the multiple communication lines according to a priority scheduling rule, and the redundant bandwidth of the target scheduling line for the target visitor is obtained.
[0102] First, if the current communication line of the target visitor is out of service, the bandwidth of the current communication line of the target visitor that is out of service is pulled to the target scheduling line. The target scheduling line is selected according to the priority scheduling rule. Specifically, other communication lines with redundant bandwidth can be sorted from low to high according to the price coefficient, and the communication line with low price has higher priority.
[0103] Secondly, according to the line dimension, the real-time bandwidth of various communication lines is sorted from large to small. The larger the bandwidth, the higher the priority will be. This means that user requests are more concentrated and the scheduling effect is better.
[0104] Again, start judging from the highest priority of multiple communication lines, and judge the detection delay data (response time of multiple communication lines) from the target scheduling area to various communication lines. When 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 target visitor with high traffic volume is selected from the multiple communication lines according to the priority scheduling rules, and then the current communication line bandwidth of the target visitor with high traffic volume is taken over.
[0106] If the current communication line of the target visitor is not overloaded, it is further determined whether the current communication line of the target visitor is overloaded based on the bandwidth data of the current communication line of the next target visitor.
[0107] After the current communication line of the target visitor is selected in the above-mentioned optimal selection method, the redundant bandwidth of the target scheduling line of the target visitor is further calculated. The specific calculation method is shown in the following implementation method.
[0108] Step S104: generating a bandwidth scheduling strategy for the current communication line of the target visitor based on the bandwidth data of the multiple communication lines and the bandwidth data of the current communication line of the target visitor.
[0109] Specifically, the bandwidth scheduling strategy of the target visitor's current communication line can be further generated based on the broadband 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 strategy 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 strategy.
[0111] Specifically, the first CDN node is equivalent to a server for generating a bandwidth scheduling strategy for the current communication line, and the second CDN node is equivalent to a server deployed in a multi-line computer room.
[0112] Exemplarily, the first CDN node sends the generated bandwidth scheduling strategy for the current communication line of the target visitor to all servers (second CDN nodes) in the multi-line computer room. When the bandwidth scheduling strategy received by the second CDN node 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 identifies whether the ASN number is in the bandwidth scheduling file. If it exists, the target visitor's request needs to be pulled to the corresponding target scheduling line.
[0113] In the bandwidth scheduling method in the embodiment of the present disclosure, the first CDN node generates a bandwidth scheduling strategy for the current communication line of the target visitor who is running high, based on the broadband data of multiple communication lines and the bandwidth data of the current communication line of the target visitor, and sends it 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 strategy of the current communication line of the target visitor, without modifying the Linux kernel routing table, avoiding the risk caused by misoperation due to modification of the routing table. The embodiment of the present disclosure automatically optimizes and schedules to the optimal target scheduling line, thereby pulling the running high bandwidth to the target scheduling line, reducing bandwidth costs and improving network stability, and finally optimizing the communication transmission quality between different visitors and the node server.
[0114] In this embodiment, a bandwidth scheduling method is provided, which can be used for servers and mobile terminals, such as mobile phones and tablet computers. Figure 2 is a flow chart of a bandwidth scheduling method according to an embodiment of the present invention. Figure 2 As shown, the above step S103, based on the broadband data of multiple communication lines, selects the target scheduling line of the target visitor from the multiple communication lines according to the priority scheduling rule, and obtains the redundant bandwidth of the target scheduling line of the target visitor, including:
[0115] Step S201 , sorting the broadband costs of multiple communication lines in order from low to high to obtain a first sorting priority of the multiple communication lines.
[0116] Specifically, for example, after sorting the broadband costs of various communication lines from low to high, they are Changkuan communication lines, Telecom lines, Unicom lines and Mobile lines. Therefore, the first sorting priority is based on the bandwidth cost sorting of various communication lines, and the communication lines with low prices have a higher priority in receiving the current communication line bandwidth of high-traffic visitors.
[0117] Step S202: sorting the real-time bandwidths of the multiple communication lines in descending order to obtain a second sorting priority of the multiple communication lines.
[0118] Specifically, the real-time bandwidths of various communication lines are sorted in descending order, which are 65M, 51M, 43M, and 38M. Therefore, the second sorting priority is based on the real-time bandwidth sorting of various communication lines. The larger the bandwidth of a communication line, the higher the priority of the communication line to be pulled, indicating that user requests are more concentrated and the scheduling effect is better.
[0119] Step S203, based on the sorting results of the multiple communication lines according to the first sorting priority and the second sorting priority, gradually determine whether the response time of the target communication line is less than a preset threshold, the target communication line being 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 the multiple communication lines sorted according to the first sorting priority and the second sorting priority, it is judged whether the response time of each communication line (target communication line) is less than a preset threshold value, which can be set to 500ms. The preset threshold value is flexibly set according to the actual situation. The judgment starts from the target communication line with the highest priority. If the response time of the target communication line is less than 500ms (data is configurable), it is considered that the target communication line can carry the bandwidth of the current communication line of the high-running visitor. Otherwise, the target communication line is skipped, and the next target communication line is judged according to the sorting results of the first sorting priority and the second sorting priority.
[0122] Step S205, obtaining the real-time bandwidth, broadband cost and preset bandwidth usage rate of the target scheduling line of the target visitor.
[0123] Step S206, calculating the redundant bandwidth of the target scheduling line of the target visitor based on the real-time bandwidth, broadband cost and preset bandwidth usage rate of the target scheduling line of the target visitor.
[0124] In a specific example, the redundant bandwidth of the target scheduling line of the target visitor is calculated by the following formula: the redundant bandwidth of the target scheduling line of the target visitor = the bandwidth cost of the target scheduling line of the target visitor × the preset bandwidth utilization rate - the real-time bandwidth of the target scheduling line of the target visitor, and the redundant bandwidth of other communication lines in the sorting of the first sorting priority and the second sorting priority are traversed. When the redundant bandwidth is greater than 0, they are all listed as alternative communication lines, for example, as shown in Table 5 below.
[0125] Table 5
[0126] Line Name Line number Redundant bandwidth Price coefficient Telecommunication lines 10 20G 6 Mobile Line 11 30G 8 Length and width line 13 20G 5
[0127] The disclosed embodiment executes the above steps S201 to S206, and 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 running speed, thereby achieving accurate scheduling and ensuring the transmission quality between the node server and the visitor.
[0128] In this embodiment, a bandwidth scheduling method is provided, which can be used for a server, a mobile terminal, such as a mobile phone, a tablet computer, etc. In the above step S104, based on the broadband data of multiple communication lines and the bandwidth data of the current communication line of the target visitor, a bandwidth scheduling strategy of the current communication line of the target visitor is generated, such as Figure 3As shown, the process includes the following steps:
[0129] Step S301, obtaining the broadband traction of the current communication line of the target visitor and the redundant bandwidth of the target scheduling line of the target visitor.
[0130] In a specific example, the bandwidth pull amount is calculated by the following formula:
[0131] The bandwidth traction amount of the current communication line of the high-speed visitor = the real-time bandwidth of the current communication line of the high-speed visitor - the preset upper limit bandwidth × the scheduling upper limit ratio.
[0132] Specifically, in order to prevent the bandwidth of the communication line from increasing too quickly, a scheduling upper limit ratio is set to 0.88, and the bandwidth of the current communication line of the high-traffic visitor is scheduled as much as possible to ensure the redundancy of the communication line.
[0133] The redundant bandwidth of the target scheduling line of the target visitor is calculated by the formula in the above example: redundant bandwidth of the target scheduling line of the target visitor = bandwidth cost of the target scheduling line of the target visitor × preset bandwidth usage rate - real-time bandwidth of the target scheduling line of the target visitor.
[0134] Step S302, determining whether the redundant bandwidth of the target scheduling line of the target visitor is sufficient to undertake the broadband traction of the current communication line of the target visitor.
[0135] In a specific example, based on the real-time bandwidth of the current communication line of the target visitor, it is determined whether the redundant bandwidth of the target scheduling line of the target visitor is sufficient to undertake the broadband traction of the current communication line of the target visitor.
[0136] Specifically, for example, the real-time bandwidth of the target visitor's current communication line is 1G, while the redundant bandwidth of the target visitor's target scheduling line is 800M, which means that the target visitor's current communication line can take on 80% of the bandwidth, and the remaining 20% of the bandwidth continues to look 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 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 target visitor, and 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.
[0138] Specifically, for example, 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 withheld from the redundant bandwidth of the target scheduling line of the target visitor. The first bandwidth amount = the bandwidth traction amount of the target visitor's current communication line × the first scheduling ratio of 80%.
[0139] Step S304: If not, calculate the broadband traction amount of the current communication line of the high-speed visitor minus the first bandwidth amount to obtain the second bandwidth amount.
[0140] Specifically, if not, the bandwidth traction amount of the current communication line of the high-speed visitor minus the first bandwidth amount=the second bandwidth amount.
[0141] Step S305, returning broadband data based on multiple communication lines, selecting a target scheduling line for a target visitor from the multiple communication lines according to a priority scheduling rule, and obtaining redundant bandwidth of the target scheduling line for the target visitor.
[0142] Specifically, the current communication line of the target visitor can undertake 80% of the bandwidth of the first scheduling ratio, and the remaining 20% of the bandwidth continues to look for target scheduling lines for other target visitors. By returning broadband data based on multiple communication lines, the target scheduling line of the target visitor is selected from the multiple communication lines according to the priority scheduling rule, and the redundant bandwidth of the target scheduling line of the target visitor is obtained in step S103, and the target scheduling lines of other target visitors are further obtained.
[0143] Step S306: withhold a second bandwidth amount from the redundant bandwidth of the reselected target scheduling line according to a second scheduling ratio, where the second scheduling ratio is calculated based on the first scheduling ratio.
[0144] Specifically, for example, 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 broadband traction amount of the current communication line of the high-travel visitor) is withheld from the redundant bandwidth of the target scheduling line.
[0145] Step S307, generating a broadband scheduling file of the bandwidth scheduling strategy of the current communication line of the target visitor, wherein the scheduling identifier, gateway address, line number and the first scheduling ratio or the second scheduling ratio of the current communication line of the target visitor are loaded into the bandwidth scheduling file.
[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 ID Original communication line Target dispatch line Scheduling ratio 30001 Telecommunication lines Mobile communication line 100% 30002 Telecommunication lines Unicom communication line 100% 30003 Telecommunication lines Mobile communication line 100% 30003 Telecommunication lines Unicom communication line 100%
[0149] The bandwidth scheduling file is loaded with the scheduling identifier and gateway address of the current communication line of the target visitor, the line number and the first scheduling ratio or the second scheduling ratio, as shown in Table 7 below.
[0150] Table 7
[0151] Dispatch ID Line number Gateway Address Scheduling 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, the bandwidth scheduling file is loaded with the scheduling identifier, gateway address, and line number of the target visitor's current communication line, which is beneficial for the second CDN node to schedule the default line of the target visitor's current communication line to the target scheduling line, thereby providing better service quality.
[0153] In the embodiment of the present disclosure, by executing the above steps S301 to S307, the first CDN node generates a bandwidth scheduling strategy for the current communication line of the target visitor based on the specific broadband data of multiple communication lines and the specific bandwidth data of the current communication line of the target visitor, which is conducive to the second CDN node to pull the high bandwidth to the target scheduling line according to the bandwidth scheduling strategy of the current communication line of the target visitor, thereby reducing bandwidth costs and improving network stability, and optimizing the communication transmission quality between different visitors and the node server end.
[0154] In this embodiment, a bandwidth scheduling method is provided, which can be used for servers, mobile terminals, such as mobile phones, tablet computers, etc. Figure 4 As shown, it also includes:
[0155] Step S401: In the target scheduling area, it is determined whether the current communication line of the target visitor who has completed scheduling can restore the bandwidth.
[0156] In a specific example, in the target scheduling area, determining whether the current communication line of the target visitor who has completed scheduling can restore the bandwidth includes:
[0157] Step b1, detecting in real time within the target scheduling area the current bandwidth usage rate of the current communication line of the target visitor who has completed the scheduling;
[0158] Step b2, within the target scheduling area, based on the current bandwidth usage rate of the current communication line of the target visitor who has completed the scheduling;
[0159] Step b3, current bandwidth usage rate of the current communication line of the target visitor who has completed scheduling;
[0160] Step b4, determining whether the current bandwidth usage rate of the current communication line of the target visitor who has completed scheduling is less than the bandwidth recovery threshold;
[0161] Step b5: If yes, determine whether the current communication line of the target visitor that has completed scheduling can restore the bandwidth. If not, the current bandwidth usage rate of the current communication line of the target visitor that has completed scheduling is not less than the bandwidth recovery threshold, and continue to determine whether the current bandwidth usage rate of the current communication line of the next target visitor that has completed scheduling is less than the bandwidth recovery threshold.
[0162] Step S402: If yes, the bandwidth switching amount in the target scheduling area is calculated based on the bandwidth data of the current communication line of the target visitor who has completed the scheduling.
[0163] In a specific example, the bandwidth switching back amount in 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 who has completed scheduling.
[0164] Specifically, the bandwidth recovery threshold may be set to 0.9, which may be flexibly set based on actual conditions.
[0165] Exemplarily, the bandwidth switching amount in the target scheduling area is calculated by the following formula:
[0166] The switchback bandwidth of the target scheduling area = the bandwidth cost of the current communication line of the target visitor who has completed the scheduling × the bandwidth recovery threshold - the real-time bandwidth of the current communication line of the target visitor who has completed the scheduling. The bandwidth recovery threshold can be set to 0.9, which 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 that has completed scheduling can restore the bandwidth.
[0168] Step S403, obtaining the response time of the target dispatching line of the target visitor.
[0169] Specifically, according to the current communication line of the target visitor who has completed the scheduling, the response time of the target scheduling line of each visitor is obtained.
[0170] Step S404: Generate a bandwidth recovery strategy in the target scheduling area based on the response time of the target scheduling line of the target visitor and the bandwidth switching back amount in the target scheduling area.
[0171] Specifically, based on the bandwidth switching back amount in the target scheduling area, the response time of the target scheduling lines of all target visitors in the target scheduling area is counted and sorted in order from large to small. According to the bandwidth switching back amount, the target scheduling lines corresponding to the response time of the target scheduling lines of the target visitors ranked later are gradually restored according to the bandwidth recovery ratio, and then the bandwidth recovery strategy in the target scheduling area is obtained.
[0172] Step S405: Send the bandwidth recovery strategy to the second CDN node, so that the second CDN node recovers the current communication line of the target visitor that meets the bandwidth recovery condition according to the bandwidth recovery strategy.
[0173] In the bandwidth scheduling method of the embodiment of the present disclosure, the first CDN node detects in real time the current bandwidth usage rate of the current communication line of the target visitor who has completed the scheduling, and then determines whether the current communication line of the target visitor who has completed the scheduling can be restored normally, and generates a bandwidth recovery strategy for the target scheduling area, which is beneficial to ensuring the communication transmission quality between the node server and the user client.
[0174] In this embodiment, a bandwidth scheduling method is provided, which can be used for servers, mobile terminals, such as mobile phones, tablet computers, etc. Figure 5 As shown, it also includes:
[0175] Step S501: In a target scheduling area, it is determined whether a quality abnormality occurs in the current communication line of a target visitor who has completed scheduling.
[0176] In a specific example, in the target scheduling area, determining whether the current communication line of the target visitor who has completed scheduling has a quality abnormality includes:
[0177] Step c1, detecting in real time the response time of the current communication line of the target visitor who has completed the scheduling in the target scheduling area;
[0178] Step c2, determining 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 an abnormality occurs in the current communication line of the target visitor who has completed scheduling in the target scheduling area.
[0180] If not, it is determined that no abnormality occurs in the current communication line of the target visitor who has completed the scheduling in the target scheduling area.
[0181] Step S502: If yes, the bandwidth switching amount in the target scheduling area is calculated based on the bandwidth data of the current communication line of the target visitor who has completed the scheduling.
[0182] In a specific example, the bandwidth switching back amount in 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 who has completed scheduling.
[0183] Specifically, the bandwidth recovery threshold may be set to 0.9, which may be flexibly set based on actual conditions.
[0184] Exemplarily, the bandwidth switching amount in the target scheduling area is calculated by the following formula:
[0185] The switchback bandwidth amount of the target scheduling area=the bandwidth cost of the current communication line of the target visitor who has completed the scheduling×the bandwidth recovery threshold−the real-time bandwidth of the current communication line of the target visitor who has completed the scheduling.
[0186] Step S503: switching back the bandwidth within the target scheduling area according to the broadband scheduling strategy of the current communication line of the high-speed visitor with abnormal quality.
[0187] Specifically, the bandwidth scheduling strategy of 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 the embodiment of the present disclosure, the first CDN node detects in real time the response time of the current communication line of the target visitor who has completed the scheduling, and then determines whether the current communication line of the target visitor who has completed the scheduling has an abnormality, and switches back the bandwidth of the abnormal high-speed visitor according to the previous target scheduling strategy, which is beneficial to ensuring the communication transmission quality between the node server and the user client.
[0189] Based on the same concept, the embodiment of the present disclosure also provides a bandwidth scheduling system, such as Figure 6 As shown, it includes: a data configuration unit 61, a data collection 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 computer room.
[0191] Specifically, the data configuration unit mainly maintains the relationship between the switch port and the communication lines of different operators, the bandwidth cost and bandwidth cost coefficient of each operator's communication line. It manages the line information of the multi-line computer room and numbers each line. The number range is 10-63, and the line numbers in the same multi-line computer room are not allowed to be repeated.
[0192] The data collection unit is connected to the data configuration unit and 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 visitor among the multiple visitors.
[0193] Specifically, the data collection unit is mainly responsible for collecting switch port bandwidth and aggregating it to the operator communication line; collecting user access logs and aggregating the bandwidth to the granularity of the operator communication line and ASN, and reporting the data to the first CDN node (dispatching center).
[0194] For example, in a three-line computer room, the port data of each switch is collected in real time, and the real-time bandwidth data of each operator line is collected in real time based on the relationship between the switch bandwidth and the operator's communication line. From the access log of the current communication line accessed by the target visitor, the real-time bandwidth of the target visitor is collected and counted every 1 minute.
[0195] The data collection 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's IP recorded in the user log, and aggregate the bandwidth to the granularity of ASN. The final data relationship is (operator communication line, ASN number, real-time bandwidth).
[0196] Wherein, the gateway address database is connected to the data acquisition unit and is used to store gateway data of various communication lines.
[0197] Specifically, the gateway address database mainly stores IP segments of communication lines of various operators and ASN numbers (dispatch identifiers) of various communication lines.
[0198] The first CDN node is connected to the data configuration unit and the data collection unit, and is used to execute the bandwidth scheduling method in the above embodiment.
[0199] Specifically, the first CDN node generates a bandwidth scheduling file of the bandwidth scheduling strategy, loads the scheduling identifier, gateway address, line number and first scheduling ratio or second scheduling ratio of the current communication line of the target visitor into the bandwidth scheduling file, and issues the bandwidth scheduling file.
[0200] The second CDN node is used to receive the bandwidth scheduling strategy of the current communication line of the target visitor sent by the first CDN node and obtain gateway data of multiple communication lines from the gateway address database.
[0201] In some optional implementations, network data packets of multiple communication lines are sent to the second CDN node via a gateway address database.
[0202] Specifically, the second CDN node marks the number of the target scheduling line in the TOS field (Type-of-Service) in the received network data packet (IP data packet), for example, as shown in Table 8 below.
[0203] Table 8
[0204] Line Name Line number Telecommunication lines 10 Mobile Line 11 Unicom Line 12 Length and width line 13 Broadcasting and Television Lines 14
[0205] The second CDN node provides the Linux network layer with parsing based on the TOS label in the IP data packet, and matches the corresponding gateway address according to the parsed TOS. After matching the gateway address, the IP data packet bypasses the routing table and responds from the specified target scheduling line.
[0206] In this embodiment, a broadband scheduling device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As described below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
[0207] The embodiment of the present disclosure provides a broadband scheduling device for a first CDN node, such as Figure 7 As shown, the device comprises:
[0208] The acquisition module 71 is used to acquire the bandwidth data of multiple communication lines and the bandwidth data of the current communication line of the target visitor in the target scheduling area; wherein the target visitor is each visitor among the multiple visitors, and the target scheduling area is each scheduling area among the multiple scheduling areas;
[0209] A judgment module 72, for judging whether the current communication line of the target visitor is overloaded based on the bandwidth data of the current communication line of the target visitor;
[0210] A selection module 73 is used to select a target scheduling line for a target visitor from the multiple communication lines according to a priority scheduling rule based on the broadband data of the multiple communication lines, and obtain the redundant bandwidth of the target scheduling line for the target visitor;
[0211] A generating module 74, configured to generate a bandwidth scheduling strategy for the current communication line of the target visitor based on the bandwidth data of the 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 strategy 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 strategy.
[0213] In some optional implementations, the bandwidth data of the various communication lines include: broadband cost, real-time bandwidth, response time;
[0214] Based on the broadband data of multiple communication lines, the selection module 73 includes:
[0215] A first sorting submodule is used to sort the broadband costs of the multiple communication lines in order from low to high to obtain a first sorting priority of the multiple communication lines;
[0216] A second sorting submodule is used to sort the real-time bandwidths of the multiple communication lines in descending order to obtain a second sorting priority of the multiple communication lines;
[0217] A line judgment submodule, for gradually judging whether a response time of a target communication line is less than a preset threshold value based on the sorting results of the multiple communication lines according to the first sorting priority and the second sorting priority, the target communication line being each of the multiple communication lines;
[0218] A line determination submodule, for, if yes, using the target communication line as the target scheduling line for the target visitor;
[0219] A data acquisition submodule, for acquiring the real-time bandwidth, broadband cost and preset bandwidth usage rate of the target dispatching line of the target visitor;
[0220] The data calculation submodule is used to calculate the redundant bandwidth of the target scheduling line of the target visitor based on the real-time bandwidth, broadband cost and preset bandwidth usage rate of the target scheduling line of the target visitor.
[0221] In some optional implementations, the bandwidth data of the multiple communication lines include: broadband cost, real-time bandwidth, response time, and the bandwidth data of the current communication line of the target visitor includes: gateway address, dispatch identifier, line number, and real-time bandwidth;
[0222] In some optional implementations, the generating module 74 includes:
[0223] The data acquisition submodule is used to obtain the broadband traction of the current communication line of the high-speed visitor and the redundant bandwidth of the target scheduling line of the target visitor;
[0224] The data judgment submodule is used to judge whether the redundant bandwidth of the target dispatching line of the target visitor is sufficient to undertake the broadband traction of the current communication line of the high-running visitor;
[0225] a bandwidth deduction submodule, for pre-deducting a first bandwidth amount from the redundant bandwidth of the target scheduling line of the target visitor according to the first scheduling ratio, the first bandwidth amount being calculated based on the first scheduling ratio and the broadband traction amount of the current communication line of the high-running visitor, the first scheduling ratio being calculated based on the redundant bandwidth of the target scheduling line of the target visitor and the real-time bandwidth of the target visitor;
[0226] The bandwidth calculation submodule is used to calculate the broadband traction amount of the current communication line of the high-running visitor minus the first bandwidth amount to obtain a second bandwidth amount;
[0227] A data return submodule, which is used to return broadband data based on multiple communication lines, select a target scheduling line for a target visitor from the multiple communication lines according to a priority scheduling rule, and obtain redundant bandwidth of the target scheduling line for the target visitor;
[0228] A data calculation submodule, configured to pre-deduct a second bandwidth amount from the redundant bandwidth of the re-selected target scheduling line according to a second scheduling ratio, wherein the second scheduling ratio is calculated based on the first scheduling ratio;
[0229] The data generation submodule is used to generate a broadband scheduling file of the bandwidth scheduling strategy of the current communication line of the target visitor, and the bandwidth scheduling file is loaded with the scheduling identifier, gateway address, line number and the first scheduling ratio or the second scheduling ratio of the current communication line of the target visitor.
[0230] In some optional implementations, the bandwidth scheduling device in the embodiment of the present disclosure further includes:
[0231] The bandwidth recovery judgment module is used to judge whether the current communication line of the target visitor who has completed the scheduling can restore the bandwidth within the target scheduling area;
[0232] A first bandwidth calculation module is used to calculate the bandwidth switching amount in the target scheduling area based on the bandwidth data of the current communication line of the target visitor who has completed the scheduling;
[0233] A response time acquisition module is used to obtain the response time of the target dispatching line of the target visitor;
[0234] A recovery strategy generation module, used to generate a bandwidth recovery strategy in a target scheduling area based on the response time of a target scheduling line of a target visitor and the bandwidth switching back 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 recovers the current communication line of the target visitor who meets the bandwidth recovery condition according to the bandwidth recovery strategy.
[0236] In some optional implementations, the recovery strategy generation module includes:
[0237] A sorting submodule is used to sort the response times of the target scheduling routes of the target visitors in descending order, and obtain the target scheduling routes of the visitors with the lowest sorting;
[0238] The switching back submodule is used to gradually switch back the bandwidth switching amount in the target scheduling area from the target scheduling lines of the visitors with the lower ranking according to the switching back ratio until the bandwidth switching back amount in the target scheduling area is completely switched back.
[0239] In some optional implementations, the bandwidth scheduling method in the embodiment of the present disclosure further includes:
[0240] The quality abnormality judgment module is used to judge whether the current communication line of the target visitor who has completed the scheduling has a quality abnormality in the target scheduling area;
[0241] A switching back data calculation module, used to calculate the bandwidth switching back amount in 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 broadband scheduling strategy of the current communication line of the high-speed visitor with abnormal quality.
[0243] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.
[0244] The bandwidth scheduling device in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.
[0245] The embodiment of the present invention further provides a computer device having the above-mentioned bandwidth scheduling device.
[0246] See also Figure 8 , Figure 8 is a schematic diagram of the structure of a computer device provided by an optional embodiment of the present invention, such as Figure 8 As shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process the instructions executed in the computer device, including instructions stored in or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 8 A processor 10 is taken as an example.
[0247] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic or any combination thereof.
[0248] The memory 20 stores instructions executable by at least one processor 10, so that at least one processor 10 executes the method shown in the above embodiment.
[0249] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0250] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memory.
[0251] The computer device further comprises a communication interface 30 for the computer device to communicate with other devices or a communication network.
[0252] The embodiment of the present invention also provides a computer-readable storage medium. The method according to the embodiment of the present invention can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium through a network download, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state hard disk, etc.; further, the storage medium can also include a combination of the above types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.
[0253] Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations are all within the scope defined by the appended claims.
Claims
1. A bandwidth scheduling method, characterized in that: For a first CDN node, the method includes: In the target scheduling area, obtaining the bandwidth data of multiple communication lines and the bandwidth data of the current communication line of the target visitor; wherein the target visitor is each visitor among the multiple visitors, and the target scheduling area is each scheduling area among the multiple scheduling areas; Based on the bandwidth data of the current communication line of the target visitor, determining whether the current communication line of the target visitor is overloaded; If yes, 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 rule, and obtain the redundant bandwidth of the target scheduling line of the target visitor; Based on the bandwidth data of the multiple communication lines and the bandwidth data of the current communication line of the target visitor, a bandwidth scheduling strategy of the current communication line of the target visitor is generated; The bandwidth scheduling strategy is sent 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 strategy.
2. The method according to claim 1, characterized in that The broadband data of the plurality of communication lines include: broadband cost, real-time bandwidth, and response time; Based on the broadband data of the multiple communication lines, selecting the target scheduling line of the target visitor from the multiple communication lines according to the priority scheduling rule, and obtaining the redundant bandwidth of the target scheduling line of the target visitor, including: sorting the broadband costs of the plurality of communication lines in order from low to high to obtain a first sorting priority of the plurality of communication lines; sorting the real-time bandwidths of the plurality of communication lines in descending order to obtain a second sorting priority of the plurality of communication lines; Based on the sorting results of the multiple communication lines according to the first sorting priority and the second sorting priority, gradually determining whether the response time of the target communication line is less than a preset threshold, the target communication line being each of the multiple communication lines; If so, taking the target communication line as the target dispatch line for the target visitor; Obtain the real-time bandwidth, broadband cost and preset bandwidth usage of the target dispatch line of the target visitor; Based on the real-time bandwidth, broadband cost and preset bandwidth usage rate of the target scheduling line of the target visitor, the redundant bandwidth of the target scheduling line of the target visitor is calculated.
3. The method according to claim 1 or 2, characterized in that: The broadband data of the multiple communication lines include: broadband cost, real-time bandwidth, response time, and the bandwidth data of the current communication line of the target visitor includes: gateway address, dispatch identifier, line number and real-time bandwidth; Based on the broadband data of the multiple communication lines and the bandwidth data of the current communication line of the target visitor, a bandwidth scheduling strategy of the current communication line of the target visitor is generated, including: Obtain the broadband traction of the current communication line of the high-travel visitor and the redundant bandwidth of the target dispatch line of the target visitor; Determine whether the redundant bandwidth of the target dispatching line of the target visitor is sufficient to undertake the broadband traction of the current communication line of the high-running visitor; If so, pre-deduct a first bandwidth amount from the redundant bandwidth of the target scheduling line of the target visitor according to the first scheduling ratio, the first bandwidth amount being calculated based on the first scheduling ratio and the broadband traction amount of the current communication line of the high-running visitor, the first scheduling ratio being 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 broadband traction amount of the current communication line of the high-running visitor minus the first bandwidth amount to obtain a second bandwidth amount; Returning the broadband data based on the multiple communication lines, selecting a target scheduling line for a target visitor from the multiple communication lines according to a priority scheduling rule, and obtaining the redundant bandwidth of the target scheduling line for the target visitor; pre-deducting the second bandwidth amount from the redundant bandwidth of the re-selected target scheduling line according to a second scheduling ratio, wherein the second scheduling ratio is calculated based on the first scheduling ratio; A broadband scheduling file of a bandwidth scheduling strategy for a current communication line of a target visitor is generated, wherein a scheduling identifier, a gateway address, a line number, and the first scheduling ratio or the second scheduling ratio of the current communication line of the target visitor are loaded into the bandwidth scheduling file.
4. The method according to claim 1, characterized in that: Also includes: In the target scheduling area, determine whether the current communication line of the target visitor who has completed scheduling can restore the bandwidth; If so, based on the bandwidth data of the current communication line of the target visitor who has completed the scheduling, the bandwidth switching amount in the target scheduling area is calculated; Obtaining the response time of the target dispatching line of the target visitor; Generate a bandwidth recovery strategy within the target scheduling area based on the response time of the target scheduling line of the target visitor and the bandwidth switching back amount within the target scheduling area; The bandwidth recovery strategy is sent to the second CDN node, so that the second CDN node recovers the current communication line of the target visitor that meets the bandwidth recovery condition according to the bandwidth recovery strategy.
5. The method according to claim 4, characterized in that Based on the response time of the target scheduling line of the target visitor and the bandwidth switching back amount in the target scheduling area, a bandwidth recovery strategy in the target scheduling area is generated, including: sorting the response times of the target scheduling routes of the target visitors in descending order, and obtaining the target scheduling routes of the visitors ranked later; From the target scheduling lines of the visitors ranked later, the bandwidth switching back amount in the target scheduling area is gradually switched back according to the switching back ratio until the bandwidth switching back amount in the target scheduling area is completely switched back.
6. The method according to claim 1, characterized in that Also includes: In the target dispatching area, determine whether the current communication line of the target visitor who has completed the dispatching has quality abnormality; If so, based on the bandwidth data of the current communication line of the target visitor who has completed the scheduling, the bandwidth switching amount in the target scheduling area is calculated; The bandwidth switching amount in the target scheduling area is switched back according to the broadband scheduling strategy of the current communication line of the high-speed visitor with abnormal quality.
7. A broadband scheduling device, characterized in that: For a first CDN node, the device includes: An acquisition module, used to acquire, within a target scheduling area, the bandwidth data of multiple communication lines and the bandwidth data of the current communication line of a target visitor; wherein the target visitor is each visitor among the multiple visitors, and the target scheduling area is each scheduling area among the multiple scheduling areas; A judgment module, used to judge whether the current communication line of the target visitor is overloaded based on the bandwidth data of the current communication line of the target visitor; A selection module, for selecting, based on the broadband data of the multiple communication lines, a target scheduling line for the target visitor from the multiple communication lines according to a priority scheduling rule, and obtaining a redundant bandwidth of the target scheduling line for the target visitor; A generating module, configured to generate a bandwidth scheduling strategy for the current communication line of the target visitor based on the bandwidth 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 strategy 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 strategy.
8. A bandwidth scheduling system, characterized in that: include: A data configuration unit, used to configure the configuration parameters of various communication lines in a multi-line computer room; A data collection unit connected to the data configuration unit, used to collect 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 visitor among the multiple visitors; A gateway address database, connected to the data acquisition unit, and used to store the gateway data of the multiple communication lines; A first CDN node, connected to the data configuration unit and the data acquisition unit, and configured to execute the bandwidth scheduling method according to any one of claims 1 to 6; The second CDN node is used to receive the bandwidth scheduling strategy of the current communication line of the target visitor sent by the first CDN node and obtain the gateway data of the multiple communication lines from the gateway address database.
9. A computer device, characterized in that: include: 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 bandwidth scheduling method according to any one of claims 1 to 6 by executing the computer instructions.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the bandwidth scheduling method according to any one of claims 1 to 6.
Citation Information
Patent Citations
CDN bandwidth balancing method, CDN control center and system
CN103746934A
Resource scheduling method and system
CN110198344A
Multi-line machine room bandwidth scheduling method, device, equipment and medium
CN114430375A
CDN edge IP network quality scheduling method, device, equipment and medium
CN117880105A
Method, system and device for CDN scheduling, and storage medium
US20220407914A1