Traffic bandwidth scheduling method and device of fusion CDN, and electronic equipment

By employing a semi-deterministic, semi-random allocation method in the converged CDN system, combining the current request count and the approximation period value, the problem of inaccurate bandwidth allocation ratios in existing technologies is solved, achieving precise traffic bandwidth scheduling and reducing system costs.

CN116248508BActive Publication Date: 2026-01-13CHINA TELECOM CLOUD TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211668187.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-23
Publication Date
2026-01-13
Estimated Expiration
2042-12-23

AI Technical Summary

Technical Problem

Existing traffic bandwidth scheduling methods for converged CDNs cannot achieve precise scheduling, resulting in significant discrepancies between bandwidth allocation ratios and expected requirements or strong limitations, failing to meet complex bandwidth allocation ratio schemes.

Method used

A semi-deterministic, semi-random allocation method is adopted, which combines the current number of requests, the approximation period value, and the bandwidth allocation ratio to determine the uplink IP resources of the CDN provider by generating random numbers, thereby achieving precise scheduling.

Benefits of technology

It enables precise scheduling of the business traffic bandwidth ratio of each CDN provider according to the system plan, saving system CDN bandwidth costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116248508B_ABST
    Figure CN116248508B_ABST
Patent Text Reader

Abstract

The application discloses a traffic bandwidth scheduling method and device of a fusion CDN, and belongs to the technical field of Internet. The method comprises the following steps: in response to receiving a current access request for an acceleration domain name, acquiring a domain name and a request source area corresponding to the current access request; acquiring an uplink traffic IP resource of each CDN vendor and a bandwidth allocation ratio of planned business traffic according to the domain name and the request source area; acquiring an approaching period value according to the number of CDN vendors; acquiring a current request frequency corresponding to the current access request; and determining the uplink traffic IP resource of the CDN vendor for scheduling and responding to the current access request according to the current request frequency, the approaching period value and the bandwidth allocation ratio. According to the method, the business traffic bandwidth ratios of each fusion CDN vendor planned by the system are used for accurate scheduling, so that the business traffic bandwidth of each fusion CDN vendor is accurately allocated, and the CDN bandwidth cost of the system is saved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of Internet, in particular to a traffic bandwidth scheduling method and device for converged CDN (Content Delivery Network), and an electronic device and a computer readable storage medium. BACKGROUND

[0002] A content delivery network (CDN) is a new network architecture added to the existing network, which publishes the content of a website to the network "edge" closest to the user, so that the user can obtain the required content nearby, solves the network congestion condition, and improves the response speed of the user accessing the content. Converged CDN is a content distribution service that can solve the closed and fragmented problem between multiple manufacturers of original CDN, and realizes fast and high-quality access of users through intelligent means such as monitoring, analysis, scheduling, and aggregation management.

[0003] In a converged CDN system, in order to more reasonably and flexibly plan the business traffic bandwidth of each CDN manufacturer, the system will dynamically adjust the bandwidth planning proportion of each CDN manufacturer of different domain names and region granularity in real time according to various data. The user LOCALDNS request needs to be accurately scheduled according to the planned bandwidth proportion, so as to ensure that the business traffic bandwidth usage of each CDN manufacturer meets the expected requirements. In the prior art, there are generally two ways for traffic scheduling of converged CDN: the first way is to randomly shake the number according to the bandwidth allocation proportion, and different CDN manufacturer coverage resources are responded to different requests; the second way is to allocate different CDN manufacturer IP resources in the coverage resource scheme according to the bandwidth allocation proportion. If the number of requests is small, the result of the first way of randomly shaking the number may be quite different from the planned bandwidth allocation proportion, and the expected result cannot be achieved; the second way is limited by the message length of the IP pushed to the customer, and the number of IPs is limited, which can only realize a few simple allocation proportions, and cannot meet the relatively complex bandwidth allocation proportion scheme, and has certain limitations.

[0004] Therefore, the traffic bandwidth scheduling method of the converged CDN in the prior art still needs to be improved. SUMMARY

[0005] The embodiments of the present application provide a traffic bandwidth scheduling method and device for converged CDN, and an electronic device, which helps to accurately schedule according to the business traffic bandwidth proportion of each converged CDN manufacturer planned by the system, so as to accurately allocate the business traffic bandwidth of each converged CDN manufacturer.

[0006] In a first aspect, the embodiments of the present application disclose a traffic bandwidth scheduling method for converged CDN, which comprises:

[0007] In response to receiving a current access request for an accelerated domain name, obtaining a domain name and a request source area corresponding to the current access request;

[0008] According to the domain name and the request source area, obtaining an uplink IP resource of each CDN vendor and a bandwidth allocation ratio of a planned traffic;

[0009] According to the number of CDN vendors, obtaining an approximation period value;

[0010] Obtaining a current request number corresponding to the current access request;

[0011] According to the current request number, the approximation period value and the bandwidth allocation ratio, determining the uplink IP resource of the CDN vendor for scheduling response to the current access request.

[0012] Optionally, the determining the uplink IP resource of the CDN vendor for scheduling response to the current access request according to the current request number, the approximation period value and the bandwidth allocation ratio comprises:

[0013] According to the current request number, the approximation period value and the bandwidth allocation ratio, using a semi-deterministic and semi-random allocation method to determine the uplink IP resource of the CDN vendor for scheduling response to the current access request.

[0014] Optionally, the using the semi-deterministic and semi-random allocation method to determine the uplink IP resource of the CDN vendor for scheduling response to the current access request according to the current request number, the approximation period value and the bandwidth allocation ratio comprises:

[0015] According to the current request number and the approximation period value, determining a random period value corresponding to the current access request;

[0016] According to the random period value and the approximation period value, obtaining a total request number in a complete random period corresponding to the random period value;

[0017] According to the total request number and the bandwidth allocation ratio, configuring a required response request number of each CDN vendor corresponding to the complete random period;

[0018] Obtaining a responded request number corresponding to each CDN vendor in an access request before the current access request;

[0019] According to the required response request number and the responded request number, obtaining an individual required response number and a total required response number of each CDN vendor corresponding to a current random period;

[0020] According to the individual required response times and the total required response times, the uplink IP resource of the CDN manufacturer responding to the current access request is determined by generating a random number.

[0021] Optionally, the determining of the random period value corresponding to the current access request according to the current request times and the approximation period value comprises:

[0022] Taking the quotient of the current request times divided by the approximation period value as a first integer;

[0023] The first integer is determined as the random period value corresponding to the current access request.

[0024] Optionally, the obtaining of the total request times in a random period complete period corresponding to the random period value according to the random period value and the approximation period value comprises:

[0025] The product of the random period value and the approximation period value is taken as the total request times in a random period complete period corresponding to the random period value.

[0026] Optionally, the configuring of the required response request times of each CDN manufacturer corresponding to the random period complete period according to the total request times and the bandwidth allocation ratio comprises:

[0027] A target CDN manufacturer is selected as a current CDN manufacturer, and the current CDN manufacturer is added to a distribution combination;

[0028] The product of the total request times and a distribution combination ratio factor is rounded to obtain a combination required response request times corresponding to the distribution combination, wherein the distribution combination ratio factor is equal to the quotient of the sum of the bandwidth allocation ratios of the CDN manufacturers in the distribution combination divided by the sum of the bandwidth allocation ratios of all the CDN manufacturers;

[0029] The combination required response request times is subtracted by the required response request times of the CDN manufacturers in the distribution combination that have been configured to obtain a first residual number;

[0030] The first residual number is configured as the required response request times of the current CDN manufacturer corresponding to the random period complete period;

[0031] In response to the number of target CDN manufacturers being greater than 1, the step of selecting a target CDN manufacturer as a current CDN manufacturer and adding the current CDN manufacturer to a distribution combination is repeated to configure the required response request times.

[0032] In response to the number of target CDN providers being equal to 1, the total number of requests is subtracted from the number of requests that the CDN provider has configured to respond to, resulting in a second remaining number of requests. The second remaining number of requests is then configured as the number of requests that the target CDN provider needs to respond to for the complete period of the random cycle, wherein the target CDN provider is the CDN provider that has not configured the number of requests that need to be responded to.

[0033] Optionally, determining the uplink IP resources of the CDN provider to schedule a response to the current access request based on the number of individual response requests and the total number of response requests by generating random numbers includes:

[0034] Based on the number of individual response requests and the total number of response requests, determine the continuous non-overlapping numerical range corresponding to the CDN provider;

[0035] Generate a random number greater than or equal to 1 and less than or equal to the total number of responses required.

[0036] The CDN vendors corresponding to the numerical range into which the random number falls are taken as the target CDN vendors;

[0037] The upstream traffic IP resources of the target CDN provider are identified as the upstream traffic IP resources of the CDN provider that will schedule a response to the current access request.

[0038] Optionally, obtaining the approximation period value based on the number of CDN providers includes:

[0039] The number of CDN providers is increased by a preset ratio to obtain an approximate period value.

[0040] Optionally, after obtaining the current request count corresponding to the current access request, the method further includes:

[0041] Determine whether the current request count is greater than or equal to a preset statistical request count threshold;

[0042] If the current number of requests is greater than or equal to the preset statistical request count threshold, the current number of requests is set to the initial count value;

[0043] If the current number of requests is less than the preset statistical request count threshold, the current number of requests is accumulated.

[0044] The preset statistical request count threshold is determined based on the least common multiple of the sum of the bandwidth allocation ratios and the approximation period value.

[0045] Secondly, embodiments of this application disclose a traffic bandwidth scheduling device integrating CDN, the device comprising:

[0046] The domain name and request source area obtaining module is configured to, in response to receiving a current access request for an acceleration domain name, obtain a domain name and a request source area corresponding to the current access request;

[0047] The CDN vendor information obtaining module is configured to, according to the domain name and the request source area, obtain uplink traffic IP resources and a bandwidth allocation ratio of planned service traffic of each CDN vendor;

[0048] The approximation period value obtaining module is configured to, according to the number of CDN vendors, obtain an approximation period value;

[0049] The current request number obtaining module is configured to obtain a current request number corresponding to the current access request;

[0050] The scheduling module is configured to, according to the current request number, the approximation period value and the bandwidth allocation ratio, determine the uplink traffic IP resources of the CDN vendor that responds to the current access request.

[0051] Optionally, the scheduling module is further configured to:

[0052] determine, according to the current request number, the approximation period value and the bandwidth allocation ratio, the uplink traffic IP resources of the CDN vendor that responds to the current access request by using a semi-deterministic and semi-random allocation method.

[0053] Optionally, the determining, according to the current request number, the approximation period value and the bandwidth allocation ratio, the uplink traffic IP resources of the CDN vendor that responds to the current access request by using a semi-deterministic and semi-random allocation method comprises:

[0054] determining, according to the current request number and the approximation period value, a random period value corresponding to the current access request;

[0055] obtaining, according to the random period value and the approximation period value, a total request number in a complete random period corresponding to the random period value;

[0056] configuring, according to the total request number and the bandwidth allocation ratio, a required response request number of each CDN vendor corresponding to the complete random period;

[0057] obtaining, in access requests before the current access request, a responded request number of each CDN vendor;

[0058] According to the required response request number and the responded request number, an individual required response request number and a total required response request number of a current random cycle corresponding to each CDN manufacturer are obtained;

[0059] According to the individual required response request number and the total required response request number, the CDN manufacturer that responds to the current access request is determined by generating a random number.

[0060] Optionally, the determining of the random cycle value corresponding to the current access request according to the current request number and the approximation cycle value comprises:

[0061] The quotient obtained by dividing the current request number by the approximation cycle value is rounded up to obtain a first integer;

[0062] The first integer is determined as the random cycle value corresponding to the current access request.

[0063] Optionally, the obtaining of the total request number in a random cycle complete cycle corresponding to the random cycle value according to the random cycle value and the approximation cycle value comprises:

[0064] The product of the random cycle value and the approximation cycle value is taken as the total request number in a random cycle complete cycle corresponding to the random cycle value.

[0065] Optionally, the configuring of the required response request number of a random cycle complete cycle corresponding to each CDN manufacturer according to the total request number and the bandwidth allocation ratio comprises:

[0066] A target CDN manufacturer is selected as a current CDN manufacturer, and the current CDN manufacturer is added to a distribution combination;

[0067] The product of the total request number and a distribution combination ratio factor is rounded to obtain a combination required response request number corresponding to the distribution combination, wherein the distribution combination ratio factor is equal to the quotient obtained by dividing the sum of the bandwidth allocation ratios of the CDN manufacturers in the distribution combination by the sum of the bandwidth allocation ratios of all the CDN manufacturers;

[0068] The combination required response request number is subtracted by the required response request number of the CDN manufacturers in the distribution combination that has been configured to obtain a first residual number;

[0069] The first residual number is configured as the required response request number of the random cycle complete cycle corresponding to the current CDN manufacturer;

[0070] In response to the number of target CDN vendors being greater than 1, jumping to the step of selecting one target CDN vendor as a current CDN vendor, adding the current CDN vendor to a distribution combination, and repeatedly performing the step of configuring the number of requests to be responded to for the number of times required to respond to the request;

[0071] In response to the number of target CDN vendors being equal to 1, subtracting the number of requests to be responded to configured by the CDN vendors from the total number of requests to obtain a second remaining number, and configuring the second remaining number as the number of requests to be responded to for the target CDN vendor corresponding to a complete cycle of the random cycle, wherein the target CDN vendor is the CDN vendor that has not configured the number of requests to be responded to.

[0072] Optionally, the method further includes:

[0073] determining a continuous non-intersecting numerical interval corresponding to the CDN vendor according to the individual number of requests to be responded to and the total number of requests to be responded to;

[0074] randomly generating a random number greater than or equal to 1 and less than or equal to the total number of requests to be responded to;

[0075] determining the CDN vendor corresponding to the numerical interval into which the random number falls as a target CDN vendor;

[0076] determining the uplink traffic IP resource of the target CDN vendor as the uplink traffic IP resource of the CDN vendor that responds to the current access request.

[0077] Optionally, the approximation cycle value acquisition module is further configured to:

[0078] amplifying the number of CDN vendors by a preset proportion to obtain an approximation cycle value.

[0079] Optionally, the apparatus further includes:

[0080] a request number judgment module configured to determine whether the current number of requests is greater than or equal to a preset statistical request number threshold;

[0081] a request number updating module configured to, in response to the current number of requests being greater than or equal to the preset statistical request number threshold, set the current number of requests as an initial count value;

[0082] the request number updating module is further configured to, in response to the current number of requests being less than the preset statistical request number threshold, accumulate the current number of requests;

[0083] The preset statistical request number threshold is determined according to a sum of the bandwidth allocation ratios and a least common multiple of the approximation period value.

[0084] In a third aspect, the embodiments of the present application further disclose an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the traffic bandwidth scheduling method of the converged CDN when executing the computer program.

[0085] In a fourth aspect, the embodiments of the present application disclose a computer readable storage medium, which stores a computer program, and the program implements the steps of the traffic bandwidth scheduling method of the converged CDN when executed by a processor.

[0086] The traffic bandwidth scheduling method of the converged CDN disclosed by the embodiments of the present application, by responding to the current access request for the accelerated domain name, acquires the domain name and the request source area corresponding to the current access request; according to the domain name and the request source area, acquires the uplink traffic IP resource of each CDN vendor and the bandwidth allocation ratio of the planned business traffic; according to the number of CDN vendors, acquires an approximation period value; acquires the current request number corresponding to the current access request; according to the current request number, the approximation period value and the bandwidth allocation ratio, determines the uplink traffic IP resource of the CDN vendor for scheduling response to the current access request, realizes the accurate scheduling according to the business traffic bandwidth ratio of each converged CDN vendor planned by the system, and accurately allocates the business traffic bandwidth of each converged CDN vendor, greatly saves the system CDN bandwidth cost.

[0087] The above description is only a summary of the technical solutions of the present application, in order to more clearly understand the technical means of the present application, the embodiments can be implemented according to the content of the specification, and in order to make the above and other purposes, characteristics and advantages of the present application more obvious and easy to understand, the following specific embodiments of the present application are described. BRIEF DESCRIPTION OF DRAWINGS

[0088] In order to make the purposes, technical solutions and advantages of the embodiments of the present application more clear, the technical solutions in the embodiments of the present application will be described clearly and completely in combination with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor are within the scope of protection of the present application.

[0089] Figure 1 is a flowchart of the traffic bandwidth scheduling method of the converged CDN disclosed by the embodiments of the present application;

[0090] Figure 2 is another flow chart of the traffic bandwidth scheduling method of the fusion CDN disclosed by the embodiments of the present application;

[0091] Figure 3 is a flow chart of the step of determining CDN vendors in the traffic bandwidth scheduling method of the fusion CDN disclosed by the embodiments of the present application;

[0092] Figure 4 is a set of comparison experimental data of the traffic bandwidth scheduling method of the fusion CDN and the random number scheduling algorithm disclosed by the embodiments of the present application;

[0093] Figure 5 is another set of comparison experimental data of the traffic bandwidth scheduling method of the fusion CDN and the random number scheduling algorithm disclosed by the embodiments of the present application;

[0094] Figure 6 is one of the structure schematic diagrams of the traffic bandwidth scheduling device of the fusion CDN disclosed by the embodiments of the present application;

[0095] Figure 7 is another of the structure schematic diagrams of the traffic bandwidth scheduling device of the fusion CDN disclosed by the embodiments of the present application;

[0096] Figure 8 a block diagram of an electronic device for performing the method according to the present application is schematically shown; and

[0097] Figure 9 a storage unit for holding or carrying program code for implementing the method according to the present application is schematically shown. DETAILED DESCRIPTION

[0098] The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some of the embodiments of the present application, but not all the embodiments of the present application. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work fall within the scope of protection of the present application.

[0099] As shown in Figure 1 , a traffic bandwidth scheduling method of a fusion CDN disclosed by the embodiments of the present application comprises steps 110 to 150.

[0100] Step 110, in response to receiving a current access request for an accelerated domain name, obtaining a domain name and a request source area corresponding to the current access request.

[0101] In some embodiments of the present application, the current access request can be a LOCALDNS request for accessing an accelerated domain name. Optionally, the current access request carries the request source area and the domain name to be accessed.

[0102] The scheduling system of the fusion CDN system receives the LOCALDNS request, and obtains a domain name and a request source area corresponding to the current access request by performing request parameter analysis on the current access request. The request source area can be determined according to the geographical position of a user initiating the current access request and a geographical area plan of an operator granularity of the fusion CDN system. The domain name can be a domain name requiring CDN acceleration.

[0103] In step 120, the uplink IP resources of each CDN vendor and the bandwidth allocation ratio of planned business traffic are obtained according to the domain name and the request source area.

[0104] In the embodiment of the application, the uplink IP resource is an IP exposed by a CDN to the outside for requesting access to content. In the fusion CDN system, an operator deploys CDN nodes of each CDN vendor according to an operation area plan, and configures the uplink IP resources of each CDN node.

[0105] In one application scenario of the application, in order to achieve network acceleration, if a domain name is enabled for CDN acceleration in a fusion CDN vendor, the fusion CDN vendor caches domain name acceleration content in edge node servers in each edge area, and users can access content in the vicinity through uplink IPs of the domain name covered by the edge area, thereby achieving the purpose of acceleration.

[0106] Therefore, after obtaining the domain name and the request source area corresponding to the current access request, the scheduling system can search for edge node servers covering the service of the domain name in edge node servers deployed in the vicinity of the request source area. The obtained edge node servers can include edge node servers of multiple CDN vendors. Further, according to configuration information in the fusion CDN system, the uplink IP resources of each CDN vendor and the bandwidth allocation ratio of planned business traffic can be obtained.

[0107] The bandwidth allocation ratio is used to indicate the access traffic that can be allocated to each CDN vendor.

[0108] For example, when a domain name is enabled for acceleration by multiple CDN vendors in a fusion CND system, the bandwidth traffic that needs to be accelerated by each CDN vendor needs to be allocated, and the allocation of traffic is mainly performed by allocating the LOCALDNS request for acceleration. Assuming that 100 users access a domain name requiring acceleration, 50 user access requests can be directed to CDN vendor A, and 50 user access requests can be directed to CDN vendor B, so as to achieve acceleration of half of the bandwidth traffic by CDN vendor A and acceleration of half of the bandwidth traffic by CDN vendor B.

[0109] The uplink IP resources of each CDN vendor and the bandwidth allocation ratio of the planned traffic are pre-configured and stored in the scheduling system. The bandwidth allocation ratio can be the number of access requests scheduled to each CDN vendor in an access frequency statistical period. Taking a fusion CDN system including five CDN vendors as an example, if an access frequency statistical period is 100 access requests, the bandwidth allocation ratio of the CDN vendors can be expressed as 17:24:37:9:13, that is, in 100 access requests, the access requests scheduled to each CDN vendor are 17, 24, 37, 9 and 13 respectively.

[0110] In another embodiment of the present application, the bandwidth allocation ratio can also be expressed by other methods, and the present application does not limit the expression form of the bandwidth allocation ratio.

[0111] In step 130, an approximation period value is obtained according to the number of CDN vendors.

[0112] Taking the bandwidth allocation ratio as an example, if the number of access requests is completely scheduled according to the bandwidth allocation ratio, at least 100 access requests are needed. In order to maintain the traffic bandwidth allocation ratio closest to 100 access requests in the case of a small number of access requests, the approximation method is used in the embodiment of the present application, so that the traffic bandwidth allocation ratio of the access requests is closest to the set bandwidth allocation ratio when the number of access requests is 10, 20, …, 100, so that the number of access requests allocated to each fusion CDN vendor is closest to the pre-configured bandwidth allocation ratio in the case of a small number of access requests.

[0113] Therefore, the approximation period is introduced in the embodiment of the present application.

[0114] In some embodiments of the present application, obtaining the approximation period value according to the number of CDN vendors includes: magnifying the number of CDN vendors by a preset ratio to obtain the approximation period value. The magnifying preset ratio is an integer value greater than or equal to 2. Taking the number of CDN vendors equal to 5 and the preset ratio equal to 2 as an example, the calculated approximation period value is equal to 10. The approximation period value is used to calculate the number of access requests to be configured for each CDN vendor.

[0115] Optionally, the preset ratio is set according to experience.

[0116] In step 140, the current request number corresponding to the current access request is obtained.

[0117] In the implementation of the present application, the scheduling system performs statistics and caching with each LOCALDNS request. The current request number corresponding to the current access request can be obtained by reading the cached data.

[0118] In some embodiments of this application, such as Figure 2 As shown, after obtaining the current request count corresponding to the current access request, the method further includes steps 141, 142, and 143.

[0119] Step 141: Determine whether the current number of requests is greater than or equal to a preset statistical request count threshold.

[0120] The preset statistical request count threshold is determined based on the least common multiple of the sum of the bandwidth allocation ratios and the approximation period value.

[0121] Taking the obtained CDN provider's bandwidth allocation ratio of 17:24:37:9:13 as an example, where the bandwidth allocation ratio is the proportion of access request counts, and the sum of the bandwidth allocation ratios is 100, and taking the approximation period value of 10 calculated in the previous steps as an example, the preset statistical request count threshold can be set as the least common multiple of the sum of the bandwidth allocation ratios (100) and the approximation period value (10). That is, the preset statistical request count threshold can be set to 100.

[0122] If the bandwidth allocation ratio is in percentage or other proportion form, the bandwidth allocation ratio can be converted into an integer value, and then the calculation can be performed according to the above method.

[0123] Step 142: In response to the current request count being greater than or equal to the preset statistical request count threshold, the current request count is set to the initial count value.

[0124] Step 143: In response to the current number of requests being less than the preset statistical request count threshold, the current number of requests is accumulated.

[0125] In some embodiments of this application, if the current request count is greater than or equal to the preset statistical request count threshold, the cached LOCALDNS request count can be cleared and the counting can be restarted. For example, the initial count value can be set to 1; if the current request count is less than the preset statistical request count threshold, the cached current request count can be incremented by 1 to update the cached current request count.

[0126] Step 150: Based on the current request count, the approximation period value, and the bandwidth allocation ratio, determine the uplink IP resources of the CDN provider that will schedule a response to the current access request.

[0127] Next, based on the current request count, the approximation period value, and the bandwidth allocation ratio, it is determined which CDN provider's uplink IP resource the current access request will be scheduled to.

[0128] In some embodiments of this application, determining the uplink IP resources of the CDN provider that will schedule a response to the current access request based on the current request count, the approximation period value, and the bandwidth allocation ratio includes: determining the uplink IP resources of the CDN provider that will schedule a response to the current access request using a semi-deterministic semi-random allocation method based on the current request count, the approximation period value, and the bandwidth allocation ratio.

[0129] The semi-deterministic semi-random allocation method refers to combining two deterministic values—the current request count, the approximation period value, and the bandwidth allocation ratio—with random numbers to determine which CDN provider to schedule the current access request to.

[0130] In some embodiments of this application, such as Figure 3 As shown, the step of determining the uplink IP resources of the CDN provider that will schedule a response to the current access request based on the current request count, the approximation period value, and the bandwidth allocation ratio using a semi-deterministic semi-random allocation method includes: sub-steps 1501 to 1506.

[0131] Sub-step 1501: Determine the random period value corresponding to the current access request based on the current request count and the approximation period value.

[0132] The random period value corresponding to the current access request is used to indicate the sequence number of the random period in which the current access request is located, that is, which random period the current access request is in.

[0133] In some embodiments of this application, determining the random period value corresponding to the current access request based on the current request count and the approximation period value includes: rounding up the quotient obtained by dividing the current request count by the approximation period value to obtain a first integer; and determining the first integer as the random period value corresponding to the current access request.

[0134] For a specific example, the random period value corresponding to the current access request can be calculated using the formula N = math.ceil(Count / M), where Count is the number of current requests, M is the approximation period value, math.ceil() is the floor function, and N represents the random period value corresponding to the current access request, that is, the current access request is in the Nth random period.

[0135] Sub-step 1502: Based on the random period value and the approximation period value, obtain the total number of requests within the complete random period corresponding to the random period value.

[0136] In some embodiments of this application, the length of the complete period of the random period is equal to the approximation period value.

[0137] In some embodiments of this application, obtaining the total number of requests within the complete random period corresponding to the random period value based on the random period value and the approximation period value includes: using the product of the random period value and the approximation period value as the total number of requests within the complete random period corresponding to the random period value.

[0138] For a specific example, the total number of requests (SumReq) within the Nth random period can be calculated using the formula SumReq = N × M, where N is the index of the current random period, which is the same as the current random period. In other words, the Nth random period is the same as the random period corresponding to the Nth random period.

[0139] Sub-step 1503: Based on the total number of requests and the bandwidth allocation ratio, configure the number of requests that each CDN provider needs to respond to for the complete random period.

[0140] In some embodiments of this application, the number of requests that each CDN provider needs to respond to for the complete random period is configured according to the total number of requests and the bandwidth allocation ratio, including sub-steps 15031 to 15036.

[0141] Sub-step 15031: Select a target CDN vendor as the current CDN vendor and add the current CDN vendor to the allocation combination.

[0142] Sub-step 15032: Round the product of the total number of requests and the allocation combination ratio factor to obtain the number of requests that need to be responded to for the allocation combination, wherein the allocation combination ratio factor is equal to the quotient obtained by dividing the sum of the bandwidth allocation ratios of the CDN vendors in the allocation combination by the sum of the bandwidth allocation ratios of all the CDN vendors.

[0143] Sub-step 15033: Subtract the number of requests that need to be responded to by the CDN vendor in the allocation combination from the number of requests that need to be responded to in the combination to obtain the first remaining number of requests.

[0144] Sub-step 15034: Configure the first remaining number of times as the number of requests that the current CDN provider needs to respond to for the complete period of the random period.

[0145] Sub-step 15035: In response to the number of target CDN providers being greater than 1, jump to the step of selecting a target CDN provider as the current CDN provider and adding the current CDN provider to the allocation combination, and repeat the configuration of the number of requests to be responded to.

[0146] Sub-step 15036: In response to the number of target CDN providers being equal to 1, the total number of requests is subtracted from the number of requests that the CDN provider has configured to respond to, resulting in a second remaining number of requests. The second remaining number of requests is then configured as the number of requests that the target CDN provider needs to respond to for the complete period of the random cycle. Here, the target CDN provider is the CDN provider that has not configured the number of requests that need to be responded to.

[0147] Taking the acquisition of five CDN providers with bandwidth allocation ratios of a, b, c, d, and e as an example, when sub-step 15031 is executed for the first time, none of the five CDN providers have configured the number of requests to be responded to; they are all target CDN providers, and there are no CDN providers in the allocation combination. At this time, a target CDN provider can be randomly selected as the current CDN provider and added to the allocation combination. Taking CDN provider A corresponding to bandwidth allocation ratio a as an example, the allocation combination at this time only contains CDN provider A.

[0148] Next, the number of requests that need to be responded to for the allocation combination can be calculated using the formula gSumReq=math.round(SumReq×g / (a+b+c+d+e)), where SumReq represents the total number of requests, g represents the sum of the bandwidth allocation ratios of the CDN vendors in the allocation combination, and when there is only CDN vendor A corresponding to bandwidth allocation ratio a in the allocation combination, g=a, and g / (a+b+c+d+e) is the allocation combination ratio factor.

[0149] Next, the number of requests that the combination needs to respond to, gSumReq, is subtracted from the number of requests that the CDN provider in the allocation combination has already configured to respond to, to obtain the first remaining number of requests. When the allocation combination contains only CDN provider A corresponding to the bandwidth allocation ratio a, the first remaining number of requests is equal to the number of requests that the combination needs to respond to, gSumReq.

[0150] Then, the first remaining number of times is configured as the number of requests that the current CDN provider needs to respond to for the complete period of the random period, aSumReq.

[0151] From the calculation process of sub-steps 15031 to 15033, it can be concluded that when the allocation combination only includes CDN vendor A corresponding to the bandwidth allocation ratio a, the calculation formula for the number of requests aSumReq that CDN vendor A needs to respond to in the complete random period is as follows:

[0152] aSumReq=math.round(SumReq×a / (a+b+c+d+e)).

[0153] Next, we will continue to configure the number of requests that CDN providers with bandwidth allocation ratios of b, c, d, and e need to respond to for the complete random period.

[0154] Taking CDN provider B corresponding to bandwidth allocation ratio b as an example, the current CDN provider is added to the allocation combination. At this time, the allocation combination includes CDN provider B corresponding to bandwidth allocation ratio b and CDN provider A corresponding to bandwidth allocation ratio a.

[0155] Next, the number of requests that need to be responded to for this allocation combination can be calculated using the formula gSumReq=math.round(SumReq×g / (a+b+c+d+e)), where g=a+b.

[0156] Subtracting the number of requests that need to be responded to by the CDN provider in the allocation combination (i.e., the number of requests that need to be responded to by CDN provider A corresponding to bandwidth allocation ratio a, aSumReq) from the number of requests that need to be responded to in the combination, gSumReq, yields the first remaining number of requests, gSumReq-aSumReq. This first remaining number of requests is then configured as the number of requests that need to be responded to by the current CDN provider B for the complete period of the random cycle, bSumReq.

[0157] From the aforementioned calculation process, it can be concluded that when the allocation combination includes CDN provider A corresponding to bandwidth allocation ratio a and CDN provider B corresponding to bandwidth allocation ratio b, the calculation formula for the number of requests bSumReq that CDN provider B needs to respond to for the complete period of the random period is as follows:

[0158] bSumReq=math.round(SumReq×(a+b) / (a+b+c+d+e))-aSumReq.

[0159] Using the above method, after calculating the number of requests cSumReq and dSumReq required by the CDN vendor for the complete period of the random cycle corresponding to bandwidth allocation ratios c and d, respectively, only the CDN corresponding to bandwidth allocation ratio e remains. At this time, the total number of requests is subtracted from the number of requests required by the CDN vendor that has been configured to respond, to obtain the second remaining number. The second remaining number is configured as the number of requests required by the target CDN vendor for the complete period of the random cycle, eSumReq.

[0160] That is, eSumReq = SumReq - aSumReq - bSumReq - cSumReq - dSumReq.

[0161] Thus, the number of response requests required by the CDN vendor for each complete random period (i.e., the number of response requests required for each of the Nth complete random period) corresponding to the bandwidth allocation ratios a, b, c, d, and e are obtained: aSumReq, bSumReq, cSumReq, dSumReq, and eSumReq.

[0162] Sub-step 1504: Obtain the number of requests that have been responded to by each CDN provider in the access requests preceding the current access request.

[0163] Taking the current access request count as Count as an example, the number of access requests that each CDN provider has responded to in the previous Count-1 access requests is obtained as the number of requests that each CDN provider has responded to, for example, denoted as aReq, bReq, ​​cReq, dReq and eReq.

[0164] Sub-step 1505: Based on the number of requests that need to be responded to and the number of requests that have been responded to, obtain the individual number of requests that need to be responded to and the total number of requests that need to be responded to for each CDN provider in the current random period.

[0165] Next, based on the historical number of response requests and the number of response requests required in the current random period, the number of requests that each CDN provider still needs to respond to in the current random period is calculated, i.e., the number of individual responses required. This is achieved by subtracting the number of already responded requests from the number of requests that need to be responded to, thus obtaining the number of individual responses required for each CDN provider in the current random period.

[0166] In some embodiments of this application, the number of individual responses required for each CDN provider in the current random period can be calculated using the following formula.

[0167] iNeedReq = iSumReq - iReq;

[0168] Where iSumReq represents the number of requests that need to be responded to for CDN provider i, iReq represents the number of requests that have been responded to for CDN provider i, and iNeedReq represents the number of individual requests that need to be responded to for CDN provider i in the current random period.

[0169] Taking the previous steps to obtain five CDN providers as an example, the number of individual responses required for the current random period corresponding to the bandwidth allocation ratios a, b, c, d, and e can be calculated using the following formulas:

[0170] aNeedReq = aSumReq - aReq;

[0171] bNeedReq = bSumReq - bReq;

[0172] cNeedReq = cSumReq - cReq;

[0173] dNeedReq = dSumReq - dReq;

[0174] eNeedReq = eSumReq - eReq.

[0175] Wherein, aSumReq, bSumReq, cSumReq, dSumReq, and eSumReq are the number of response requests required by the CDN vendor for the complete period of the random cycle corresponding to bandwidth allocation ratios a, b, c, d, and e (i.e., the number of response requests required for each of the Nth complete random cycle).

[0176] aReq, bReq, ​​cReq, dReq, and eReq represent the number of requests that the CDN provider has responded to in the previous access requests, corresponding to bandwidth allocation ratios a, b, c, d, and e, respectively.

[0177] Furthermore, the total number of responses required for each individual CDN provider in the current random period is summed to obtain the total number of responses required for the current random period. For example, taking the CDN providers corresponding to bandwidth allocation ratios a, b, c, d, and e as an example, the formula is:

[0178] sNeedReq = aNeedReq + bNeedReq + cNeedReq + dNeedReq + eNeedReq calculates the total number of responses required for the current random period, sNeedReq.

[0179] Sub-step 1506: Based on the number of individual response requests and the total number of response requests, determine the uplink IP resources of the CDN provider that will schedule a response to the current access request by generating random numbers.

[0180] In some embodiments of this application, determining the uplink IP resources of the CDN vendor to schedule a response to the current access request by generating random numbers based on the individual response count and the overall response count includes: determining a continuous, disjoint numerical interval corresponding to the CDN vendor based on the individual response count and the overall response count, wherein the lower limit of the numerical interval is greater than or equal to 1 and the upper limit is less than or equal to the overall response count; randomly generating a random number greater than or equal to 1 and less than or equal to the overall response count; designating the CDN vendor corresponding to the numerical interval into which the random number falls as the target CDN vendor; and determining the uplink IP resources of the target CDN vendor as the uplink IP resources of the CDN vendor to schedule a response to the current access request.

[0181] First, based on the number of individual response requests for each CDN provider, the total number of response requests is divided into multiple numerical intervals. The number of numerical intervals is equal to the number of CDN providers with an individual response request greater than 0. Each CDN provider corresponds to one numerical interval, and the numerical span of each interval is the same as the number of individual response requests for the corresponding CDN provider.

[0182] Taking the CDN providers corresponding to the bandwidth allocation ratios a, b, c, d, and e as an example, assuming the current request count Count = 13 and the approximation period value M = 10, the calculated current random period N = 2, indicating that it is the second random period. Further, according to the aforementioned method, the total number of requests for the complete second random period, SumReq = N × M = 20, can be calculated. Furthermore, when a:b:c:d:e = 17:24:37:9:13, using the aforementioned method, aSumReq = 3, bSumReq = 5, cSumReq = 8, dSumReq = 1, and eSumReq = 3.

[0183] Furthermore, assuming the response times for the first 12 access requests are: aReq = 2 times, bReq = 3 times, cReq = 5 times, dReq = 1 time, and eReq = 1 time, then the number of individual responses required by each CDN provider are: aNeedReq = 1 time, bNeedReq = 2 times, cNeedReq = 3 times, dNeedReq = 0 times, and eNeedReq = 2 times, with a total number of responses required (sumNeedReq = 8 times).

[0184] Since there are four CDN providers that still need to allocate access requests (i.e., CDN providers with an individual response count greater than 0), the total response count sumNeedReq = 8 is divided into four numerical intervals. Taking the numerical intervals corresponding to bandwidth allocation ratios a, b, c, and e from smallest to largest as examples, the numerical span of each interval is set. For example, if the individual response count for CDN providers corresponding to bandwidth allocation ratio a is 1, then the numerical interval for CDN providers corresponding to bandwidth allocation ratio a is [1,1]. Similarly, if the individual response count for CDN providers corresponding to bandwidth allocation ratio b is 2, then the numerical interval for CDN providers corresponding to bandwidth allocation ratio b is [2,3]. Furthermore, if the individual response count for CDN providers corresponding to bandwidth allocation ratio c is 3, then the numerical interval for CDN providers corresponding to bandwidth allocation ratio c is [4,6]. Finally, if the individual response count for CDN providers corresponding to bandwidth allocation ratio e is 2, then the numerical interval for CDN providers corresponding to bandwidth allocation ratio e is [7,8].

[0185] Next, a random number Y, greater than or equal to 1 and less than or equal to 8, is randomly generated. The CDN provider corresponding to the specified interval (a) where the random number Y falls is selected as the target CDN provider. For example, if the random number Y is 1 and falls within the interval [1,1], the CDN provider with bandwidth allocation ratio a corresponding to interval [1,1] is selected as the target CDN provider; if the random number Y is 2 or 3 and falls within the interval [2,3], the CDN provider with bandwidth allocation ratio b corresponding to interval [2,3] is selected as the target CDN provider; if the random number Y is 4, 5, or 6 and falls within the interval [4,6], the CDN provider with bandwidth allocation ratio c corresponding to interval [4,6] is selected as the target CDN provider; and if the random number Y is 7 or 8 and falls within the interval [7,8], the CDN provider with bandwidth allocation ratio e corresponding to interval [7,8] is selected as the target CDN provider.

[0186] Then, the current access request will be assigned to the upstream IP resources of the identified target CDN provider.

[0187] This completes the bandwidth scheduling for the current access request.

[0188] With the bandwidth allocation ratio of the aforementioned five converged CDN providers being 17:24:37:9:13, the applicant compared the traffic bandwidth scheduling method of the converged CDN disclosed in this application with the traditional random number generation algorithm under the conditions of fewer and more Local DNS requests. The comparison results are as follows. Figure 4As shown. The difference between the request result and the bandwidth allocation ratio is defined as a discrete value, and the formula for the discrete value L is:

[0189]

[0190]

[0191] In the above formula, aRate represents the bandwidth allocation ratio of the converged CDN provider, SumReq represents the total number of requests, aRateNum represents the proportion of requests that each converged CDN provider needs to respond to in the total number of requests, determined according to the bandwidth allocation ratio, a represents the actual number of requests responded by each converged CDN provider, and N represents the number of converged CDN providers.

[0192] Depend on Figure 4 It can be seen that when the number of LOCALDNS requests is small, due to the randomness of the random number scheduling algorithm itself, the request response results differ significantly from the bandwidth allocation ratio, and the discrete values ​​of each group of data are relatively high compared to the method disclosed in this application embodiment. In contrast, the method disclosed in this application embodiment, which uses a semi-deterministic semi-random allocation method, can still maintain request results close to the bandwidth allocation ratio even when the number of requests is small, with relatively low discrete values, enabling more accurate service traffic bandwidth scheduling.

[0193] The applicant compared the traffic bandwidth scheduling method of the converged CDN disclosed in this application with the traditional random number scheduling algorithm in multiple experiments with 100 local DNS requests, given that the bandwidth allocation ratio of the aforementioned five converged CDN providers was 17:24:37:9:13. The comparison results are as follows: Figure 5 As shown. By Figure 5 As can be seen, the random number scheduling algorithm has different results each time due to its randomness, and the discrete value deviation is large. However, the traffic bandwidth scheduling method of the integrated CDN disclosed in this application adopts a semi-deterministic semi-random allocation method. Within the total number of statistical requests (the value is 100 times under this bandwidth allocation ratio), it can respond completely according to the bandwidth allocation ratio, with a discrete value of 0, which can achieve more accurate business traffic bandwidth scheduling.

[0194] The traffic bandwidth scheduling method for converged CDN disclosed in this application embodiment, in response to receiving a current access request for an accelerated domain name, obtains the domain name and request source region corresponding to the current access request; based on the domain name and request source region, obtains the uplink IP resources and planned business traffic bandwidth allocation ratio of each CDN provider; based on the number of CDN providers, obtains an approximation period value; obtains the current request count corresponding to the current access request; and based on the current request count, the approximation period value, and the bandwidth allocation ratio, determines the uplink IP resources of the CDN provider that will schedule the response to the current access request. This achieves precise scheduling based on the business traffic bandwidth ratio of each converged CDN provider planned by the system, thereby accurately allocating the business traffic bandwidth of each converged CDN provider and greatly saving system CDN bandwidth costs.

[0195] Furthermore, the traffic bandwidth scheduling method for integrated CDN disclosed in this application embodiment determines the uplink IP resources of the CDN provider that will schedule the response to the current access request by adopting a semi-deterministic semi-random allocation method. Even in scenarios with a small number of current requests and a complex bandwidth allocation ratio, it can accurately schedule business traffic bandwidth. Compared with the traffic bandwidth scheduling methods in the prior art, it is more accurate and more universal.

[0196] Accordingly, embodiments of this application also disclose a traffic bandwidth scheduling device integrating CDN, such as... Figure 6 As shown, the device includes:

[0197] The domain name and request source region acquisition module 610 is used to acquire the domain name and request source region corresponding to the current access request in response to receiving a current access request for the accelerated domain name;

[0198] The CDN vendor information acquisition module 620 is used to acquire the uplink IP resources and bandwidth allocation ratio of planned business traffic of each CDN vendor based on the domain name and the request source region.

[0199] The approximation period value acquisition module 630 is used to acquire the approximation period value based on the number of CDN vendors.

[0200] The current request count acquisition module 640 is used to acquire the current request count corresponding to the current access request;

[0201] The scheduling module 650 is used to determine the uplink IP resources of the CDN provider that will schedule a response to the current access request based on the current request count, the approximation period value, and the bandwidth allocation ratio.

[0202] In some embodiments of this application, the scheduling module 650 is further configured to:

[0203] Based on the current request count, the approximation period value, and the bandwidth allocation ratio, a semi-deterministic, semi-random allocation method is used to determine the uplink IP resources of the CDN provider that will schedule a response to the current access request.

[0204] In some embodiments of this application, the step of determining the uplink IP resources of the CDN provider that will schedule a response to the current access request using a semi-deterministic, semi-random allocation method based on the current request count, the approximation period value, and the bandwidth allocation ratio includes:

[0205] Based on the current request count and the approximation period value, determine the random period value corresponding to the current access request;

[0206] Based on the random period value and the approximation period value, obtain the total number of requests within the complete random period corresponding to the random period value;

[0207] Based on the total number of requests and the bandwidth allocation ratio, configure the number of requests that each CDN provider needs to respond to for the complete period of the random cycle;

[0208] Get the number of requests that each CDN provider has responded to in the access requests prior to the current access request;

[0209] Based on the number of requests that need to be responded to and the number of requests that have been responded to, obtain the individual number of requests that need to be responded to and the total number of requests that need to be responded to for each CDN provider in the current random period;

[0210] Based on the number of individual response requests and the total number of response requests, the CDN provider's upstream IP resources for scheduling and responding to the current access request are determined by generating random numbers.

[0211] In some embodiments of this application, determining the random period value corresponding to the current access request based on the current request count and the approximation period value includes:

[0212] The quotient obtained by dividing the current number of requests by the approximation period value is rounded up to obtain a first integer;

[0213] The first integer is determined as the random period value corresponding to the current access request.

[0214] In some embodiments of this application, obtaining the total number of requests within a complete random period corresponding to the random period value based on the random period value and the approximation period value includes:

[0215] The product of the random period value and the approximation period value is taken as the total number of requests within the complete period of the random period corresponding to the random period value.

[0216] In some embodiments of this application, configuring the number of requests that each CDN provider needs to respond to for the complete period of the random period according to the total number of requests and the bandwidth allocation ratio includes:

[0217] Select a target CDN provider as the current CDN provider and add the current CDN provider to the allocation group;

[0218] The product of the total number of requests and the allocation combination ratio factor is rounded to obtain the number of requests that the combination needs to respond to corresponding to the allocation combination. The allocation combination ratio factor is equal to the quotient obtained by dividing the sum of the bandwidth allocation ratios of the CDN vendors in the allocation combination by the sum of the bandwidth allocation ratios of all CDN vendors.

[0219] Subtract the number of requests that the CDN provider has configured to respond to in the allocated combination from the number of requests that the combination needs to respond to, to obtain the first remaining number of requests;

[0220] Configure the first remaining number of times as the number of requests that the current CDN provider needs to respond to for the complete period of the random period;

[0221] If the number of target CDN providers is greater than 1, proceed to the step of selecting a target CDN provider as the current CDN provider and adding the current CDN provider to the allocation combination, and repeat the configuration of the number of requests to be responded to.

[0222] In response to the number of target CDN providers being equal to 1, the total number of requests is subtracted from the number of requests that the CDN provider has configured to respond to, resulting in a second remaining number of requests. The second remaining number of requests is then configured as the number of requests that the target CDN provider needs to respond to for the complete period of the random cycle, wherein the target CDN provider is the CDN provider that has not configured the number of requests that need to be responded to.

[0223] In some embodiments of this application, determining the uplink IP resources of the CDN provider to schedule a response to the current access request by generating random numbers based on the individual response count and the overall response count includes:

[0224] Based on the number of individual response requests and the total number of response requests, determine the continuous non-overlapping numerical range corresponding to the CDN provider;

[0225] Generate a random number greater than or equal to 1 and less than or equal to the total number of responses required.

[0226] The CDN vendors corresponding to the numerical range into which the random number falls are taken as the target CDN vendors;

[0227] The upstream traffic IP resources of the target CDN provider are identified as the upstream traffic IP resources of the CDN provider that will schedule a response to the current access request.

[0228] In some embodiments of this application, the approximation period value acquisition module 630 is further configured to:

[0229] The number of CDN providers is increased by a preset ratio to obtain an approximate period value.

[0230] In some embodiments of this application, such as Figure 7 As shown, the device further includes:

[0231] The request count determination module 641 is used to determine whether the current request count is greater than or equal to a preset statistical request count threshold.

[0232] The request count update module 642 is used to set the current request count to an initial count value in response to the current request count being greater than or equal to the preset statistical request count threshold.

[0233] The request count update module 642 is further configured to accumulate the current request count in response to the current request count being less than the preset statistical request count threshold;

[0234] The preset statistical request count threshold is determined based on the least common multiple of the sum of the bandwidth allocation ratios and the approximation period value.

[0235] The traffic bandwidth scheduling device for converged CDN disclosed in this application is used to implement the traffic bandwidth scheduling method for converged CDN described in this application. The specific implementation methods of each module of the device will not be repeated here, but can be found in the specific implementation methods of the corresponding steps in the method embodiments.

[0236] This application discloses a traffic bandwidth scheduling device for a converged CDN. Upon receiving a current access request for an accelerated domain name, the device obtains the domain name and request source region corresponding to the current access request; based on the domain name and request source region, it obtains the uplink IP resources and planned service traffic bandwidth allocation ratio of each CDN provider; based on the number of CDN providers, it obtains an approximation period value; it obtains the current request count corresponding to the current access request; and based on the current request count, the approximation period value, and the bandwidth allocation ratio, it determines the uplink IP resources of the CDN provider that will schedule the response to the current access request. This achieves precise scheduling based on the planned service traffic bandwidth ratio of each converged CDN provider, thereby accurately allocating the service traffic bandwidth of each converged CDN provider and significantly reducing system CDN bandwidth costs.

[0237] Furthermore, the traffic bandwidth scheduling device for integrated CDN disclosed in this application embodiment determines the uplink IP resources of the CDN provider that will schedule the response to the current access request by adopting a semi-deterministic semi-random allocation method. Even in scenarios with a small number of current requests and a complex bandwidth allocation ratio, it can accurately schedule business traffic bandwidth. Compared with the traffic bandwidth scheduling methods in the prior art, it is more accurate and more universal.

[0238] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus embodiments, since they are fundamentally similar to the method embodiments, the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments.

[0239] The above provides a detailed description of a traffic bandwidth scheduling method and apparatus for integrated CDN provided by this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The description of the above embodiments is only for the purpose of helping to understand the method of this application and its core idea. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the idea of ​​this application. Therefore, the content of this specification should not be construed as a limitation of this application.

[0240] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.

[0241] The various component embodiments of this application can be implemented in hardware, or as software modules running on one or more processors, or a combination thereof. Those skilled in the art will understand that microprocessors or digital signal processors (DSPs) can be used in practice to implement some or all of the functions of some or all of the components in the electronic device according to the embodiments of this application. This application can also be implemented as a device or apparatus program (e.g., a computer program and computer program product) for performing part or all of the methods described herein. Such a program implementing this application can be stored on a computer-readable medium, or can be in the form of one or more signals. Such signals can be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.

[0242] For example, Figure 8 An electronic device is shown that can implement the methods according to this application. The electronic device can be a PC, mobile terminal, personal digital assistant, tablet computer, etc. The electronic device conventionally includes a processor 810 and a memory 820, and program code 830 stored in the memory 820 and executable on the processor 810. When the processor 810 executes the program code 830, it implements the methods described in the above embodiments. The memory 820 can be a computer program product or a computer-readable medium. The memory 820 can be an electronic memory such as flash memory, EEPROM (Electrically Erasable Programmable Read-Only Memory), EPROM, hard disk, or ROM. The memory 820 has a storage space 8201 for the program code 830 of a computer program for performing any of the method steps described above. For example, the storage space 8201 for the program code 830 can include various computer programs for implementing the various steps in the above methods. The program code 830 is computer-readable code. These computer programs can be read from or written to one or more computer program products. These computer program products include program code carriers such as hard disks, CDs, memory cards, or floppy disks. The computer program includes computer-readable code that, when executed on an electronic device, causes the electronic device to perform the method according to the above embodiments.

[0243] This application also discloses a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the traffic bandwidth scheduling method for converged CDN as described in this application.

[0244] Such a computer program product can be a computer-readable storage medium, which can have the same characteristics as... Figure 8 The memory 820 in the illustrated electronic device is similarly arranged as storage segments, storage spaces, etc. Program code can be stored, for example, in a compressed form on the computer-readable storage medium. The computer-readable storage medium is typically as shown in the reference... Figure 9 The portable or fixed storage unit is described above. Typically, the storage unit includes computer-readable code 830', which is code read by a processor and, when executed by the processor, implements the various steps in the method described above.

[0245] The terms "an embodiment," "embodiment," or "one or more embodiments" as used herein mean that a particular feature, structure, or characteristic described in connection with an embodiment is included in at least one embodiment of this application. Furthermore, please note that the examples of the phrase "in one embodiment" do not necessarily all refer to the same embodiment.

[0246] Numerous specific details are set forth in the specification provided herein. However, it will be understood that embodiments of this application may be practiced without these specific details. In some instances, well-known methods, structures, and techniques have not been shown in detail so as not to obscure the understanding of this specification.

[0247] In the claims, any reference signs placed between parentheses should not be construed as limiting the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. This application can be implemented by means of hardware comprising several different elements and by means of a suitably programmed computer. In a unit claim enumerating several means, several of these means may be embodied by the same item of hardware. The use of the words first, second, and third, etc., does not indicate any order. These words can be interpreted as names.

[0248] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.

Claims

1. A method for traffic bandwidth scheduling of a converged CDN, characterized in that, The method comprises: in response to receiving a current access request for an acceleration domain name, obtaining a domain name corresponding to the current access request and a request source area; According to the domain name and the request source area, the uplink traffic IP resource of each CDN manufacturer and the bandwidth allocation ratio of the planned business traffic are obtained; wherein the uplink traffic IP resource is the IP exposed by CDN to the outside, which can be accessed by the request to access the content, and the ratio is in the form of any numerical ratio; According to the number of CDN manufacturers, an approximation period value is obtained; wherein the approximation period value is obtained by amplifying the number of CDN manufacturers by a preset ratio, which is used to calculate the number of access requests that each CDN manufacturer needs to configure; the amplification preset ratio is an integer value greater than or equal to 2; Obtain the current request number corresponding to the current access request; According to the current request number, the approximation period value and the bandwidth allocation ratio, the uplink traffic IP resource of the CDN manufacturer responding to the current access request is determined, specifically including: Using a semi-deterministic and semi-random allocation method, the uplink traffic IP resource of the CDN manufacturer responding to the current access request is determined; wherein the semi-deterministic and semi-random allocation method means that the current request number, the approximation period value and the bandwidth allocation ratio are combined to calculate, and a random number is combined to determine the CDN manufacturer to which the current access request is scheduled; The semi-deterministic and semi-random allocation method comprises: According to the current request number and the approximation period value, a random period value corresponding to the current access request is determined; According to the random period value and the approximation period value, the total request number in the random period complete cycle corresponding to the random period value is obtained; the total request number is the total number of requests to be responded; According to the total request number and the bandwidth allocation ratio, the number of requests to be responded by each CDN manufacturer corresponding to the random period complete cycle is configured; Obtain the number of requests already responded by each CDN manufacturer in the access request before the current access request; According to the number of requests to be responded and the number of requests already responded, the individual number of requests to be responded and the total number of requests to be responded of each CDN manufacturer corresponding to the current random period are obtained; According to the individual number of requests to be responded and the total number of requests to be responded, the uplink traffic IP resource of the CDN manufacturer responding to the current access request is determined by generating a random number; wherein the generated random number is a random number greater than or equal to 1 and less than or equal to the total number of requests to be responded; The method comprises: The quotient obtained by dividing the current request number by the approximation period value is rounded up to obtain a first integer; The first integer is determined as the random period value corresponding to the current access request; The method comprises: The product of the random period value and the approximate period value is the total request number in a complete random period corresponding to the random period value.

2. The method of claim 1, wherein, The configuration of the number of response requests of each CDN provider in the complete random period according to the total request number and the bandwidth allocation ratio includes: selecting a target CDN provider as a current CDN provider and adding the current CDN provider to a distribution combination; rounding the product of the total request number and a distribution combination ratio factor to obtain a combination number of response requests corresponding to the distribution combination, wherein the distribution combination ratio factor is equal to the quotient of the sum of the bandwidth allocation ratios of the CDN providers in the distribution combination divided by the sum of the bandwidth allocation ratios of all the CDN providers; and the sum of the bandwidth allocation ratios is the sum of the bandwidth allocation corresponding values; subtracting the number of response requests configured for the CDN providers in the distribution combination from the combination number of response requests to obtain a first residual number; configuring the first residual number as the number of response requests of the current CDN provider in the complete random period; in response to the number of target CDN providers being greater than 1, jumping to the step of selecting a target CDN provider as a current CDN provider and adding the current CDN provider to a distribution combination, and repeatedly performing the configuration of the number of response requests; in response to the number of target CDN providers being equal to 1, subtracting the number of response requests configured for the CDN providers from the total request number to obtain a second residual number, and configuring the second residual number as the number of response requests of the target CDN provider in the complete random period, wherein the target CDN provider is a CDN provider that has not configured the number of response requests.

3. The method of claim 1, wherein, The determination of the uplink IP resource of the CDN provider that responds to the current access request in a scheduling manner according to the individual number of response requests and the total number of response requests includes: determining the continuous disjoint numerical interval corresponding to the CDN provider according to the individual number of response requests and the total number of response requests; randomly generating a random number greater than or equal to 1 and less than or equal to the total number of response requests; taking the CDN provider corresponding to the numerical interval in which the random number falls as a target CDN provider; determining the uplink IP resource of the target CDN provider as the uplink IP resource of the CDN provider that responds to the current access request in a scheduling manner.

4. The method of claim 1, wherein, After obtaining the current request number corresponding to the current access request, the method further includes: determining whether the current request number is greater than or equal to a preset statistical request number threshold; in response to the current request number being greater than or equal to the preset statistical request number threshold, setting the current request number as an initial count value; in response to the current request number being less than the preset statistical request number threshold, accumulating the current request number; The preset statistical request number threshold is determined according to a sum of the bandwidth allocation ratios and a least common multiple of the approximation period value.

5. A device for scheduling traffic bandwidth of a converged CDN, characterized by, The apparatus comprises: The domain name and request source area obtaining module is configured to, in response to receiving a current access request for an accelerated domain name, obtain a domain name and a request source area corresponding to the current access request. The CDN vendor information obtaining module is configured to, according to the domain name and the request source area, obtain an uplink traffic IP resource and a bandwidth allocation ratio of planned business traffic of each CDN vendor; the uplink traffic IP resource is an IP exposed by a CDN to the outside world and capable of being accessed by a request to content, and the ratio is in the form of an arbitrary numerical ratio. The approximation period value obtaining module is configured to, according to the number of CDN vendors, obtain an approximation period value; the approximation period value is obtained by amplifying the number of CDN vendors by a preset ratio and is used to calculate a number of access requests that each CDN vendor needs to configure; the amplification preset ratio is an integer greater than or equal to 2. The current request number obtaining module is configured to obtain a current request number corresponding to the current access request. The scheduling module is configured to, according to the current request number, the approximation period value, and the bandwidth allocation ratio, determine the uplink traffic IP resource of the CDN vendor that responds to the current access request. The scheduling module is further configured to: The semi-deterministic and semi-random allocation method is used to determine the uplink traffic IP resource of the CDN vendor that responds to the current access request; the semi-deterministic and semi-random allocation method refers to calculating, according to both the current request number, the approximation period value, and the bandwidth allocation ratio, and a random number, to determine the CDN vendor to which the current access request is scheduled. The semi-deterministic and semi-random allocation method comprises: According to the current request number and the approximation period value, a random period value corresponding to the current access request is determined. According to the random period value and the approximation period value, a total request number in a complete random period corresponding to the random period value is obtained; the total request number is a total number of requests that need to be responded to. According to the total request number and the bandwidth allocation ratio, a number of requests that need to be responded to by each CDN vendor in the complete random period is configured. A number of requests that have been responded to by each CDN vendor in a previous access request before the current access request is obtained. According to the number of requests that need to be responded to and the number of requests that have been responded to, an individual number of requests that need to be responded to and a total number of requests that need to be responded to in a current random period corresponding to each CDN vendor are obtained. According to the individual number of requests that need to be responded to and the total number of requests that need to be responded to, the uplink traffic IP resource of the CDN vendor that responds to the current access request is determined by generating a random number; the generated random number is a random number greater than or equal to 1 and less than or equal to the total number of requests that need to be responded to. The method further comprises: obtaining an integer by rounding up a quotient of the current request number divided by the approximation period value; determining the integer as the random period value corresponding to the current access request; The method further comprises: multiplying the random period value and the approximation period value to obtain a total request number in a complete random period corresponding to the random period value.

6. The apparatus of claim 5, wherein, The apparatus further comprises: a request number judging module configured to determine whether the current request number is greater than or equal to a preset statistical request number threshold; a request number updating module configured to, in response to the current request number being greater than or equal to the preset statistical request number threshold, set the current request number as an initial count value; The request number updating module is further configured to, in response to the current request number being less than the preset statistical request number threshold, accumulate the current request number. The preset statistical request number threshold is determined according to a least common multiple of the sum of bandwidth allocation ratios and the approximation period value; and the sum of bandwidth allocation ratios is a sum of bandwidth allocation corresponding values.

7. An electronic device comprising a memory, a processor, and program code stored on the memory and executable on the processor, wherein, The processor executes the program code to implement the traffic bandwidth scheduling method of the converged CDN according to any one of claims 1 to 4.

8. A computer-readable storage medium having stored thereon a program code, characterized in that, The program code is executed by the processor to implement the steps of the traffic bandwidth scheduling method of the converged CDN according to any one of claims 1 to 4.

Citation Information

Patent Citations

  • Method, device and system of CDN (content delivery network) flow distribution

    CN103312629A

  • User request processing method and user request processing device

    CN109302484A