Request scheduling method, device and equipment for content distribution network service and medium

By integrating real-time and pre-allocated bandwidth using cache records, the method addresses CDN service instability caused by inaccurate bandwidth estimation, stabilizing nodes and enhancing service quality.

CN120321301APending Publication Date: 2025-07-15CHINA TELECOM CLOUD TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510550728.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-28
Publication Date
2025-07-15

AI Technical Summary

Technical Problem

In hyper-line scheduling, the real-time bandwidth effective delay causes the acquired redundant bandwidth to be unable to accurately describe the actual redundant capability of the node, resulting in insufficient redundant bandwidth of the incoming node, affecting node stability and CDN service quality.

Method used

By obtaining the cache record of the call-out network node, it is determined whether the call-out network node exists in the resource pool, and based on its actual use bandwidth and redundant bandwidth, a more accurate target redundant bandwidth is calculated to determine whether the request is sent to the call-out network node for processing, and the cache record is updated to improve real-time.

Benefits of technology

It improves the stability of the incoming network nodes, reduces node fluctuations, improves the quality of CDN services, and requires only a little memory space to achieve more accurate bandwidth scheduling.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120321301A_ABST
    Figure CN120321301A_ABST
Patent Text Reader

Abstract

The present invention relates to the technical field of content delivery network services, and discloses a request scheduling method, apparatus and device for a content delivery network service, and a medium, the request scheduling method for the content delivery network service comprising: obtaining a callout network node and a first target bandwidth, and when the callout network node has a first cache record, sending the first cache record to the callout network node; determining a first target redundant bandwidth according to the first redundant bandwidth and the second redundant bandwidth, and when the first target redundant bandwidth is greater than or equal to the first target bandwidth, determining a second target redundant bandwidth when the first target redundant bandwidth is greater than or equal to the second target bandwidth, and sending a request corresponding to the first target bandwidth to the first call-in network node, and updating the first cache record. According to the invention, under the condition that the condition is met, the pre-occupied bandwidth is superposed on the bandwidth which is not used in real time to obtain the first target redundant bandwidth, so that the accuracy of the first target redundant bandwidth is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of content delivery network services, and in particular to a request scheduling method, apparatus, device and medium for content delivery network services. Background Art

[0002] With the development of computer networks, users pay more and more attention to the response speed of network resources. However, due to the increase in the number of user requests during peak periods, the pressure on the server side suddenly increases, which will greatly affect the user's access quality.

[0003] CDN (Content Delivery Network) service is used to publish the content corresponding to user requests to the network edge nodes closest to the users, so that the users can obtain the required content nearby, thereby improving the response speed of users accessing the website.

[0004] The over-line scheduling of CDN service is a resource scheduling mechanism for dealing with the situation where the node bandwidth usage exceeds the upper limit (i.e., over-line). During the over-line scheduling process, when judging the redundant bandwidth of the incoming node (i.e., the additional bandwidth resources outside the normal service bandwidth requirements), due to the time delay of the real-time bandwidth taking effect and the untimely update of the real-time bandwidth, the obtained redundant bandwidth cannot accurately describe the actual redundant capacity of the node. If the real-time obtained redundant bandwidth is still used as the limiting condition for the incoming node, the redundant bandwidth of the incoming node will be overestimated, resulting in the redundant bandwidth of the incoming node being insufficient to support user requests, and the user requests have to be sent to other incoming nodes for processing, which will cause fluctuations in the incoming nodes, not only affecting the stability of a single node, but also possibly affecting the quality of the entire CDN service. Summary of the Invention

[0005] In view of this, the present invention provides a request scheduling method, apparatus, device and medium for content delivery network services to solve the problem that the obtained redundant bandwidth in the over-line scheduling of CDN service cannot accurately describe the actual redundant capacity of the node.

[0006] In a first aspect, the present invention provides a request scheduling method for a content delivery network service, including: obtaining an outgoing network node and a corresponding first target bandwidth, and determining whether there is a first cache record for the outgoing network node; the outgoing network node is a network node in the domain name area corresponding to the content delivery network service where the first actual used bandwidth exceeds the first real-time bandwidth upper limit, the first target bandwidth is the bandwidth amount by which the first actual used bandwidth exceeds the first real-time bandwidth upper limit, and the first cache record stores the bandwidth scheduling information of the outgoing network node cached by the user; if there is a first cache record for the outgoing network node, determining whether the first incoming network node in the first cache record exists in the resource pool corresponding to the domain name area, and determining whether the update duration of the first cache record exceeds a preset time period; if the first incoming network node corresponding to the first cache record exists in the resource pool corresponding to the domain name area, and the update duration of the first cache record does not exceed the preset time period, determining whether the second actual used bandwidth of the first incoming network node exceeds the second real-time bandwidth upper limit; if the second actual used bandwidth of the first incoming network node does not exceed the second real-time bandwidth upper limit, determining the first target redundant bandwidth of the first incoming network node according to the first redundant bandwidth and the second redundant bandwidth of the first incoming network node; the first redundant bandwidth is the bandwidth not used in real time, and the second redundant bandwidth is the pre-occupied bandwidth corresponding to the first cache record; determining whether the first target redundant bandwidth is greater than or equal to the first target bandwidth, and if the first target redundant bandwidth is greater than or equal to the first target bandwidth, sending the request corresponding to the first target bandwidth to the first incoming network node, so that the first incoming network node processes the request using the first target redundant bandwidth and updates the first cache record.

[0007] The present invention obtains the out-network node of the network node in the domain name area corresponding to the content distribution network service whose first actual used bandwidth exceeds the first real-time bandwidth upper limit and the first target bandwidth representing the excess amount, and determines whether the out-network node has a first cache record. If the out-network node has a first cache record, it indicates that there has been a situation of bandwidth overage for this out-network node before, and a corresponding first in-network node has been allocated for the out-network node. Determine whether the first in-network node in the first cache record exists in the resource pool corresponding to the domain name area. If the first in-network node in the first cache record exists in the resource pool corresponding to the domain name area, it indicates that the first in-network node still belongs to the resources in use in the domain name area. Determine whether the update duration of the first cache record exceeds a preset time period; if the update duration of the first cache record does not exceed the preset time period, it indicates that the first cache record is being continuously updated. Determine whether the second actual used bandwidth of the first in-network node exceeds the second real-time bandwidth upper limit. If the second actual used bandwidth of the first in-network node does not exceed the second real-time bandwidth upper limit, it indicates that the first in-network node has unused bandwidth. Therefore, the first in-network node can be used to undertake the requests that the out-network node needs to transfer out. According to the first redundant bandwidth of the real-time unused bandwidth of the first in-network node and the second redundant bandwidth of the pre-occupied bandwidth corresponding to the first cache record, determine the first target redundant bandwidth of the first in-network node. Since the bandwidth that needs to be scheduled in the first cache record may not have taken effect yet, it is necessary to add the bandwidth that has not taken effect but has been pre-occupied to the real-time unused bandwidth to offset the time delay of bandwidth taking effect, so that the obtained first target redundant bandwidth is more accurate. Determine whether the first target redundant bandwidth is greater than or equal to the first target bandwidth. If the first target redundant bandwidth is greater than or equal to the first target bandwidth, it indicates that the actual unused bandwidth (the first target redundant bandwidth) of the first in-network node is sufficient to undertake the requests corresponding to the first target bandwidth that the out-network node needs to transfer out. Therefore, send the requests corresponding to the first target bandwidth to the first in-network node, so that the first in-network node uses the first target redundant bandwidth to process the requests and updates the first cache record. Update the first cache record so that when the first cache record is needed again later, a more accurate cache record can be obtained, improving the real-time performance of the first cache record. Compared with the related technology, the present invention, by introducing the method of the first cache record, only needs to consume a little extra memory space to record the previous out-information and in-information, and can better solve the problem that there is a deviation in bandwidth redundancy calculation due to the time delay of bandwidth taking effect when the DNS service makes a decision. Thus, there is no need to send the requests to other in-network nodes for processing, reducing the fluctuation of the first in-network node, improving the stability of the work of the first in-network node, and improving the quality of the entire CDN service.

[0008] In an optional implementation, the request scheduling method for content distribution network service further includes: if the first cache record does not exist in the call-out network node, according to the hash value corresponding to the name of the domain name zone, querying the second call-in network node that meets the target condition in the preset resource pool, sending the request corresponding to the first target bandwidth to the second call-in network node, so that the second call-in network node processes the request and creates a second cache record; the target condition is that the host group redundant bandwidth is greater than or equal to the first target bandwidth, and the node redundant bandwidth is greater than or equal to the first target bandwidth; if the first call-in network node in the first cache record does not exist in the resource pool corresponding to the domain name zone, deleting the first cache record, querying the second call-in network node that meets the target condition in the preset resource pool according to the hash value corresponding to the name of the domain name zone, sending the request corresponding to the first target bandwidth to the second call-in network node, so that the second call-in network node processes the request and creates a second cache record; the target condition is that the host group redundant bandwidth is greater than or equal to the first target bandwidth, and the node redundant bandwidth is greater than or equal to the first target bandwidth. is greater than or equal to the first target bandwidth; if the update time of the first cache record exceeds the preset time period, the first cache record is deleted, and according to the hash value corresponding to the name of the domain name area, a second incoming network node that meets the target condition is queried in the preset resource pool, and a request corresponding to the first target bandwidth is sent to the second incoming network node, so that the second incoming network node processes the request and creates a second cache record; the target condition is that the redundant bandwidth of the host group is greater than or equal to the first target bandwidth, and the redundant bandwidth of the node is greater than or equal to the first target bandwidth; if the second actual used bandwidth of the first incoming network node exceeds the second real-time bandwidth upper limit, the first cache record is deleted, and according to the hash value corresponding to the name of the domain name area, a second incoming network node that meets the target condition is queried in the preset resource pool, and a request corresponding to the first target bandwidth is sent to the second incoming network node, so that the second incoming network node processes the request and creates a second cache record; the target condition is that the redundant bandwidth of the host group is greater than or equal to the first target bandwidth, and the redundant bandwidth of the node is greater than or equal to the first target bandwidth.

[0009] In the present invention, if the first cache record does not exist in the called-out network node, it means that the called-out network node has not exceeded the line before. Therefore, according to the hash value corresponding to the name of the domain name area, the second called-in network node that meets the target conditions is queried in the preset resource pool, and the request corresponding to the first target bandwidth is sent to the second called-in network node, so that the second called-in network node processes the request and creates a second cache record, so that when it needs to be scheduled again later, the second cache record can be directly obtained. If the first called-in network node in the first cache record does not exist in the resource pool corresponding to the domain name area, it means that the domain name area no longer uses the first called-in network node for service. Therefore, the first cache record is useless, and the first cache record is deleted, and then the second called-in network node that meets the target conditions is queried. If the update time of the first cache record exceeds the preset time period, it means that the first cache record has exceeded the service life, and the first cache record is deleted, and then the second called-in network node that meets the target conditions is queried. If the second actual used bandwidth of the first incoming network node exceeds the second real-time bandwidth upper limit, it means that the first incoming network node has exceeded the line, so the first incoming network node will no longer be called according to the first cache record, the first cache record will be deleted, and then the second incoming network node that meets the target conditions will be queried.

[0010] In an optional implementation manner, the request scheduling method for content distribution network service further includes: if the first target redundant bandwidth is less than the first target bandwidth, determining whether the first target redundant bandwidth is less than a preset real-time bandwidth lower limit; if the first target redundant bandwidth is less than the preset real-time bandwidth lower limit, deleting the first cache record; searching for a second incoming network node that meets the target condition in a preset resource pool according to a hash value corresponding to the name of the domain name zone; sending a request corresponding to the first target bandwidth to the second incoming network node, so that the second incoming network node processes the request and creates a second cache record; the target condition is that the host group redundant bandwidth is greater than or equal to the first target bandwidth, and the node redundant bandwidth is greater than or equal to the first target bandwidth; if the first target redundant bandwidth is greater than or equal to the preset real-time bandwidth lower limit, obtaining the second target bandwidth according to the difference between the first target bandwidth and the first target redundant bandwidth, traversing the network nodes in the resource pool, and searching for a third incoming network node whose second target redundant bandwidth is greater than or equal to the second target bandwidth, so that the first incoming network node and the third incoming network node process the request corresponding to the first target bandwidth, and update the first cache record.

[0011] In the present invention, if the first target redundant bandwidth is less than the first target bandwidth, it is determined whether the first target redundant bandwidth is less than the preset real-time bandwidth lower limit. If the first target redundant bandwidth is less than the preset real-time bandwidth lower limit, it indicates that the remaining bandwidth of the first incoming network node is very small and there is no need to call it anymore. Therefore, the first cache record is deleted, and then the second incoming network node that meets the target conditions is queried. If the first target redundant bandwidth is greater than or equal to the preset real-time bandwidth lower limit, it indicates that the first target redundant bandwidth is not small, but it is not enough to fully undertake the request corresponding to the first target bandwidth. According to the difference between the first target bandwidth and the first target redundant bandwidth, the second target bandwidth is obtained. The network nodes in the resource pool are traversed to find the third incoming network node whose second target redundant bandwidth is greater than or equal to the second target bandwidth, so that the first incoming network node and the third incoming network node process the request corresponding to the first target bandwidth, and the first cache record is updated. Then, the request corresponding to the remaining bandwidth after the first incoming network node undertakes is selected again.

[0012] In an alternative embodiment, obtaining the outgoing network node and the corresponding first target bandwidth includes: obtaining multiple network nodes in the domain name area corresponding to the content distribution network service, and querying the outgoing network node whose first actual used bandwidth exceeds the first real-time bandwidth upper limit; inputting the first actual used bandwidth and the first real-time bandwidth upper limit into a preset proportional-integral-derivative algorithm to obtain a reduction ratio; and obtaining the first target bandwidth according to the product of the first actual used bandwidth and the reduction ratio.

[0013] In an alternative embodiment, the first cache record includes the historical target bandwidth, the first cache record creation time, and the first cache record update time. Determining the first target redundant bandwidth of the first incoming network node according to the first redundant bandwidth and the second redundant bandwidth of the first incoming network node includes: obtaining the first redundant bandwidth according to the difference between the second real-time bandwidth upper limit and the second actual used bandwidth; obtaining the time difference according to the difference between the current time and the first cache record creation time; obtaining the transmission time according to the quotient of the time difference and the preset transmission time period; obtaining the second redundant bandwidth according to the product of the transmission time and the historical target bandwidth; and obtaining the first target redundant bandwidth according to the sum of the first redundant bandwidth and the second redundant bandwidth.

[0014] In an alternative embodiment, updating the first cache record includes: determining whether the cache information in the first cache record is a single piece; if the cache information in the first cache record is a single piece, determining whether the historical target bandwidth in the cache information is greater than or equal to the first target bandwidth; if the historical target bandwidth in the cache information is greater than or equal to the first target bandwidth, modifying the historical target bandwidth to the first target bandwidth and updating the cache record update time; if the historical target bandwidth in the cache information is less than the first target bandwidth, adding new cache information according to the difference between the first target bandwidth and the historical target bandwidth and updating the cache record update time; if the cache information in the first cache record is multiple pieces, determining whether the historical target bandwidth in the first cache information among the multiple pieces of cache information is greater than or equal to the first target bandwidth, if the historical target bandwidth in the first cache information is greater than or equal to the first target bandwidth, deleting the other cache information, modifying the historical target bandwidth to the first target bandwidth, and updating the cache record update time.

[0015] The present invention updates the first cache record in real time to ensure the accuracy of the first cache record. If the historical target bandwidth in the first cache information is greater than or equal to the first target bandwidth, the other cache information is deleted to reduce the storage space occupied by the cache information.

[0016] In a second aspect, the present invention provides a request scheduling device for a content delivery network service, including: a first determination module, configured to obtain an outgoing network node and a corresponding first target bandwidth, and determine whether there is a first cache record for the outgoing network node; the outgoing network node is a network node in a domain name area corresponding to the content delivery network service where the first actual used bandwidth exceeds the first real-time bandwidth upper limit, the first target bandwidth is the bandwidth amount by which the first actual used bandwidth exceeds the first real-time bandwidth upper limit, and the first cache record stores the bandwidth scheduling information of the outgoing network node by a user; a second determination module, configured to, based on the existence of the first cache record for the outgoing network node, determine whether the first incoming network node in the first cache record exists in the resource pool corresponding to the domain name area, and determine whether the update duration of the first cache record exceeds a preset time period; a third determination module, configured to, based on the existence of the first incoming network node corresponding to the first cache record in the resource pool corresponding to the domain name area and the update duration of the first cache record not exceeding the preset time period, determine whether the second actual used bandwidth of the first incoming network node exceeds the second real-time bandwidth upper limit; a redundant bandwidth determination module, configured to, based on the second actual used bandwidth of the first incoming network node not exceeding the second real-time bandwidth upper limit, determine the first target redundant bandwidth of the first incoming network node according to the first redundant bandwidth and the second redundant bandwidth of the first incoming network node; the first redundant bandwidth is the bandwidth not used in real time, and the second redundant bandwidth is the preoccupied bandwidth corresponding to the first cache record; a fourth determination module, configured to determine whether the first target redundant bandwidth is greater than or equal to the first target bandwidth, and if the first target redundant bandwidth is greater than or equal to the first target bandwidth, send the request corresponding to the first target bandwidth to the first incoming network node, so that the first incoming network node processes the request using the first target redundant bandwidth and updates the first cache record.

[0017] In a third aspect, the present invention provides a computer device, including: a memory and a processor, which are communicatively connected to each other, the memory stores computer instructions, and the processor executes the computer instructions to execute the request scheduling method for the content delivery network service according to the first aspect or any corresponding embodiment thereof.

[0018] In a fourth aspect, the present invention provides a computer-readable storage medium, on which computer instructions are stored, and the computer instructions are used to cause a computer to execute the request scheduling method for the content delivery network service according to the first aspect or any corresponding embodiment thereof.

[0019] In a fifth aspect, the present invention provides a computer program product, including computer instructions, and the computer instructions are used to cause a computer to execute the request scheduling method for the content delivery network service according to the first aspect or any corresponding embodiment thereof. Description of the Drawings

[0020] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the related art, the following will briefly introduce the drawings required for use in the description of the specific embodiments or the related art. Obviously, the drawings in the following description are some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0021] Figure 1 It is a schematic flowchart of a request scheduling method for a content delivery network service according to an embodiment of the present invention.

[0022] Figure 2 It is a schematic flowchart of another request scheduling method for a content delivery network service according to an embodiment of the present invention.

[0023] Figure 3 It is a schematic flowchart of yet another request scheduling method for a content delivery network service according to an embodiment of the present invention.

[0024] Figure 4 It is a structural block diagram of a request scheduling device for a content delivery network service according to an embodiment of the present invention.

[0025] Figure 5 It is a schematic hardware structure diagram of a computer device according to an embodiment of the present invention. Specific Embodiments

[0026] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are some, but not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts fall within the scope of protection of the present invention.

[0027] With the development of computer networks, users pay more and more attention to the response speed of network resources. However, due to the sharp increase in the number of requests during peak periods, the pressure on the server side also suddenly increases, resulting in a greater impact on the access quality of users.

[0028] The CDN service can publish the content of a website to the network edge nodes closest to users, enabling users to obtain the required content nearby and improving the response speed of users accessing the website. As an important strategy for CDN scheduling, current over-line scheduling, when selecting the incoming nodes and judging the redundant bandwidth, due to the latency of real-time bandwidth becoming effective and the untimely update of real-time bandwidth, the currently obtained redundant bandwidth cannot accurately describe the actual redundant capacity of the incoming nodes. If the currently obtained redundant bandwidth is still used as the incoming limit condition at this time, it will lead to an overestimation of redundancy, and traffic will be continuously directed to the same node for a period of time. When the redundant bandwidth of this node is insufficient to support additional traffic, over-line scheduling is triggered to direct the current node's traffic to other nodes, thereby causing fluctuations in the bandwidth of this node. Such fluctuations not only affect the stability of a single node but may also impact the quality of the entire CDN service.

[0029] The embodiment of the present invention provides a request scheduling method for a content delivery network service. By superimposing the pre-occupied bandwidth on the unused real-time bandwidth, the first target redundant bandwidth is obtained, so as to achieve the effect of improving the accuracy of the first target redundant bandwidth.

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

[0031] In this embodiment, a request scheduling method for a content delivery network service is provided, which can be used in a computer device. Specifically, it can be used in the computer device where the CDN service is located. Figure 1 It is a flowchart of the request scheduling method for a content delivery network service according to the embodiment of the present invention, as Figure 1 shown. The process includes the following steps:

[0032] Step S101, obtain the outgoing network node and the corresponding first target bandwidth, and judge whether there is a first cache record for the outgoing network node; the outgoing network node is a network node in the domain name area corresponding to the content delivery network service where the first actual used bandwidth exceeds the first real-time bandwidth upper limit, the first target bandwidth is the bandwidth amount by which the first actual used bandwidth exceeds the first real-time bandwidth upper limit, and the first cache record is used to cache the bandwidth scheduling information of the outgoing network node.

[0033] In some alternative embodiments, a domain name area refers to a part of the domain name space that is managed and maintained by a specific administrative agency or organization. A domain name area can cover multiple network nodes. A network node includes at least one IP (Internet Protocol address). The network nodes that a domain name area can cover can be configured. The first actual used bandwidth is the amount of bandwidth actually used in the network nodes obtained in real time. The first real-time bandwidth upper limit is the maximum bandwidth that can be used by the network nodes to be transferred out, which is set in advance. When the first actual used bandwidth of one of the network nodes exceeds the first real-time bandwidth upper limit, it means that the requests corresponding to the first target bandwidth of the excess part need to be sent to other network nodes in the domain name area so that other network nodes can process these requests.

[0034] Exemplarily, for the regional domain name domai1.cn X view1 (domain name area 1), the covered nodes are {node a, node b, node c}. Among them, the first real-time bandwidth upper limit of node a is 70M (megabytes), but the first actual used bandwidth of node a is 100M. Then node a is the network node to be transferred out.

[0035] In some alternative embodiments, obtaining the network node to be transferred out and the corresponding first target bandwidth includes: obtaining multiple network nodes in the domain name area corresponding to the content distribution network service, and querying the network nodes to be transferred out whose first actual used bandwidth exceeds the first real-time bandwidth upper limit; inputting the first actual used bandwidth and the first real-time bandwidth upper limit into a preset proportional-integral-derivative algorithm to obtain a reduction ratio; and obtaining the first target bandwidth according to the product of the first actual used bandwidth and the reduction ratio.

[0036] Exemplarily, the first actual used bandwidth of node a is 100M. According to the preset proportional-integral-derivative algorithm, the obtained reduction ratio is 30%. Then the first target bandwidth corresponding to node a is 100 * 30% = 30M.

[0037] In some alternative embodiments, before obtaining the network node to be transferred out and the corresponding first target bandwidth, the method further includes: checking whether the scenario switch is turned on. If it is turned on, the embodiments of the present invention are started. If it is not turned on, according to the hash value corresponding to the name of the domain name area, query the second network node to be transferred in that meets the target conditions in a preset resource pool, and send the requests corresponding to the first target bandwidth to the second network node to be transferred in so that the second network node to be transferred in processes the requests and creates a second cache record; the target conditions are that the host group redundant bandwidth is greater than or equal to the first target bandwidth and the node redundant bandwidth is greater than or equal to the first target bandwidth.

[0038] Among them, the scenario switch is an interactive control configured in advance to control the start of the embodiments of the present invention. If the state of the scenario switch is the on state, the embodiments of the present invention are started.

[0039] Step S102: if the calling-out network node has a first cache record, determine whether the first calling-in network node in the first cache record exists in a resource pool corresponding to the domain name zone, and determine whether the update duration of the first cache record exceeds a preset time period.

[0040] The first cache record is a record of the scheduling information of the calling-out network node. The first cache record includes at least one cache information. The cache information includes the calling-in network protocol address, the first calling-in network node identifier, the historical target bandwidth, the first cache record creation time, the first cache record update time and the super line bandwidth. For example, for the calling-out network node ip_out1, there is a first cache record domai1.cn X view1 X ip_out1, the first cache record includes a cache information {ip_in1, {node id1, 25M, 0:10:0, 0:10:0, 0}}, wherein ip_in1 is the incoming network protocol address, node id1 is the first incoming network node identifier, 25M is the historical target bandwidth, 0:10:0 is the first cache record creation time, 0:10:0 is the first cache record update time, and 0 is the super-line bandwidth. Therefore, this first cache record indicates that it was created at 0:10:0 and updated at 0:10:0, and the request corresponding to the 25M bandwidth of the outgoing network node ip_out1 was sent to ip_in1 of node id1 for processing.

[0041] In some optional implementations, the resource pool corresponding to the domain name zone is a resource pool composed of network protocol addresses of multiple network nodes covered by the domain name zone. For example, the resource pool corresponding to the domain name zone domai1.cn X view1 includes ip_a of node a, ip_b of node b, and ip_c of node c.

[0042] In some optional implementations, if the outgoing network node has a first cache record, it indicates that the outgoing network node has previously exceeded the bandwidth limit and the corresponding first incoming network node has been allocated to the outgoing network node.

[0043] In some optional embodiments, if the first cache record does not exist in the calling-out network node, a second calling-in network node that meets the target condition is queried in the preset resource pool according to the hash value corresponding to the name of the domain name zone, and a request corresponding to the first target bandwidth is sent to the second calling-in network node, so that the second calling-in network node processes the request and creates a second cache record; the target condition is that the host group redundant bandwidth is greater than or equal to the first target bandwidth, and the node redundant bandwidth is greater than or equal to the first target bandwidth.

[0044] If the first cache record does not exist in the calling network node, it means that the calling network node has not exceeded the line before.

[0045] In some optional implementations, the preset resource pool is divided according to geographical location and is composed of resources such as servers in the same geographical location. Exemplarily, the preset resource pool may be a resource pool of Province A.

[0046] In some optional implementations, the ingress network protocol address of the second incoming network node in the consistent hash ring in the preset resource pool is located by the hash value of the domain name area, and it is determined whether the host group redundant bandwidth and the node redundant bandwidth corresponding to the network protocol address are both greater than or equal to the first target bandwidth. If so, the request corresponding to the first target bandwidth is sent to the ingress network protocol address of the second incoming network node, and a second cache record is created; otherwise, the next network protocol address is selected clockwise by the consistent hash ring for judgment until the corresponding network protocol address of the second incoming network node is obtained.

[0047] Step S103, if the first incoming network node corresponding to the first cache record exists in the resource pool corresponding to the domain name zone, and the update duration of the first cache record does not exceed the preset time period, determine whether the second actual used bandwidth of the first incoming network node exceeds the second real-time bandwidth upper limit.

[0048] Among them, the first incoming network node in the first cache record exists in the resource pool corresponding to the domain name zone, indicating that the first incoming network node still belongs to the resources used in the domain name zone. If the update time of the first cache record does not exceed the preset time period, it means that the first cache record is continuously updated.

[0049] In some optional implementations, the preset time period may be set according to actual conditions. For example, the preset time period may be 10 minutes.

[0050] In some optional implementations, if the update duration of the first cache record does not exceed a preset time period, it indicates that the first cache record is continuously updated.

[0051] In some optional embodiments, if the first incoming network node in the first cache record does not exist in the resource pool corresponding to the domain name zone, the first cache record is deleted, and the second incoming network node that meets the target condition is queried in the preset resource pool according to the hash value corresponding to the name of the domain name zone, and the request corresponding to the first target bandwidth is sent to the second incoming network node, so that the second incoming network node processes the request and creates a second cache record; the target condition is that the host group redundant bandwidth is greater than or equal to the first target bandwidth, and the node redundant bandwidth is greater than or equal to the first target bandwidth.

[0052] Among them, if the first incoming network node in the first cache record does not exist in the resource pool corresponding to the domain name area, it indicates that the domain name area no longer uses the first incoming network node for service. Therefore, the first cache record is useless, and the first cache record is deleted, and then the second incoming network node that meets the target conditions is queried.

[0053] In some alternative embodiments, if the update duration of the first cache record exceeds a preset time period, the first cache record is deleted. According to the hash value corresponding to the name of the domain name area, the second incoming network node that meets the target conditions is queried in the preset resource pool, and the request corresponding to the first target bandwidth is sent to the second incoming network node so that the second incoming network node processes the request and creates a second cache record; the target conditions are that the host group redundant bandwidth is greater than or equal to the first target bandwidth and the node redundant bandwidth is greater than or equal to the first target bandwidth.

[0054] In some alternative embodiments, if the update duration of the first cache record exceeds a preset time period, it indicates that this first cache record has exceeded its expiration date, and the first cache record is deleted, and then the second incoming network node that meets the target conditions is queried.

[0055] Step S104, if the second actual used bandwidth of the first incoming network node does not exceed the second real-time bandwidth upper limit, determine the first target redundant bandwidth of the first incoming network node according to the first redundant bandwidth and the second redundant bandwidth of the first incoming network node; the first redundant bandwidth is the bandwidth that is not used in real time, and the second redundant bandwidth is the pre-occupied bandwidth corresponding to the first cache record.

[0056] Among them, the second actual used bandwidth is the amount of bandwidth that has been used and obtained in real time by the first incoming network node, and the second real-time bandwidth upper limit is the maximum bandwidth that can be used by the first incoming network node set in advance.

[0057] In some alternative embodiments, if the second actual used bandwidth of the first incoming network node does not exceed the second real-time bandwidth upper limit, it indicates that there is unused bandwidth in the first incoming network node. Therefore, the first incoming network node can be used to undertake the requests that the outgoing network node needs to transfer out.

[0058] In some alternative embodiments, obtain the first redundant bandwidth and the second redundant bandwidth of the first incoming network node, and obtain the first target redundant bandwidth according to the sum of the first redundant bandwidth and the second redundant bandwidth.

[0059] In some alternative embodiments, if the second actual used bandwidth of the first incoming network node exceeds the second real-time bandwidth upper limit, the first cache record is deleted, and according to the hash value corresponding to the name of the domain name area, a second incoming network node meeting the target conditions is queried in the preset resource pool, and a request corresponding to the first target bandwidth is sent to the second incoming network node, so that the second incoming network node processes the request and creates a second cache record; the target conditions are that the host group redundant bandwidth is greater than or equal to the first target bandwidth and the node redundant bandwidth is greater than or equal to the first target bandwidth.

[0060] Among them, if the second actual used bandwidth of the first incoming network node exceeds the second real-time bandwidth upper limit, it means that the first incoming network node has exceeded the line. Therefore, the first incoming network node will no longer be called according to the first cache record, the first cache record is deleted, and then a second incoming network node meeting the target conditions is queried.

[0061] Step S105, determine whether the first target redundant bandwidth is greater than or equal to the first target bandwidth. If the first target redundant bandwidth is greater than or equal to the first target bandwidth, a request corresponding to the first target bandwidth is sent to the first incoming network node, so that the first incoming network node processes the request by using the first target redundant bandwidth and updates the first cache record.

[0062] Among them, if the first target redundant bandwidth is greater than or equal to the first target bandwidth, it means that the actual unused bandwidth (the first target redundant bandwidth) of the first incoming network node is sufficient to undertake the request corresponding to the first target bandwidth that the outgoing network node needs to transfer out. Therefore, a request corresponding to the first target bandwidth is sent to the first incoming network node, so that the first incoming network node processes the request by using the first target redundant bandwidth and updates the first cache record. Updating the first cache record is to obtain a more accurate cache record when the first cache record is needed again later, and improve the real-time performance of the first cache record.

[0063] Exemplarily, if the first redundant bandwidth is 30M, the second redundant bandwidth is 2.5M, and the first target bandwidth is 30M, then the first target redundant bandwidth is 32.5M. Then the first target redundant bandwidth is greater than the first target bandwidth, indicating that the actual unused bandwidth (the first target redundant bandwidth) of the first incoming network node is sufficient to undertake the request corresponding to the first target bandwidth that the outgoing network node needs to transfer out.

[0064] In some alternative embodiments, if the first target redundant bandwidth is less than the first target bandwidth, it is determined whether the first target redundant bandwidth is less than the preset real-time bandwidth lower limit. If the first target redundant bandwidth is less than the preset real-time bandwidth lower limit, the first cache record is deleted, and according to the hash value corresponding to the name of the domain name area, a second incoming network node meeting the target conditions is queried in the preset resource pool, and the request corresponding to the first target bandwidth is sent to the second incoming network node, so that the second incoming network node processes the request and creates a second cache record; the target conditions are that the host group redundant bandwidth is greater than or equal to the first target bandwidth and the node redundant bandwidth is greater than or equal to the first target bandwidth.

[0065] Among them, the preset real-time bandwidth lower limit can be set according to the actual situation. Exemplarily, the preset real-time bandwidth lower limit can be 15M.

[0066] Exemplarily, if the first redundant bandwidth is 10M, the second redundant bandwidth is 2.5M, the first target bandwidth is 30M, and the preset real-time bandwidth lower limit is 15M, then the first target redundant bandwidth is 12.5M. Since the first target redundant bandwidth is less than the first target bandwidth, it is determined whether the first target redundant bandwidth is less than the preset real-time bandwidth lower limit. 12.5M is less than 15M, indicating that the remaining bandwidth of the first incoming network node is very small and there is no need to call it again. Therefore, the first cache record is deleted, and then a second incoming network node meeting the target conditions is queried.

[0067] In some alternative embodiments, if the first target redundant bandwidth is greater than or equal to the preset real-time bandwidth lower limit, the second target bandwidth is obtained according to the difference between the first target bandwidth and the first target redundant bandwidth. The network nodes in the resource pool are traversed to find a third incoming network node whose second target redundant bandwidth is greater than or equal to the second target bandwidth, so that the first incoming network node and the third incoming network node process the request corresponding to the first target bandwidth and update the first cache record.

[0068] Exemplarily, if the first redundant bandwidth is 20M, the second redundant bandwidth is 2.5M, the first target bandwidth is 30M, and the preset real-time bandwidth lower limit is 15M, then the first target redundant bandwidth is 22.5M, and the first target redundant bandwidth is less than the first target bandwidth. Then, it is determined whether the first target redundant bandwidth is less than the preset real-time bandwidth lower limit. 22.5M is greater than 15M, indicating that the first target redundant bandwidth is not small, but is not enough to fully undertake the request corresponding to the first target bandwidth. Therefore, the network nodes in the resource pool are traversed, and the target redundant bandwidth of each network node is calculated. The third incoming network node whose second target redundant bandwidth is greater than or equal to the second target bandwidth is selected clockwise. Exemplarily, the network protocol address of the third incoming network node can be ip_in3, so that the first incoming network node and the third incoming network node process the request corresponding to the first target bandwidth and update the first cache record.

[0069] Among them, if the first target redundant bandwidth is less than the first target bandwidth, it is determined whether the first target redundant bandwidth is less than the preset real-time bandwidth lower limit. If the first target redundant bandwidth is less than the preset real-time bandwidth lower limit, it means that the remaining bandwidth of the first incoming network node is very small and there is no need to call it again. Therefore, the first cache record is deleted, and the second incoming network node that meets the target conditions is queried. If the first target redundant bandwidth is greater than or equal to the preset real-time bandwidth lower limit, it means that the first target redundant bandwidth is not small, but it is not enough to fully undertake the request corresponding to the first target bandwidth. According to the difference between the first target bandwidth and the first target redundant bandwidth, the second target bandwidth is obtained, and the network nodes in the resource pool are traversed to find the third incoming network node whose second target redundant bandwidth is greater than or equal to the second target bandwidth, so that the first incoming network node and the third incoming network node process the request corresponding to the first target bandwidth, and update the first cache record, and select again to undertake the request corresponding to the remaining bandwidth after the first incoming network node undertakes.

[0070] In some optional implementations, the first incoming network node and the third incoming network node process the request corresponding to the first target bandwidth by drawing lots according to the ratio of the first target redundant bandwidth to the second target bandwidth to select the incoming network node to receive the request.

[0071] For example, if the first redundant bandwidth is 20M, the second redundant bandwidth is 3M, the first target bandwidth is 30M, and the preset real-time bandwidth lower limit is 15M, then the first target redundant bandwidth is 23M, and the second target bandwidth is 7M. The final incoming network node will be selected by lottery in a ratio of 23:7 until all requests corresponding to the first target bandwidth are processed.

[0072] In some alternative embodiments, updating the first cache record includes: determining whether the cache information in the first cache record is one piece; if the cache information in the first cache record is one piece, determining whether the historical target bandwidth in the cache information is greater than or equal to the first target bandwidth; if the historical target bandwidth in the cache information is greater than or equal to the first target bandwidth, modifying the historical target bandwidth to the first target bandwidth and updating the cache record update time; if the historical target bandwidth in the cache information is less than the first target bandwidth, adding new cache information according to the difference between the first target bandwidth and the historical target bandwidth and updating the cache record update time; if the cache information in the first cache record is multiple pieces, determining whether the historical target bandwidth in the first cache information among the multiple cache information is greater than or equal to the first target bandwidth; if the historical target bandwidth in the first cache information is greater than or equal to the first target bandwidth, deleting the other cache information, modifying the historical target bandwidth to the first target bandwidth, and updating the cache record update time.

[0073] Wherein, if the historical target bandwidth in the first cache information is less than the first target bandwidth, adding new cache information according to the difference between the first target bandwidth and the historical target bandwidth and updating the cache record update time.

[0074] Exemplarily, if the first cache information is {ip_in1, {node id1, 35M, 0:10:0, 0:10:0, 0}}, at the time point of 0:11:0, the first redundant bandwidth is 30M, the second redundant bandwidth is 2.5M, the first target bandwidth is 30M, and the preset real-time bandwidth lower limit is 15M, then the first target redundant bandwidth is 32.5M, and the first cache information is updated to {node id1, 30M, 0:10:0, 0:11:0, 0}}.

[0075] If the first cache information is {ip_in1, {node id1, 25M, 0:10:0, 0:10:0, 0}}, at the time point of 0:11:0, the first redundant bandwidth is 30M, the second redundant bandwidth is 2.5M, the first target bandwidth is 30M, and the preset real-time bandwidth lower limit is 15M, then the first target redundant bandwidth is 32.5M, and the first cache information is updated to {ip_in1, {node id1, 25M, 0:10:0, 0:10:0, 0}, {node id1, 5M, 0:11:0, 0:11:0, 0}}.

[0076] If the first cache information is {ip_in1, {node id1, 30M, 0:09:0, 0:10:0, 0}, {node id1, 5M, 0:10:0, 0:10:0, 0}}, at the time point of 0:11:0, the first redundant bandwidth is 30M, the second redundant bandwidth is 2.5M, the first target bandwidth is 30M, and the preset real-time bandwidth lower limit is 15M, then the first target redundant bandwidth is 32.5M, so the second cache information is deleted, and the first cache information is updated to {ip_in1, {node id1, 30M, 0:9:0, 0:11:0, 0}}.

[0077] The request scheduling method for the content delivery network service provided in this embodiment obtains the outgoing network node of the network node in the domain name area corresponding to the content delivery network service where the first actual used bandwidth exceeds the first real-time bandwidth upper limit and the first target bandwidth representing the excess amount, and determines whether there is a first cache record in the outgoing network node. If there is a first cache record in the outgoing network node, it indicates that there has been a situation where the bandwidth exceeded the limit before, and a corresponding first incoming network node has been allocated to the outgoing network node. Determine whether the first incoming network node in the first cache record exists in the resource pool corresponding to the domain name area. If the first incoming network node in the first cache record exists in the resource pool corresponding to the domain name area, it indicates that the first incoming network node still belongs to the resources in use in the domain name area. Determine whether the update duration of the first cache record exceeds the preset time period; if the update duration of the first cache record does not exceed the preset time period, it indicates that the first cache record is being continuously updated. Determine whether the second actual used bandwidth of the first incoming network node exceeds the second real-time bandwidth upper limit. If the second actual used bandwidth of the first incoming network node does not exceed the second real-time bandwidth upper limit, it indicates that there is unused bandwidth in the first incoming network node. Therefore, the first incoming network node can be used to undertake the requests that the outgoing network node needs to transfer out. Determine the first target redundant bandwidth of the first incoming network node according to the first redundant bandwidth of the real-time unused bandwidth of the first incoming network node and the second redundant bandwidth of the preoccupied bandwidth corresponding to the first cache record. Since the bandwidth that needs to be scheduled in the first cache record may not have taken effect yet, it is necessary to add the bandwidth that has not taken effect but has been preoccupied in the real-time unused bandwidth to offset the time delay of the bandwidth taking effect, so that the obtained first target redundant bandwidth is more accurate. Determine whether the first target redundant bandwidth is greater than or equal to the first target bandwidth. If the first target redundant bandwidth is greater than or equal to the first target bandwidth, it indicates that the actual unused bandwidth (the first target redundant bandwidth) of the first incoming network node is sufficient to undertake the requests corresponding to the first target bandwidth that the outgoing network node needs to transfer out. Therefore, send the requests corresponding to the first target bandwidth to the first incoming network node, so that the first incoming network node uses the first target redundant bandwidth to process the requests and updates the first cache record. Update the first cache record so that when the first cache record needs to be used again later, a more accurate cache record can be obtained, improving the real-time performance of the first cache record. Compared with the related technology, the embodiment of the present invention, by introducing the method of the first cache record, only needs to consume a little extra memory space to record the previous outgoing information and incoming information, and can better solve the problem that there is a deviation in the bandwidth redundancy calculation due to the time delay of the bandwidth taking effect during the decision-making of the DNS service. Thus, there is no need to send the requests to other incoming network nodes for processing, reducing the fluctuation of the first incoming network node and improving the stability of the work of the first incoming network node, and improving the quality of the entire CDN service.

[0078] In this embodiment, a request scheduling method for content delivery network services is provided, which can be used in computer devices. Specifically, it can be used in computer devices where CDN services are located. Figure 2 It is a flowchart of another bandwidth scheduling method for content delivery network services according to an embodiment of the present invention. As Figure 2 shown, the process includes the following steps:

[0079] Step S201: Obtain an out-network node and the corresponding first target bandwidth, and determine whether there is a first cache record for the out-network node; the out-network node is a network node in the domain name area corresponding to the content delivery network service where the first actual used bandwidth exceeds the first real-time bandwidth upper limit, the first target bandwidth is the bandwidth amount by which the first actual used bandwidth exceeds the first real-time bandwidth upper limit, and the first cache record stores the bandwidth scheduling information of the out-network node cached by the user.

[0080] Specifically, the above step S201 includes:

[0081] Step S2011: Obtain multiple network nodes in the domain name area corresponding to the content delivery network service, query the out-network node whose first actual used bandwidth exceeds the first real-time bandwidth upper limit, and input the first actual used bandwidth and the first real-time bandwidth upper limit into a preset proportional integral derivative algorithm to obtain a reduction ratio.

[0082] Among them, the preset proportional integral derivative algorithm includes determining the control target and error calculation, proportional link calculation, integral link calculation, derivative link calculation, and reduction ratio determination.

[0083] Among them, determining the control target and error calculation is to determine the target according to the first actual used bandwidth and the first real-time bandwidth upper limit: to make the first actual used bandwidth of the out-network node return within the first real-time bandwidth upper limit, and obtain the error according to the difference between the first real-time bandwidth upper limit and the first actual used bandwidth.

[0084] The proportional link calculation is used to introduce a proportional coefficient into the error, so that the output is proportional to the error.

[0085] The integral link calculation is used to introduce an integral coefficient into the error, so that the output is proportional to the integral of the error.

[0086] The derivative link calculation is used to introduce a derivative coefficient into the error, so that the output is proportional to the change rate of the error.

[0087] The reduction ratio determination is used to superimpose the proportional link output, integral link output, and derivative link output, and continuously adjust the proportional coefficient, integral coefficient, and derivative coefficient to obtain an appropriate reduction ratio.

[0088] Step S2012, obtaining a first target bandwidth according to the product of the first actually used bandwidth and the reduction ratio, and determining whether a first cache record exists in the calling-out network node; the calling-out network node is a network node in the domain name area corresponding to the content distribution network service whose first actually used bandwidth exceeds the first real-time bandwidth upper limit, the first target bandwidth is the bandwidth amount by which the first actually used bandwidth exceeds the first real-time bandwidth upper limit, and the first cache records the bandwidth scheduling information of the user cache calling-out network node.

[0089] Exemplarily, the first actually used bandwidth of node a is 100M, and according to the preset proportional integral differential algorithm, the reduction ratio is 30%, then the first target bandwidth corresponding to node a is 100*30%=30M.

[0090] Step S202, obtain the calling network node and the corresponding first target bandwidth, and determine whether there is a first cache record for the calling network node; the calling network node is a network node in the domain name area corresponding to the content distribution network service whose first actual bandwidth exceeds the first real-time bandwidth upper limit, the first target bandwidth is the amount of bandwidth that the first actual bandwidth exceeds the first real-time bandwidth upper limit, and the first cache records the bandwidth scheduling information of the user cache calling the network node. For details, please refer to Figure 1 Step S102 of the illustrated embodiment will not be described in detail here.

[0091] Step S203: If the first incoming network node corresponding to the first cache record exists in the resource pool corresponding to the domain name zone, and the update time of the first cache record does not exceed the preset time period, determine whether the second actual bandwidth used by the first incoming network node exceeds the second real-time bandwidth upper limit. Figure 1 Step S103 of the illustrated embodiment will not be described in detail here.

[0092] Step S204, if the second actual used bandwidth of the first incoming network node does not exceed the second real-time bandwidth upper limit, determine the first target redundant bandwidth of the first incoming network node according to the first redundant bandwidth and the second redundant bandwidth of the first incoming network node; the first redundant bandwidth is the real-time unused bandwidth, and the second redundant bandwidth is the pre-occupied bandwidth corresponding to the first cache record.

[0093] Specifically, the above step S204 includes:

[0094] Step S2041: if the second actual usage bandwidth of the first incoming network node does not exceed the second real-time bandwidth upper limit, a first redundant bandwidth is obtained according to the difference between the second real-time bandwidth upper limit and the second actual usage bandwidth.

[0095] Exemplarily, the second real-time bandwidth upper limit is 50M, the second actually used bandwidth is 20M, and the first redundant bandwidth is 50-20=30M.

[0096] Step S2042: Obtain the time difference based on the difference between the current time and the creation time of the first cache record; obtain the transmission time based on the quotient of the time difference and the preset transmission time period; obtain the second redundant bandwidth based on the product of the transmission time and the historical target bandwidth.

[0097] Among them, the preset transmission time period can be set according to the actual situation. Exemplarily, the preset transmission time period can be 10 minutes.

[0098] The calculation formula for the second redundant bandwidth is:

[0099]

[0100] Among them, B e is the second redundant bandwidth, t d is the current time, t c is the creation time of the first cache record, T is the preset transmission time period, B l is the historical target bandwidth.

[0101] Exemplarily, if the first cache record is {ip_in1, {node id1, 25M, 0:10:0, 0:10:0, 0}}, and the current time is 0:11:0, then the second redundant bandwidth is

[0102] In the embodiment of the present invention, since it is 0:10:0 in the first cache record, it is necessary to use the 25M bandwidth of ip_in1 to process requests for 10 minutes. The current time is 0:11:0, and 1 minute has passed. It is expected to process 25M in ten minutes. Therefore, 2.5M is processed in 1 minute. Due to the transmission delay, only 2.5M of bandwidth is pre-occupied and has not taken effect. Therefore, this 2.5M of bandwidth also belongs to the first target redundant bandwidth of ip_in1. Determining the first target redundant bandwidth of the first incoming network node according to the real-time unused first redundant bandwidth of the first incoming network node and the second redundant bandwidth of the pre-occupied bandwidth corresponding to the first cache record is more accurate and more in line with the actual situation.

[0103] Step S2043: Obtain the first target redundant bandwidth based on the sum of the first redundant bandwidth and the second redundant bandwidth.

[0104] Step S205: Determine whether the first target redundant bandwidth is greater than or equal to the first target bandwidth. If the first target redundant bandwidth is greater than or equal to the first target bandwidth, then send the request corresponding to the first target bandwidth to the first incoming network node, so that the first incoming network node uses the first target redundant bandwidth to process the request and updates the first cache record. For details, please refer to Figure 1 Step S105 of the embodiment shown, which will not be elaborated here.

[0105] In this embodiment, the first target redundant bandwidth of the first incoming network node is determined according to the first redundant bandwidth that is not in use in real time of the first incoming network node and the second redundant bandwidth corresponding to the pre-occupied bandwidth in the first cache record. Since the bandwidth that needs to be scheduled in the first cache record may not have taken effect yet, it is necessary to add the bandwidth that has been pre-occupied but not yet taken effect to the real-time unused bandwidth to offset the time delay of the bandwidth taking effect, so as to make the obtained first target redundant bandwidth more accurate.

[0106] In this embodiment, a request scheduling method for content delivery network services is provided, which can be used in computer devices. Specifically, it can be used in the computer devices where the CDN service is located. Figure 3 It is a flowchart of another bandwidth scheduling method for content delivery network services according to an embodiment of the present invention, as Figure 3 shown, and the process includes:

[0107] Obtain the outgoing network node and the corresponding first target bandwidth, and determine whether there is a first cache record in the outgoing network node.

[0108] Exemplarily, at 0:11:0, the nodes covered by domai1.cn X view1 are {node 1, node 2, node 3}, and the corresponding network protocol addresses are {ip1, ip2, ip3}. Among them, only ip1 exceeds the line and needs to be transferred out, denoted as ip_out1. The calculated reduction ratio is 30%, and the first actual used bandwidth is 100M, then the first target bandwidth is 100 * 30% = 30M.

[0109] If there is a first cache record in the outgoing network node, determine whether the first incoming network node in the first cache record exists in the resource pool corresponding to the domain name area, and determine whether the update duration of the first cache record exceeds a preset time period.

[0110] If there is no first cache record in the outgoing network node, determine the second incoming network node according to a preset scheme.

[0111] Exemplarily, the preset scheme is to query the second incoming network node that meets the target conditions in the preset resource pool according to the hash value corresponding to the name of the domain name area, send the request corresponding to the first target bandwidth to the second incoming network node, so that the second incoming network node processes the request and creates a second cache record; the target conditions are that the host group redundant bandwidth is greater than or equal to the first target bandwidth, and the node redundant bandwidth is greater than or equal to the first target bandwidth.

[0112] If the first incoming network node corresponding to the first cache record exists in the resource pool corresponding to the domain name area, and the update duration of the first cache record does not exceed the preset time period, determine whether the second actual used bandwidth of the first incoming network node exceeds the second real-time bandwidth upper limit.

[0113] If the first incoming network node in the first cache record does not exist in the resource pool corresponding to the domain name area, delete the first cache record and determine the second incoming network node according to a preset scheme.

[0114] If the update duration of the first cache record exceeds a preset time period, delete the first cache record and determine the second incoming network node according to a preset scheme.

[0115] If the second actual used bandwidth of the first incoming network node does not exceed the second real-time bandwidth upper limit, determine the first target redundant bandwidth of the first incoming network node according to the first redundant bandwidth and the second redundant bandwidth of the first incoming network node.

[0116] If the second actual used bandwidth of the first incoming network node exceeds the second real-time bandwidth upper limit, delete the first cache record and determine the second incoming network node according to a preset scheme.

[0117] Judge whether the first target redundant bandwidth is greater than or equal to the first target bandwidth. If the first target redundant bandwidth is greater than or equal to the first target bandwidth, send the request corresponding to the first target bandwidth to the first incoming network node, so that the first incoming network node processes the request using the first target redundant bandwidth and updates the first cache record.

[0118] Exemplarily, if there is a record {ip_in1, {node id1, 25M, 0:10:0, 0:10:0, 0}} of domai1.cnX view1Xip_out1 in the first cache record, judge that the first incoming network node is not over the line. When the first redundant bandwidth is 30M, then calculate the first target redundant bandwidth as: 30 + (0:11:0 - 0:10:0) / 10 * 25 = 32.5M > 30M, that is, it meets the first target bandwidth. Then send the request corresponding to the first target bandwidth to ip_in1 and update the first cache record: update {ip_in1, {node id1, 25M, 0:10:0, 0:10:0, 0}} to {ip_in1, {node id1, 25M, 0:10:0, 0:11:0, 0}, {node id1, 5M, 0:11:0, 0:11:0, 0}}.

[0119] If the first target redundant bandwidth is less than the first target bandwidth, delete the first cache record and determine the second incoming network node according to a preset scheme.

[0120] Exemplarily, if there is a record of domai1.cnX view1Xip_out1 in the first cache record {ip_in1, {node id1, 25M, 0:10:0, 0:10:0, 0}}, when the first redundant bandwidth is 10M, then calculate the first target redundant bandwidth as: 10+(0:11:0 - 0:10:0) / 10*25 = 12.5 < 15M, and delete the first cache record.

[0121] If there is a record of domai1.cnX view1Xip_out1 in the first cache record {ip_in1, {node id1, 30M, 0:06:0, 0:10:0, 0}}, and it is determined that the node to which the current ip_in1 belongs is over the line, then first it is necessary to determine whether the first cache record needs to be updated. If the time between the current time and the node over-line time exceeds 60 seconds, then there is no need to update. If the time between the current time and the node over-line time is greater than or equal to 60 seconds, then the first cache record needs to be updated. At this time, when the first redundant bandwidth is 10M, then calculate the first target redundant bandwidth as: 0+(0:11:0 - 0:06:0) / 10*30 = 15M, then update the first cache record, and update {ip_in1, {node id1, 30M, 0:06:0, 0:10:0, 0}} to: {ip_in1, {node id1, 15M, 0:06:0, 0:11:0, 0}}. Since the first target redundant bandwidth is still greater than the preset real-time bandwidth lower limit after the update, this ip_in1 can still be allocated. At this time, 30 - 15 = 15M bandwidth is still required, and continue to search for the third allocated network node from the network nodes in the resource pool.

[0122] If there is a record of domai1.cnX view1Xip_out1 in the first cache record {ip_in1, {node id1, 30M, 0:10:0, 0:10:0, 0}}, when the first redundant bandwidth is 20M, calculate the first target redundant bandwidth as: 20+(0:11:0 - 0:10:0) / 10*30 = 23M < 30M, that is, it does not meet the first target bandwidth. At this time, 30 - 23 = 7M bandwidth is still required, and continue to search for the third allocated network node from the network nodes in the resource pool. Update the first cache record, and update {ip_in1, {node id1, 25M, 0:10:0, 0:10:0, 0}} to {ip_in1, {node id1, 23M, 0:10:0, 0:11:0, 0}}; finally, select the allocation by lottery in the ratio of ip_in1:ip_in3 = 23:7.

[0123] If there is a record of domai1.cnX view1Xip_out1 in the first cache record {ip_in1, {node id1, 30M, 0:09:0, 0:10:0, 0}, {node id1, 5M, 0:10:0, 0:10:0, 0}}; when the first redundant bandwidth is 30M, calculate the first target redundant bandwidth as: 30 + (0:11:0 - 0:09:0) / 10 * 30 = 34.6M > 30M. Since the first cache information of ip_in1 already meets the requirements, the second cache information is deleted, the first cache record is updated, and {ip_in1, {node id1, 30M, 0:09:0, 0:10:0, 0}, {node id1, 5M, 0:10:0, 0:10:0, 0}} is modified to {ip_in1, {node id1, 30M, 0:09:0, 0:11:0, 0}}, and ip_in1 is directly transferred in.

[0124] In this embodiment, a request scheduling device for a content delivery network service is further provided. This device is used to implement the above-mentioned embodiments and preferred implementation manners, and those that have been described will not be repeated. As used hereinafter, the term "module" may be 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, implementation in hardware, or a combination of software and hardware is also possible and contemplated.

[0125] This embodiment provides a request scheduling device for a content delivery network service, as Figure 4 shown, including:

[0126] The first judgment module 401 is used to obtain the outgoing network node and the corresponding first target bandwidth, and judge whether there is a first cache record for the outgoing network node; the outgoing network node is a network node in the domain name area corresponding to the content delivery network service whose first actual used bandwidth exceeds the first real-time bandwidth upper limit, the first target bandwidth is the bandwidth amount by which the first actual used bandwidth exceeds the first real-time bandwidth upper limit, and the first cache record stores the bandwidth scheduling information of the outgoing network node.

[0127] The second judgment module 402 is used to judge, according to the existence of a first cache record for the outgoing network node, whether the first incoming network node in the first cache record exists in the resource pool corresponding to the domain name area, and whether the update duration of the first cache record exceeds a preset time period.

[0128] The third judgment module 403 is used to judge, according to the fact that the first incoming network node corresponding to the first cache record exists in the resource pool corresponding to the domain name area and the update duration of the first cache record does not exceed the preset time period, whether the second actual used bandwidth of the first incoming network node exceeds the second real-time bandwidth upper limit.

[0129] A redundant bandwidth determination module 404, configured to determine a first target redundant bandwidth of a first incoming network node according to that the second actual used bandwidth of the first incoming network node does not exceed the second real-time bandwidth upper limit, and according to the first redundant bandwidth and the second redundant bandwidth of the first incoming network node; the first redundant bandwidth is the bandwidth that is not used in real time, and the second redundant bandwidth is the pre-occupied bandwidth corresponding to the first cache record.

[0130] A fourth determination module 405, configured to determine whether the first target redundant bandwidth is greater than or equal to the first target bandwidth. If the first target redundant bandwidth is greater than or equal to the first target bandwidth, then send a request corresponding to the first target bandwidth to the first incoming network node, so that the first incoming network node processes the request by using the first target redundant bandwidth and updates the first cache record.

[0131] In some alternative embodiments, the request scheduling device for content delivery network services further includes:

[0132] The original over-limit scheduling module is used to query a second incoming network node that meets the target conditions in a preset resource pool according to the hash value corresponding to the name of the domain name area when there is no first cache record for the outgoing network node, send a request corresponding to the first target bandwidth to the second incoming network node, so that the second incoming network node processes the request and creates a second cache record; the target conditions are that the main unit redundant bandwidth is greater than or equal to the first target bandwidth and the node redundant bandwidth is greater than or equal to the first target bandwidth; it is used to delete the first cache record when the first incoming network node in the first cache record does not exist in the resource pool corresponding to the domain name area, query a second incoming network node that meets the target conditions in the preset resource pool according to the hash value corresponding to the name of the domain name area, send a request corresponding to the first target bandwidth to the second incoming network node, so that the second incoming network node processes the request and creates a second cache record; the target conditions are that the main unit redundant bandwidth is greater than or equal to the first target bandwidth and the node redundant bandwidth is greater than or equal to the first target bandwidth; it is used to delete the first cache record when the update duration of the first cache record exceeds a preset time period, query a second incoming network node that meets the target conditions in the preset resource pool according to the hash value corresponding to the name of the domain name area, send a request corresponding to the first target bandwidth to the second incoming network node, so that the second incoming network node processes the request and creates a second cache record; the target conditions are that the main unit redundant bandwidth is greater than or equal to the first target bandwidth and the node redundant bandwidth is greater than or equal to the first target bandwidth; it is used to delete the first cache record when the second actual usage bandwidth of the first incoming network node exceeds the second real-time bandwidth upper limit, query a second incoming network node that meets the target conditions in the preset resource pool according to the hash value corresponding to the name of the domain name area, send a request corresponding to the first target bandwidth to the second incoming network node, so that the second incoming network node processes the request and creates a second cache record; the target conditions are that the main unit redundant bandwidth is greater than or equal to the first target bandwidth and the node redundant bandwidth is greater than or equal to the first target bandwidth; it is used to determine whether the first target redundant bandwidth is less than the preset real-time bandwidth lower limit if the first target redundant bandwidth is less than the first target bandwidth. If the first target redundant bandwidth is less than the preset real-time bandwidth lower limit, the first cache record is deleted, a second incoming network node that meets the target conditions is queried in the preset resource pool according to the hash value corresponding to the name of the domain name area, and a request corresponding to the first target bandwidth is sent to the second incoming network node, so that the second incoming network node processes the request and creates a second cache record; the target conditions are that the main unit redundant bandwidth is greater than or equal to the first target bandwidth and the node redundant bandwidth is greater than or equal to the first target bandwidth.

[0133] In some alternative embodiments, the request scheduling device for content delivery network services further includes:

[0134] A network node re-query module, configured to, according to that the first target redundant bandwidth is greater than or equal to a preset real-time bandwidth lower limit, obtain a second target bandwidth based on the difference between the first target bandwidth and the first target redundant bandwidth, traverse the network nodes in the resource pool, and find a third incoming network node whose second target redundant bandwidth is greater than or equal to the second target bandwidth, so that the first incoming network node and the third incoming network node process a request corresponding to the first target bandwidth and update the first cache record.

[0135] In some alternative embodiments, the first determination module 401 includes:

[0136] An outgoing network node query unit, configured to obtain multiple network nodes in the domain name area corresponding to the content distribution network service and query an outgoing network node whose first actual used bandwidth exceeds the first real-time bandwidth upper limit.

[0137] A reduction ratio determination unit, configured to input the first actual used bandwidth and the first real-time bandwidth upper limit into a preset proportional integral derivative algorithm to obtain a reduction ratio.

[0138] A target bandwidth determination unit, configured to obtain a first target bandwidth based on the product of the first actual used bandwidth and the reduction ratio.

[0139] In some alternative embodiments, the redundant bandwidth determination module 404 includes:

[0140] A first redundant bandwidth determination unit, configured to obtain a first redundant bandwidth based on the difference between the second real-time bandwidth upper limit and the second actual used bandwidth.

[0141] A time difference determination unit, configured to obtain a time difference based on the difference between the current time and the creation time of the first cache record.

[0142] A transmission time determination unit, configured to obtain a transmission time based on the quotient of the time difference and a preset transmission time period.

[0143] A second redundant bandwidth determination unit, configured to obtain a second redundant bandwidth based on the product of the transmission time and the historical target bandwidth.

[0144] A target redundant bandwidth determination unit, configured to obtain a first target redundant bandwidth based on the sum of the first redundant bandwidth and the second redundant bandwidth.

[0145] In some alternative embodiments, the fourth determination module 405 includes:

[0146] A first determination unit, configured to determine whether the cache information in the first cache record is one. If the cache information in the first cache record is one, then determine whether the historical target bandwidth in the cache information is greater than or equal to the first target bandwidth.

[0147] The bandwidth update unit is configured to: if the historical target bandwidth in the cache information is greater than or equal to the first target bandwidth, modify the historical target bandwidth to the first target bandwidth and update the cache record update time; if the historical target bandwidth in the cache information is less than the first target bandwidth, add new cache information according to the difference between the first target bandwidth and the historical target bandwidth, and update the cache record update time.

[0148] The second judgment unit is configured to: if there are multiple pieces of cache information in the first cache record, judge whether the historical target bandwidth in the first piece of cache information among the multiple pieces of cache information is greater than or equal to the first target bandwidth. If the historical target bandwidth in the first piece of cache information is greater than or equal to the first target bandwidth, delete the other cache information, modify the historical target bandwidth to the first target bandwidth, and update the cache record update time.

[0149] The further function descriptions of the above-mentioned various modules and units are the same as those in the corresponding embodiments above, and will not be elaborated here.

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

[0151] The embodiment of the present invention further provides a computer device having the above Figure 4 request scheduling device of the content distribution network service as shown.

[0152] Please refer to Figure 5 , Figure 5 which is a schematic structural diagram of a computer device provided by an optional embodiment of the present invention. As Figure 5 shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including a high-speed interface and a low-speed interface. Each component communicates with each other using different buses and can be installed on a common motherboard or installed in other ways as needed. The processor can process instructions executed within the computer device, including instructions stored in the memory or on the memory to display 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 (such as an array of servers, a set of blade servers, or a multi-processor system). Figure 5Take a processor 10 as an example.

[0153] The processor 10 may be a central processing unit, a network processor, or a combination thereof. Among them, the processor 10 may further include a hardware chip. The above-mentioned hardware chip may be an application-specific integrated circuit, a programmable logic device, or a combination thereof. The above-mentioned programmable logic device may be a complex programmable logic device, a field programmable gate array, a generic array logic, or any combination thereof.

[0154] Among them, the memory 20 stores instructions executable by at least one processor 10, so that the at least one processor 10 executes the method shown in the above embodiments.

[0155] The memory 20 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system and application programs 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-transitory memory, such as at least one magnetic disk storage device, a flash memory device, or other non-transitory solid-state storage devices. In some alternative embodiments, the memory 20 may optionally include a memory remotely provided with respect to the processor 10, and these remote memories may be connected to the computer device through a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an enterprise intranet, a local area network, a mobile communication network, and combinations thereof.

[0156] 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 memories.

[0157] The computer device further includes a communication interface 30 for the computer device to communicate with other devices or communication networks.

[0158] Embodiments of the present invention also provide a computer-readable storage medium. The method according to the embodiments of the present invention can be implemented in hardware, firmware, or be implemented as computer code that can be recorded on a storage medium, or be implemented as computer code that is originally stored in a remote storage medium or a non-transitory machine-readable storage medium and downloaded through a network and will be stored in a local storage medium, so that the method described herein can be stored as 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 memory, a random access memory, a flash memory, a hard disk, or a solid-state drive, 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 the computer, the processor, or the hardware, the method shown in the above embodiments is implemented.

[0159] A part of the present invention can be applied as a computer program product, such as computer program instructions. When executed by a computer, through the operation of the computer, the methods and / or technical solutions according to the present invention can be invoked or provided. Those skilled in the art should be able to understand that the forms in which computer program instructions exist in a computer-readable medium include, but are not limited to, source files, executable files, installation package files, etc. Correspondingly, the ways in which computer program instructions are executed by a computer include, but are not limited to: the computer directly executes the instructions, or the computer compiles the instructions and then executes the corresponding compiled program, or the computer reads and executes the instructions, or the computer reads and installs the instructions and then executes the corresponding installed program. Herein, the computer-readable medium can be any available computer-readable storage medium or communication medium accessible by the computer.

[0160] Although the embodiments of the present 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 present invention, and such modifications and variations all fall within the scope defined by the appended claims.

Claims

1. A request scheduling method for a content delivery network service, characterized in that The method includes: Obtain an egress network node and a corresponding first target bandwidth, and determine whether there is a first cache record for the egress network node; the egress network node is a network node in the domain name area corresponding to the content delivery network service where the first actual used bandwidth exceeds the first real-time bandwidth upper limit, the first target bandwidth is the bandwidth amount by which the first actual used bandwidth exceeds the first real-time bandwidth upper limit, and the first cache record stores the bandwidth scheduling information of the egress network node cached by the user; If there is a first cache record for the egress network node, determine whether the first ingress network node in the first cache record exists in the resource pool corresponding to the domain name area, and determine whether the update duration of the first cache record exceeds a preset time period; If the first ingress network node corresponding to the first cache record exists in the resource pool corresponding to the domain name area, and the update duration of the first cache record does not exceed the preset time period, determine whether the second actual used bandwidth of the first ingress network node exceeds the second real-time bandwidth upper limit; If the second actual used bandwidth of the first ingress network node does not exceed the second real-time bandwidth upper limit, determine the first target redundant bandwidth of the first ingress network node according to the first redundant bandwidth and the second redundant bandwidth of the first ingress network node; the first redundant bandwidth is the bandwidth not used in real time, and the second redundant bandwidth is the pre-occupied bandwidth corresponding to the first cache record; Determine whether the first target redundant bandwidth is greater than or equal to the first target bandwidth. If the first target redundant bandwidth is greater than or equal to the first target bandwidth, send the request corresponding to the first target bandwidth to the first ingress network node, so that the first ingress network node processes the request using the first target redundant bandwidth and updates the first cache record.

2. The method according to claim 1, wherein The method further includes: If there is no first cache record for the egress network node, query for a second ingress network node that meets the target conditions in a preset resource pool according to the hash value corresponding to the name of the domain name area, and send the request corresponding to the first target bandwidth to the second ingress network node, so that the second ingress network node processes the request and creates a second cache record; the target conditions are that the host group redundant bandwidth is greater than or equal to the first target bandwidth and the node redundant bandwidth is greater than or equal to the first target bandwidth; If the first ingress network node in the first cache record does not exist in the resource pool corresponding to the domain name area, delete the first cache record, query for a second ingress network node that meets the target conditions in a preset resource pool according to the hash value corresponding to the name of the domain name area, and send the request corresponding to the first target bandwidth to the second ingress network node, so that the second ingress network node processes the request and creates a second cache record; the target conditions are that the host group redundant bandwidth is greater than or equal to the first target bandwidth and the node redundant bandwidth is greater than or equal to the first target bandwidth; If the update duration of the first cache record exceeds a preset time period, delete the first cache record. According to the hash value corresponding to the name of the domain name area, query a second incoming network node that meets the target conditions in a preset resource pool, and send a request corresponding to the first target bandwidth to the second incoming network node, so that the second incoming network node processes the request and creates a second cache record; the target conditions are that the main unit redundancy bandwidth is greater than or equal to the first target bandwidth, and the node redundancy bandwidth is greater than or equal to the first target bandwidth. If the second actual used bandwidth of the first incoming network node exceeds the second real-time bandwidth upper limit, delete the first cache record. According to the hash value corresponding to the name of the domain name area, query a second incoming network node that meets the target conditions in a preset resource pool, and send a request corresponding to the first target bandwidth to the second incoming network node, so that the second incoming network node processes the request and creates a second cache record; the target conditions are that the main unit redundancy bandwidth is greater than or equal to the first target bandwidth, and the node redundancy bandwidth is greater than or equal to the first target bandwidth.

3. The method according to claim 1 or 2, characterized in that, The method further includes: If the first target redundancy bandwidth is less than the first target bandwidth, determine whether the first target redundancy bandwidth is less than a preset real-time bandwidth lower limit. If the first target redundancy bandwidth is less than the preset real-time bandwidth lower limit, delete the first cache record. According to the hash value corresponding to the name of the domain name area, query a second incoming network node that meets the target conditions in a preset resource pool, and send a request corresponding to the first target bandwidth to the second incoming network node, so that the second incoming network node processes the request and creates a second cache record; the target conditions are that the main unit redundancy bandwidth is greater than or equal to the first target bandwidth, and the node redundancy bandwidth is greater than or equal to the first target bandwidth. If the first target redundancy bandwidth is greater than or equal to the preset real-time bandwidth lower limit, obtain a second target bandwidth according to the difference between the first target bandwidth and the first target redundancy bandwidth. Traverse the network nodes in the resource pool to find a third incoming network node whose second target redundancy bandwidth is greater than or equal to the second target bandwidth, so that the first incoming network node and the third incoming network node process the request corresponding to the first target bandwidth and update the first cache record.

4. The method according to claim 1 or 2, characterized in that, The obtaining of the outgoing network node and the corresponding first target bandwidth includes: Obtain multiple network nodes in the domain name area corresponding to the content distribution network service, and query the outgoing network node whose first actual used bandwidth exceeds the first real-time bandwidth upper limit. Input the first actual used bandwidth and the first real-time bandwidth upper limit into a preset proportional integral derivative algorithm to obtain a reduction ratio. Obtain the first target bandwidth according to the product of the first actual used bandwidth and the reduction ratio.

5. The method according to claim 1 or 2, characterized in that, The first cache record includes a historical target bandwidth, a first cache record creation time, and a first cache record update time. Determining the first target redundant bandwidth of the first incoming network node according to the first redundant bandwidth and the second redundant bandwidth of the first incoming network node includes: Obtaining the first redundant bandwidth according to the difference between the second real-time bandwidth upper limit and the second actual used bandwidth; Obtaining a time difference according to the difference between the current time and the first cache record creation time; Obtaining a transmission time according to the quotient of the time difference and a preset transmission time period; Obtaining the second redundant bandwidth according to the product of the transmission time and the historical target bandwidth; Obtaining the first target redundant bandwidth according to the sum of the first redundant bandwidth and the second redundant bandwidth.

6. The method according to claim 1 or 2, characterized in that, Updating the first cache record includes: Judging whether the cache information in the first cache record is one piece. If the cache information in the first cache record is one piece, judging whether the historical target bandwidth in the cache information is greater than or equal to the first target bandwidth; If the historical target bandwidth in the cache information is greater than or equal to the first target bandwidth, modifying the historical target bandwidth to the first target bandwidth and updating the cache record update time; if the historical target bandwidth in the cache information is less than the first target bandwidth, adding new cache information according to the difference between the first target bandwidth and the historical target bandwidth, and updating the cache record update time; If there are multiple pieces of cache information in the first cache record, judging whether the historical target bandwidth in the first piece of cache information among the multiple pieces of cache information is greater than or equal to the first target bandwidth. If the historical target bandwidth in the first piece of cache information is greater than or equal to the first target bandwidth, deleting the other cache information, modifying the historical target bandwidth to the first target bandwidth, and updating the cache record update time.

7. A request scheduling device for a content delivery network service, characterized in that, The device includes: A first judgment module, configured to obtain an outgoing network node and a corresponding first target bandwidth, and judge whether there is a first cache record for the outgoing network node; the outgoing network node is a network node in the domain name area corresponding to the content distribution network service where the first actual used bandwidth exceeds the first real-time bandwidth upper limit, the first target bandwidth is the bandwidth amount by which the first actual used bandwidth exceeds the first real-time bandwidth upper limit, and the first cache record is used to cache the bandwidth scheduling information of the outgoing network node; A second judgment module, configured to judge whether the first incoming network node in the first cache record exists in the resource pool corresponding to the domain name area and whether the update duration of the first cache record exceeds a preset time period according to the existence of the first cache record for the outgoing network node; A third judgment module, configured to determine whether a second actual usage bandwidth of the first incoming network node exceeds a second real-time bandwidth upper limit according to that the first incoming network node corresponding to the first cache record exists in a resource pool corresponding to the domain name area and an update duration of the first cache record does not exceed a preset time period; A redundant bandwidth determination module, configured to determine a first target redundant bandwidth of the first incoming network node according to that the second actual usage bandwidth of the first incoming network node does not exceed the second real-time bandwidth upper limit and according to a first redundant bandwidth and a second redundant bandwidth of the first incoming network node; the first redundant bandwidth is a bandwidth not used in real time, and the second redundant bandwidth is a pre-occupied bandwidth corresponding to the first cache record; A fourth judgment module, configured to judge whether the first target redundant bandwidth is greater than or equal to the first target bandwidth. If the first target redundant bandwidth is greater than or equal to the first target bandwidth, a request corresponding to the first target bandwidth is sent to the first incoming network node, so that the first incoming network node processes the request by using the first target redundant bandwidth and updates the first cache record.

8. A computer device, characterized in that, Comprising: A memory and a processor, the memory and the processor are communicatively connected to each other, computer instructions are stored in the memory, and the processor executes the computer instructions to execute the request scheduling method for the content distribution network service according to any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that, Computer instructions are stored on the computer-readable storage medium, and the computer instructions are used to cause a computer to execute the request scheduling method for the content distribution network service according to any one of claims 1 to 6.

10. A computer program product, characterized in that, Comprising computer instructions, and the computer instructions are used to cause a computer to execute the request scheduling method for the content distribution network service according to any one of claims 1 to 6.