Traffic scheduling method and device, readable medium, electronic equipment and program product
By dynamically scheduling traffic based on traffic information during periods of low traffic, traffic is redirected from content delivery network nodes where users expect to decrease to nodes where users expect to increase, thus solving the problem that CDN allocation strategies cannot accurately match user needs and achieving efficient resource utilization.
Patent Information
- Application Number
- CN202511054132.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-29
- Publication Date
- 2025-10-31
AI Technical Summary
In diverse traffic usage scenarios, users have different traffic needs for different content delivery networks, which makes it impossible for existing CDN allocation strategies to accurately meet user needs, resulting in a waste of resources for content delivery network nodes.
During periods of low traffic, traffic is allocated based on the first and second traffic information to determine traffic scheduling information. Traffic is then scheduled from content distribution network nodes that users expect to decrease to nodes that users expect to increase, and traffic allocation is optimized through dynamic programming or first-fit algorithms.
It enables flexible fulfillment of user needs during periods of low traffic, fully utilizes content distribution network node resources, reduces resource waste, and improves node utilization.
Smart Images

Figure CN120880984A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of content delivery network technology, and more specifically, to a traffic scheduling method, apparatus, readable medium, electronic device, and program product. Background Technology
[0002] With the popularization of the Internet, the number of users and network traffic have grown explosively, leading to increasingly serious network congestion. As a result, Content Delivery Networks (CDNs) have emerged.
[0003] In multi-CDN service scenarios, clients allocate traffic to different content delivery networks according to CDN allocation strategies. However, with diverse traffic usage scenarios, users' traffic needs vary across content delivery networks. When clients schedule traffic based on CDN allocation strategies, they cannot accurately match users' actual needs, resulting in wasted resources on content delivery network nodes. Summary of the Invention
[0004] This section is provided to briefly introduce the concepts, which will be described in detail in the Detailed Description section later. This section is not intended to identify key or essential features of the claimed technical solution, nor is it intended to limit the scope of the claimed technical solution.
[0005] In a first aspect, this disclosure provides a traffic scheduling method, the traffic scheduling method comprising: In response to determining first traffic information and second traffic information within a preset time period, wherein the first traffic information includes a first traffic indicator remaining at the first content delivery network node, and the second traffic information includes a second traffic indicator corresponding to the allocated traffic from the client to the first domain name, the first domain name being used to determine the content delivery network server to distribute traffic to the second content delivery network node, the first content delivery network node being different from the second content delivery network node, and the preset time period representing the time period corresponding to the traffic trough. Traffic allocation is performed based on the first traffic information and the second traffic information to obtain traffic scheduling information. The traffic scheduling information includes the traffic quota that the client can schedule traffic allocated to the first domain name to the second domain name. The second domain name is used to determine the content delivery network server to distribute traffic to the first content delivery network node.
[0006] Secondly, this disclosure provides a traffic scheduling device, the traffic scheduling device comprising: The determination module is used to determine first traffic information and second traffic information within a preset time period. The first traffic information includes a first traffic indicator of the remaining traffic of the first content delivery network node, and the second traffic information includes a second traffic indicator corresponding to the allocated traffic of the client to the first domain name. The first domain name is used to determine the content delivery network server to distribute traffic to the second content delivery network node. The first content delivery network node is different from the second content delivery network node. The preset time period represents the time period corresponding to the traffic trough. The allocation module is used to allocate traffic based on the first traffic information and the second traffic information to obtain traffic scheduling information. The traffic scheduling information includes the traffic quota that the client can schedule traffic allocated to the first domain name to the second domain name. The second domain name is used to determine the content delivery network server to distribute traffic to the first content delivery network node.
[0007] Thirdly, this disclosure provides a computer-readable medium having a computer program stored thereon, which, when executed by a processing device, implements the steps of the method described in the first aspect.
[0008] Fourthly, this disclosure provides an electronic device, comprising: A storage device on which computer programs are stored; A processing device for executing the computer program in the storage device to implement the steps of the method in the first aspect.
[0009] Fifthly, this disclosure provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the method described in the first aspect.
[0010] Through the above technical solution, during periods of low traffic, traffic allocation information is obtained based on the first and second traffic information to generate traffic scheduling information. Within the traffic quota of the traffic scheduling information, traffic destined for the first domain is redirected to the second domain, enabling traffic to be distributed to the content delivery network (CDN) server of the first CDN node. This method determines the traffic quota to be scheduled to the first CDN node based on the client's schedulable traffic quota and the traffic quota that the first CDN node can handle. For example, in multi-CDN service scenarios, during periods of low traffic, traffic can be scheduled to CDN nodes that meet the actual needs of users. This not only flexibly meets the traffic usage needs of users in different business scenarios but also fully utilizes the node resources of the CDN, reducing resource waste.
[0011] Other features and advantages of this disclosure will be described in detail in the following detailed description section. Attached Figure Description
[0012] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. Throughout the drawings, the same or similar reference numerals denote the same or similar elements. It should be understood that the drawings are schematic, and the originals and elements are not necessarily drawn to scale. In the drawings: Figure 1 This is a flowchart illustrating a traffic scheduling method according to an exemplary embodiment of the present disclosure; Figure 2 This is a schematic diagram illustrating a flow valley filling method according to an exemplary embodiment of the present disclosure; Figure 3 This is a schematic diagram illustrating a traffic scheduling configuration process according to an exemplary embodiment of the present disclosure; Figure 4 This is a schematic diagram illustrating a traffic scheduling process in a content delivery network according to an exemplary embodiment of the present disclosure; Figure 5 This is a schematic diagram illustrating the allocation of traffic metrics in a content delivery network according to an exemplary embodiment of this disclosure; Figure 6 This is a before-and-after comparison diagram of traffic scheduling according to an exemplary embodiment of the present disclosure; Figure 7 This is a structural block diagram of a traffic scheduling device according to an exemplary embodiment of the present disclosure; Figure 8 This is a schematic diagram of the structure of an electronic device according to an exemplary embodiment of the present disclosure. Detailed Implementation
[0013] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.
[0014] It should be understood that the steps described in the method embodiments of this disclosure may be performed in different orders and / or in parallel. Furthermore, the method embodiments may include additional steps and / or omit the steps shown. The scope of this disclosure is not limited in this respect.
[0015] The term "comprising" and its variations as used herein are open-ended inclusions, meaning "including but not limited to". The term "based on" means "at least partially based on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one additional embodiment"; the term "some embodiments" means "at least some embodiments". Definitions of other terms will be given in the description below.
[0016] It should be noted that the concepts of "first" and "second" mentioned in this disclosure are used only to distinguish different devices, modules or units, and are not used to limit the order of functions performed by these devices, modules or units or their interdependencies.
[0017] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".
[0018] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
[0019] All actions involving the acquisition of signals, information, or data in this disclosure are carried out in accordance with the relevant data protection laws and policies of the country where the location is situated, and with the authorization granted by the owner of the relevant device.
[0020] It is understood that before using the technical solutions disclosed in the various embodiments of this disclosure, users should be informed of the types, scope of use, and usage scenarios of the personal information involved in this disclosure in an appropriate manner in accordance with relevant laws and regulations, and user authorization should be obtained.
[0021] For example, upon receiving a user's active request, a prompt message is sent to the user to explicitly inform them that the requested operation will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the software or hardware, such as the electronic device, application, server, or storage medium performing the operations of this disclosed technical solution, based on the prompt message.
[0022] As an optional but non-limiting implementation, in response to a user's active request, sending a prompt message to the user can be done via a pop-up window, where the prompt message can be presented in text format. Furthermore, the pop-up window can also include a selection control allowing the user to choose "agree" or "disagree" to provide personal information to the electronic device.
[0023] It is understood that the above notification and user authorization process are merely illustrative and do not constitute a limitation on the implementation of this disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of this disclosure.
[0024] Meanwhile, it is understood that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and related provisions.
[0025] In multi-CDN service scenarios, clients allocate traffic to different content delivery networks according to CDN allocation strategies. However, under diverse traffic usage scenarios, users' traffic usage needs for each content delivery network vary.
[0026] For example, users have different traffic needs during off-peak and peak traffic periods. During peak traffic periods, CDN allocation strategies can evenly distribute traffic across different content delivery networks, avoiding performance bottlenecks or service delays caused by traffic concentrating on a few nodes, and ensuring users receive a relatively stable user experience with low latency, high bandwidth, and fast response.
[0027] During periods of low traffic, if traffic is still evenly distributed across different content delivery networks according to the CDN allocation strategy, the assigned content delivery network nodes will be under low load, thus failing to fully utilize computing, storage, and bandwidth resources, resulting in wasted resources on these nodes. Alternatively, traffic may not be allocated to the user's desired content delivery network node but instead be distributed to other content delivery network nodes, leading to underutilization of the node resources of the user's desired network while consuming the node resources of other content delivery networks, further wasting resources on those networks.
[0028] In view of this, the present disclosure provides a traffic scheduling method, apparatus, readable medium, electronic device, and program product to solve the above-mentioned technical problems.
[0029] The embodiments of this disclosure will be further explained below with reference to the accompanying drawings.
[0030] Figure 1 This is a flowchart illustrating a traffic scheduling method according to an exemplary embodiment of the present disclosure, with reference to... Figure 1 The traffic scheduling method may include the following steps: S101: In response to determine the first flow information and the second flow information within a preset time period.
[0031] The first traffic information includes the remaining first traffic indicator of the first content distribution network node, and the second traffic information includes the second traffic indicator corresponding to the allocated traffic of the client to the first domain name. The first domain name is used to determine the content distribution network server to distribute traffic to the second content distribution network node. The first content distribution network node is different from the second content distribution network node, and the preset time period is the time period corresponding to the traffic trough.
[0032] For example, the first content delivery network (CDN) node is the CDN node to which the user expects to allocate traffic based on their traffic usage needs. The second CDN node is the CDN node selected by the client according to a preset scheduling strategy. In other words, the first CDN is the CDN to which the user expects to allocate more traffic during off-peak periods, and the second CDN is the CDN to which the user expects to allocate less traffic during off-peak periods. For instance, the first CDN node could be a self-built CDN node, and the second CDN node could be a CDN node provided by a vendor. It should be noted that if the CDN selected by the client according to the preset scheduling strategy is the same as the first CDN, then this portion of traffic will not participate in scheduling. The specific choice can be made according to actual business needs, and this disclosure does not impose any restrictions on this.
[0033] It should be noted that during peak traffic periods, the nodes of each content delivery network are under high load, while during off-peak traffic periods, the nodes of each content delivery network are under low load. Therefore, traffic scheduling during off-peak traffic periods can also ensure the performance and reliability requirements of traffic services.
[0034] For example, the first traffic metric can be the remaining allocable Queries Per Second (QPS) metric of the first content delivery network node, and the second traffic information can be the QPS metric calculated from the traffic planned by the client to the second content delivery network according to the preset traffic scheduling strategy. That is, the QPS metric that can be scheduled in this embodiment can be calculated based on historical traffic allocation, such as the average QPS over a historical period. The specific settings can be made according to the requirements, and this disclosure does not limit it.
[0035] For example, a low-traffic period can be a time period during which the bandwidth is lower than a preset traffic threshold. The preset traffic threshold can be the 95th percentile of the bandwidth used by the client within the statistical period. It can be set according to requirements, and this disclosure does not impose any restrictions on it. For example, a time period during which the bandwidth is lower than this 95th percentile can be defined as a low-traffic period. Figure 2As shown, during the low traffic period from 0:00 to 12:00, traffic planned for allocation to Content Delivery Network B is redirected to Content Delivery Network A. This results in increased traffic to nodes in Content Delivery Network A below a preset threshold, effectively filling the traffic gap and improving node utilization. Thus, while ensuring the performance and reliability requirements of Content Delivery Network A's traffic services, the utilization rate of its node resources is effectively improved.
[0036] S102: Based on the first traffic information and the second traffic information, traffic allocation is performed to obtain traffic scheduling information. The traffic scheduling information includes the traffic quota that the client can schedule the traffic allocated to the first domain name to the second domain name. The second domain name is used to determine the content delivery network server to distribute the traffic to the first content delivery network node.
[0037] For example, the second domain name corresponds to the first content distribution network, and the first domain name corresponds to the second content distribution network. The client's CDN service can determine the corresponding content distribution network based on the domain name carried in the request, and then send the request to the server of the corresponding content distribution network. The server then distributes the request to the specific edge node according to the node status of the content distribution network.
[0038] Using the above method, the traffic quota allocated to the first content delivery network (CDN) node can be determined based on the client's schedulable traffic quota and the traffic quota that the first CDN node can handle. For example, in multi-CDN service scenarios, traffic can be scheduled to CDN nodes that meet the user's actual needs during off-peak traffic periods. This not only flexibly meets the user's traffic usage needs in different business scenarios but also makes full use of the CDN's node resources, reducing resource waste.
[0039] For example, during periods of low traffic, traffic can be centrally routed to nodes within a portion of the content delivery network (CDN), making full and effective use of the CDN's computing, storage, and bandwidth resources and reducing resource waste. Alternatively, traffic can be routed to the CDN nodes desired by users, improving resource utilization and reducing waste. For instance, traffic destined for a vendor-provided CDN node can be routed to a self-built CDN node, fully utilizing its resources and avoiding waste.
[0040] In one possible manner, the second domain name is determined as follows: in response to receiving traffic scenario information reported by the client, the second domain name is determined based on the traffic scenario information, which includes the third region and application scenario corresponding to the allocated traffic; the traffic scheduling method further includes: registering the mapping relationship between the third region and the second domain name to the content distribution network server of the first content distribution network node, and the content distribution network server is used to distribute traffic corresponding to the second domain name according to the mapping relationship.
[0041] For example, users can report traffic scenario information based on traffic scheduling requirements. Traffic scenario information includes the application for which the user wants to schedule traffic, the specific traffic usage scenario within the application, and the corresponding region. For example, scheduling traffic for the Z business scenario of application Y in region X. The region can be divided according to geographical location, such as country, etc. The specific settings can be made according to requirements, and this disclosure does not impose any restrictions on this.
[0042] For example, such as Figure 3 As shown, the CDN traffic management platform generates domain names based on information such as region, application, and business scenario in the traffic scenario information reported by the user, and collaborates with the user to initiate basic performance optimization configurations for the corresponding domain names. Then, it combines the domain name with the region to generate a domain name configuration file and sends it to the content delivery network server of the first content delivery network node to register the corresponding traffic scheduling domain. The CDN traffic management platform is the central hub for scheduling configuration, responsible for the formulation and management of global scheduling policies.
[0043] Continue to refer to Figure 3 The scheduling management service obtains the remaining traffic metrics of the first content delivery network node and the traffic metrics corresponding to the traffic allocated by the client to the second content delivery network through the application programming interface (API). After performing statistics by region, it determines the traffic scheduling information based on the statistical results, generates a traffic scheduling configuration, and sends it to the configuration management service for the client to obtain and use. The traffic scheduling configuration is also fed back to the traffic management scheduler through the API interface, so that the traffic management scheduler can perform traffic allocation based on the traffic scheduling configuration and real-time node status data to obtain a global load balancing configuration. Then, the edge domain name system resolves the user's traffic to the specific edge node based on the global load balancing configuration.
[0044] In addition, the database is used to store scheduling configuration information, node status data, traffic statistics, etc., while the storage service is used to store historical periodic QPS traffic and Central Processing Unit (CPU) utilization of the API service. The monitoring service is used to obtain the current deployment status, QPS traffic, and CPU utilization of the API service.
[0045] In possible ways, determining the first traffic information and the second traffic information includes: determining the first traffic capacity and the second traffic capacity corresponding to the first period within a preset time period. Traffic allocation is performed based on the first traffic information and the second traffic information to obtain traffic scheduling information, including: performing traffic allocation based on the first traffic capacity and the second traffic capacity corresponding to the first period to obtain traffic scheduling information corresponding to the second period within a preset time period, where the first period is the period preceding the second period, and the traffic scheduling information corresponding to the second period includes the traffic quota that the client can allocate to the first domain name to the second domain name within the second period.
[0046] For example, since the client's traffic and the remaining allocable traffic metrics of the content delivery network nodes are dynamically changing, the client's traffic can be periodically acquired to determine new schedulable traffic metrics, and then new traffic scheduling information can be determined based on the new allocable traffic metrics.
[0047] For example, the low traffic period can be divided into multiple time periods, such as 5 minutes per period. The specific time period can be set according to needs, and this disclosure does not impose any restrictions on it. Within the current time period, the remaining allocable traffic metrics are obtained from the first content delivery network side, and the traffic planned to be allocated to the first domain name (i.e., planned to be allocated to the second content delivery network) is obtained from the client side to determine the schedulable traffic metrics. Then, based on the allocable and schedulable traffic metrics, a traffic quota is determined and sent to the configuration management service as traffic scheduling information for the next period for the client to access and use, so that the client can perform traffic scheduling based on this traffic scheduling information in the next period.
[0048] This allows for adaptation to dynamic client traffic usage demands and the content delivery network's traffic schedulability, improving the flexibility and accuracy of traffic scheduling. It not only reduces resource waste but also prevents excessive traffic scheduling from overloading the content delivery network.
[0049] In one possible approach, the first traffic information further includes a first region corresponding to a first content delivery network node, and the second traffic information further includes a second region corresponding to allocated traffic. The first region includes multiple first content delivery network nodes, and the allocated traffic in the second region comes from different clients or application scenarios. Based on the first and second traffic information, traffic allocation is performed to obtain traffic scheduling information, including: summing the first traffic indicators corresponding to multiple first content delivery network nodes in the first region to obtain the total remaining traffic indicator corresponding to the first region; summing the second traffic indicators corresponding to allocated traffic from different clients or application scenarios in the second region to obtain a third traffic indicator corresponding to the second region; and when the first region and the second region correspond to the same region, allocating the total remaining traffic indicator based on the third traffic indicator to obtain traffic scheduling information.
[0050] It is worth noting that a content delivery network includes multiple content delivery networks in multiple regions. A region may include one or more content delivery networks. Each content delivery network can receive traffic from different clients or different application scenarios of the same client, depending on the actual business scenario. This disclosure does not impose any restrictions on this.
[0051] For example, the remaining allocable traffic metrics can be obtained from the first content delivery network side, and the schedulable traffic metrics determined by the traffic planned to be allocated to the second content delivery network node can be obtained from the client side. Then, the allocable traffic metrics and schedulable traffic metrics are statistically analyzed by region, and traffic allocation is performed on the allocable traffic metrics and schedulable traffic metrics corresponding to the same region to obtain traffic scheduling information. In this way, traffic within the same region can be scheduled, avoiding cross-regional traffic scheduling and ensuring data security.
[0052] In one possible approach, the second traffic information also includes a first domain name and a third domain name of the application scenario corresponding to the allocated traffic. The number of first domain names and third domain names is at least one. Based on the third traffic indicator, the total remaining traffic indicator is allocated to obtain traffic scheduling information, including: grouping the third traffic indicator based on at least one first domain name and at least one third domain name to obtain at least one target group and the traffic indicator corresponding to each target group; allocating the total remaining traffic indicator based on the traffic indicator corresponding to each target group to obtain the traffic indicator quota corresponding to each target group; and determining the traffic scheduling information based on the traffic indicator quota corresponding to each target group.
[0053] For example, schedulable traffic metrics can be further grouped based on the first and third domain names. This means fine-grained grouping of schedulable traffic metrics based on the content delivery network (CDN) and application scenario of the traffic allocation plan. Then, the total remaining traffic metrics are allocated based on the traffic metrics corresponding to each group, resulting in the final traffic scheduling information. By performing finer-grained grouping, traffic allocation can be performed more accurately, improving the accuracy of traffic allocation.
[0054] In one possible approach, the third traffic metric is grouped based on at least one first domain name and at least one third domain name to obtain at least one target group and the traffic metric corresponding to each target group, including: grouping the third traffic metric based on the third domain name to obtain at least one first group and the traffic metric corresponding to each first group, wherein one first group corresponds to one third domain name; for each first group, the traffic metric corresponding to the first group is grouped based on the first domain name to obtain at least one second group and the traffic metric corresponding to each second group, wherein one second group corresponds to one first domain name.
[0055] For example, for the schedulable traffic metrics corresponding to the allocated traffic in each region, after grouping by region, the traffic metrics are further grouped according to the application scenario corresponding to the allocated traffic (i.e., according to the third domain name carried by the traffic). Traffic metrics from the same application scenario are grouped into the same group. Then, based on the content delivery network (CDN) to which the traffic is planned to be allocated (i.e., according to the first domain name carried by the traffic), traffic metrics planned to be allocated to the same CDN are grouped into the same group. By performing more granular grouping, traffic allocation can be performed more accurately, improving the accuracy of traffic allocation.
[0056] It should be noted that, as Figure 4 As shown, CDN-A is the content delivery network that users expect to increase traffic during periods of low traffic, while CDN-B and CDN-C are the content delivery networks that users expect to reduce traffic during periods of low traffic. Domain 1 corresponds to application scenario 1, and domain 2 corresponds to application scenario 2. It should be noted that one third domain corresponds to one application scenario, and one application scenario can correspond to multiple third domains.
[0057] Continue to refer to Figure 4 An application scenario can include second domains corresponding to different content delivery networks (CDNs). Based on the pre-configured second domain, the CDN to which traffic is routed can be determined. In application scenario 1, domain 1.1 corresponds to CDN-B, domain 1.2 corresponds to CDN-B, and domain 1.3 corresponds to CDN-A. In application scenario 2, domain 2.1 corresponds to CDN-A, domain 2.2 corresponds to CDN-C, and domain 2.3 corresponds to CDN-B. A first domain can correspond to one CDN, and one CDN can correspond to multiple different second domains within multiple application scenarios.
[0058] Among them, the CDN-A corresponding to domains 1.3 and 2.1 is the content delivery network for which users expect increased traffic during periods of low traffic. Therefore, the traffic quota corresponding to this part of the traffic is not included in the allocation. Domains 1.1, 1.2, 2.2, and 2.3 participate in traffic scheduling. Assuming that after traffic scheduling, the corresponding traffic quotas are allocated to the groups corresponding to domains 1.1, 2.2, and 2.3, then during traffic scheduling during periods of low traffic, within the traffic quota of the corresponding groups, the traffic planned to be allocated to domain 1.1.1 will be redirected to the new domain 1.1, and the traffic planned to be allocated to domains 2.2 and 2.3 will be redirected to the new domain 2.1.1. This realizes the scheduling of traffic from the content delivery network where users expect reduced traffic to the content delivery network where users expect increased traffic, so as to meet the users' traffic usage needs and make full use of the node resources of the content delivery network, reducing resource waste.
[0059] The process of allocating traffic indicators to each group is described in detail below with reference to the accompanying diagram.
[0060] like Figure 5 As shown, assume that the allocatable QPS of region A is 900 and the schedulable QPS is 1000. The schedulable QPS of the packets corresponding to third domain 1 and third domain 2 is 500. Within the packet corresponding to third domain 1, the schedulable QPS of the packet corresponding to first domain 1 is 300 and the schedulable QPS of the packet corresponding to first domain 2 is 300. Within the packet corresponding to third domain 2, the schedulable QPS of the packet corresponding to first domain 3 is 300 and the schedulable QPS of the packet corresponding to first domain 4 is 300.
[0061] In one possible approach, the total remaining flow rate is allocated based on the flow rate indicators corresponding to each target group to obtain the flow rate indicator quota for each target group. This includes: determining a third group from at least one second group based on the flow rate indicators corresponding to each second group and the total remaining flow rate indicator, and using the value of the flow rate indicator corresponding to the third group as the flow rate indicator quota for the third group; wherein the value of the flow rate indicator corresponding to the third group is less than or equal to the value of the total remaining flow rate indicator, and the sum of the values of the flow rate indicators corresponding to the other groups in at least one second group (excluding the third group) is greater than a first value, where the first value represents the difference between the value of the total remaining flow rate indicator and the value of the flow rate indicator corresponding to the third group.
[0062] For example, see reference Figure 5Scheme 1 shown can be based on dynamic programming or first-fit algorithm. Within the same region, the schedulable QPS is processed by bin packing algorithm according to the granularity of the first domain name, that is, the domain name corresponding to the content delivery network, and filled into the allocable QPS. The schedulable QPS of each group is either fully filled or not filled at all, until the schedulable QPS corresponding to any remaining unscheduled group is greater than the remaining allocable QPS.
[0063] For example, assuming the traffic quota for the group corresponding to the first domain 1 is 300, the traffic quota for the group corresponding to the first domain 2 is 200, and the traffic quota for the group corresponding to the first domain 3 is 300, traffic scheduling information is generated based on the traffic quotas of these groups. When the client performs traffic scheduling subsequently, taking the first domain 1 as an example, within the traffic quota range, the traffic planned for allocation to the first domain 1 is scheduled to the content delivery network (CDN) where the user expects increased traffic during off-peak periods. This redirects traffic from the CDN where the user expects reduced traffic to the CDN where the user expects increased traffic, thus meeting the user's traffic needs and fully utilizing the node resources of the CDN, reducing resource waste.
[0064] In one possible approach, the total remaining flow rate is allocated based on the flow rate indicators corresponding to each target group to obtain the flow rate quota for each target group. This includes: determining a fourth group from at least one first group based on the flow rate indicators corresponding to each first group and the total remaining flow rate, and using the value of the flow rate indicator corresponding to the fourth group as the flow rate quota for the fourth group, wherein the value of the flow rate indicator corresponding to the fourth group is less than or equal to the value of the total remaining flow rate, and the sum of the values of the flow rate indicators corresponding to the fifth group (excluding the fourth group) in at least one first group is greater than a second value, where the second value represents the difference between the value of the total remaining flow rate and the value of the flow rate indicator corresponding to the fourth group; determining a sixth group from at least one second group in the fifth group based on the flow rate indicators corresponding to each second group in the fifth group and the flow rate indicator corresponding to the second value, and using the product of the value of the flow rate indicator corresponding to the sixth group and a preset ratio as the flow rate quota for the sixth group, wherein the flow rate quota for the sixth group is equal to the second value.
[0065] For example, see reference Figure 5 Scheme 2, as shown, combines grouping at different granularities and traffic modulo for traffic allocation. Based on dynamic programming or first-fit algorithms, within the same region, schedulable QPS are first processed using a binning algorithm at the granularity of the third domain name (i.e., the domain name corresponding to the application scenario), and then filled into the allocable QPS, ensuring that the remaining allocable QPS is minimized and that all schedulable QPS for the selected group are filled. Figure 5The group corresponding to the third domain name 1 in the list is counted until the schedulable QPS corresponding to any of the remaining unscheduled groups is greater than the remaining allocable QPS.
[0066] For example, continue to refer to Figure 5 After removing scheduled and allocated QPS, the remaining schedulable and allocable QPS are split according to the first domain name using a greedy algorithm and then allocated accordingly. For example, 75% of the schedulable QPS for the group corresponding to first domain name 3 and the group corresponding to first domain name 4 are allocated, and all the allocable QPS are distributed. It is important to note that the number of categories of allocable QPS corresponding to the first domain name needs to be limited.
[0067] This allows traffic to be redirected from content delivery networks (CDNs) where users expect reduced traffic to CDNs where users expect increased traffic, thus meeting users' traffic needs and making full use of CDN node resources, reducing resource waste.
[0068] The dynamic programming algorithm described above has a good allocation scheme, but its time complexity is high. The first-fit algorithm has a low time complexity, but it may not be able to obtain the optimal solution. The dynamic programming algorithm or the first-fit algorithm can be selected according to the actual situation, and this disclosure does not impose any restrictions on this.
[0069] like Figure 6 As shown, before traffic scheduling, i.e. without using the traffic scheduling method provided in this embodiment, the client schedules traffic for different scenarios, such as traffic for scenario 1, scenario 2 and scenario 3, to domains corresponding to different content distribution networks according to the preset scheduling configuration. For example, it may include domains corresponding to self-built content distribution networks and domains corresponding to content distribution networks provided by suppliers. The server corresponding to each content distribution network schedules traffic to different edge nodes in the content distribution network by resolving the domain name.
[0070] Here, normal traffic refers to the traffic allocated by the content delivery network to the client according to a preset scheduling strategy for users who expect increased traffic. Figure 6 In this context, CDN1 can be a self-built content delivery network, while other traffic is traffic allocated by the client according to a preset scheduling policy for the content delivery network where the user expects to reduce traffic. Figure 6 CDN2 and CDN3 in the context are assumed to be content delivery networks provided by the vendor.
[0071] Continue to refer to Figure 6After traffic scheduling, the traffic scheduling method provided in this embodiment is used to reallocate other traffic. For example, traffic that should have been scheduled to CDN2 and CDN3 can be scheduled to CDN1. Similarly, traffic that should have been scheduled to the provider's content delivery network can be reallocated to a self-built content delivery network. Specifically, the scheduled traffic refers to traffic that is moved from a content delivery network where the user expects reduced traffic to one where the user expects increased traffic. That is, the traffic reduced by CDN2 and CDN3 is also the traffic increased by CDN1. For example, traffic scheduled to the provider's content delivery network is reduced, and this portion of traffic is scheduled to the self-built content delivery network.
[0072] This way, the content delivery network (CDN) will increase traffic when users expect more traffic and decrease traffic when users expect less traffic. This allows for traffic filling during off-peak periods to meet users' traffic needs and also makes full use of the CDN's node resources, reducing resource waste.
[0073] Based on the same concept, embodiments of this disclosure provide a traffic scheduling device, such as... Figure 7 As shown, the traffic scheduling device 700 includes: The determining module 701 is used to determine first traffic information and second traffic information within a preset time period. The first traffic information includes a first traffic indicator of the remaining traffic of the first content delivery network node, and the second traffic information includes a second traffic indicator corresponding to the allocated traffic of the client to the first domain name. The first domain name is used to determine the content delivery network server to distribute traffic to the second content delivery network node. The first content delivery network node is different from the second content delivery network node. The preset time period represents the time period corresponding to the traffic trough. The allocation module 702 is used to allocate traffic based on the first traffic information and the second traffic information to obtain traffic scheduling information. The traffic scheduling information includes the traffic quota that the client can schedule the traffic allocated to the first domain name to the second domain name. The second domain name is used to determine the content delivery network server to distribute the traffic to the first content delivery network node.
[0074] Optionally, the first traffic information further includes a first region corresponding to the first content delivery network node, and the second traffic information further includes a second region corresponding to the allocated traffic. The first region includes multiple first content delivery network nodes, and the allocated traffic in the second region comes from different clients or application scenarios. The allocation module 702 is used for: The total remaining traffic index corresponding to the plurality of first content delivery network nodes in the first region is summed to obtain the total remaining traffic index corresponding to the first region. The second traffic metrics corresponding to the allocated traffic from different clients or application scenarios in the second region are summed to obtain the third traffic metrics corresponding to the second region. When the first region and the second region correspond to the same region, the total remaining flow index is allocated based on the third flow index to obtain flow scheduling information.
[0075] Optionally, the second traffic information further includes the first domain name and the third domain name of the application scenario corresponding to the allocated traffic, and the allocation module 702 is used for: The third traffic metric is grouped based on at least one first domain name and at least one third domain name to obtain at least one target group and the traffic metric corresponding to each target group; The total remaining traffic quota is allocated based on the traffic quota corresponding to each target group to obtain the traffic quota corresponding to each target group, and the traffic scheduling information is determined based on the traffic quota corresponding to each target group.
[0076] Optionally, the allocation module 702 is used for: Based on the third domain name, the third traffic metric is grouped to obtain at least one first group and the traffic metric corresponding to each first group, wherein one first group corresponds to one third domain name. For each first group, the traffic metrics corresponding to the first group are grouped based on the first domain name to obtain at least one second group and the traffic metrics corresponding to each second group, with one second group corresponding to one first domain name.
[0077] Optionally, the allocation module 702 is used for: Based on the traffic indicators corresponding to each second group and the total remaining traffic indicators, a third group is determined from the at least one second group, and the value of the traffic indicator corresponding to the third group is used as the traffic indicator quota corresponding to the third group. Wherein, the value of the flow index corresponding to the third group is less than or equal to the value of the total remaining flow index, and the sum of the values of the flow indices corresponding to the other groups in the at least one second group other than the third group is greater than the first value, wherein the first value represents the difference obtained by subtracting the value of the flow index corresponding to the third group from the value corresponding to the total remaining flow index.
[0078] Optionally, the allocation module 702 is used for: Based on the traffic indicators corresponding to each of the first groups and the total remaining traffic indicators, a fourth group is determined from the at least one first group, and the value of the traffic indicator corresponding to the fourth group is used as the traffic indicator quota corresponding to the fourth group. The value of the traffic indicator corresponding to the fourth group is less than or equal to the value of the total remaining traffic indicators, and the sum of the values of the traffic indicators corresponding to the fifth groups (excluding the fourth group) in the at least one first group is greater than a second value. The second value represents the difference obtained by subtracting the value of the traffic indicator corresponding to the fourth group from the value corresponding to the total remaining traffic indicators. Based on the flow indicators corresponding to each of the second groups in the fifth group and the flow indicators corresponding to the second values, a sixth group is determined from the at least one second group in the fifth group, and the product obtained by multiplying the value of the flow indicator corresponding to the sixth group by a preset ratio is used as the flow indicator quota corresponding to the sixth group, wherein the flow indicator quota corresponding to the sixth group is equal to the second value.
[0079] Optionally, the determining module 701 is used to: Determine the first flow capacity and the second flow capacity corresponding to the first cycle within the preset time period; The allocation module 702 is used for: Traffic allocation is performed based on the first and second traffic capacities corresponding to the first period to obtain traffic scheduling information for the second period within the preset time period. The first period is the previous period of the second period. The traffic scheduling information for the second period includes the traffic quota that the client can schedule to the second domain name from the first domain name within the second period.
[0080] Optionally, the second domain name is determined in the following way: In response to receiving traffic scenario information reported by the client, the second domain name is determined based on the traffic scenario information, wherein the traffic scenario information includes the third region and application scenario corresponding to the allocated traffic; The traffic scheduling device 700 further includes a registration module, which is used for: The mapping relationship between the third region and the second domain name is registered to the content distribution network server of the first content distribution network node. The content distribution network server is used to distribute traffic corresponding to the second domain name according to the mapping relationship.
[0081] Based on the same concept, embodiments of this disclosure also provide a computer-readable medium having a computer program stored thereon, which, when executed by a processing device, implements the steps of the above-described traffic scheduling method.
[0082] Based on the same concept, this disclosure also provides an electronic device that may include: A storage device on which computer programs are stored; A processing device is configured to execute the computer program in the storage device to implement the steps of the above-described traffic scheduling method.
[0083] Based on the same concept, this disclosure also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the above-described traffic scheduling method.
[0084] The following is for reference. Figure 8 This diagram illustrates a structural schematic of an electronic device 800 suitable for implementing embodiments of the present disclosure. The terminal devices in the embodiments of the present disclosure may include, but are not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 8 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.
[0085] like Figure 8 As shown, the electronic device 800 may include a processing device (e.g., a central processing unit, a graphics processor, etc.) 801, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 802 or a program loaded from a storage device 808 into a random access memory (RAM) 803. The RAM 803 also stores various programs and data required for the operation of the electronic device 800. The processing device 801, ROM 802, and RAM 803 are interconnected via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.
[0086] Typically, the following devices can be connected to I / O interface 805: input devices 806 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 807 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 808 including, for example, magnetic tapes, hard disks, etc.; and communication devices 809. Communication device 809 allows electronic device 800 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 8 An electronic device 800 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.
[0087] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via a communication device 809, or installed from a storage device 808, or installed from a ROM 802. When the computer program is executed by a processing device 801, it performs the functions defined in the methods of embodiments of this disclosure.
[0088] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.
[0089] In some implementations, communication can be conducted using any currently known or future-developed network protocol such as HTTP (Hypertext Transfer Protocol), and can be interconnected with digital data communication (e.g., communication networks) of any form or medium. Examples of communication networks include local area networks (“LANs”), wide area networks (“WANs”), the Internet (e.g., the Internet of Things), and end-to-end networks (e.g., ad hoc end-to-end networks), as well as any currently known or future-developed networks.
[0090] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.
[0091] The aforementioned computer-readable medium carries one or more programs. When the electronic device executes the one or more programs, the electronic device causes the electronic device to: determine first traffic information and second traffic information within a preset time period, wherein the first traffic information includes a first traffic indicator remaining at a first content delivery network node, and the second traffic information includes a second traffic indicator corresponding to the allocated traffic from the client to a first domain name, the first domain name being used to determine the content delivery network server to distribute traffic to a second content delivery network node, the first content delivery network node being different from the second content delivery network node, and the preset time period representing a time period corresponding to a traffic trough; and perform traffic allocation based on the first traffic information and the second traffic information to obtain traffic scheduling information, the traffic scheduling information including the traffic indicator quota that the client can schedule from the first domain name to the second domain name, the second domain name being used to determine the content delivery network server to distribute traffic to the first content delivery network node.
[0092] Computer program code for performing the operations of this disclosure can be written in one or more programming languages or a combination thereof, including but not limited to object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0093] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.
[0094] The modules described in the embodiments of this disclosure can be implemented in software or hardware. The names of the modules are not, in some cases, intended to limit the functionality of the module itself.
[0095] The functions described above in this document can be performed at least in part by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), system-on-a-chip (SoCs), complex programmable logic devices (CPLDs), and so on.
[0096] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0097] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.
[0098] Furthermore, while the operations are described in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in a sequential order. In certain environments, multitasking and parallel processing may be advantageous. Similarly, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments.
[0099] Although the subject matter has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely illustrative forms of implementing the claims. Regarding the apparatus in the above embodiments, the specific manner in which the various modules perform their operations has been described in detail in the embodiments relating to the method, and will not be elaborated upon here.
Claims
1. A traffic scheduling method, characterized in that, The traffic scheduling method includes: In response to determining first traffic information and second traffic information within a preset time period, wherein the first traffic information includes a first traffic indicator remaining at the first content delivery network node, and the second traffic information includes a second traffic indicator corresponding to the allocated traffic from the client to the first domain name, the first domain name being used to determine the content delivery network server to distribute traffic to the second content delivery network node, the first content delivery network node being different from the second content delivery network node, and the preset time period representing the time period corresponding to the traffic trough. Traffic allocation is performed based on the first traffic information and the second traffic information to obtain traffic scheduling information. The traffic scheduling information includes the traffic quota that the client can schedule traffic allocated to the first domain name to the second domain name. The second domain name is used to determine the content delivery network server to distribute traffic to the first content delivery network node.
2. The traffic scheduling method according to claim 1, characterized in that, The first traffic information also includes a first region corresponding to the first content delivery network node, and the second traffic information also includes a second region corresponding to the allocated traffic. The first region includes multiple first content delivery network nodes, and the allocated traffic in the second region comes from different clients or application scenarios. The step of allocating traffic based on the first traffic information and the second traffic information to obtain traffic scheduling information includes: The total remaining traffic index corresponding to the plurality of first content delivery network nodes in the first region is summed to obtain the total remaining traffic index corresponding to the first region. The second traffic metrics corresponding to the allocated traffic from different clients or application scenarios in the second region are summed to obtain the third traffic metrics corresponding to the second region. When the first region and the second region correspond to the same region, the total remaining flow index is allocated based on the third flow index to obtain flow scheduling information.
3. The traffic scheduling method according to claim 2, characterized in that, The second traffic information also includes the first domain name and the third domain name of the application scenario corresponding to the allocated traffic, wherein the number of the first domain name and the third domain name is at least one. The allocation of the total remaining traffic based on the third traffic indicator to obtain traffic scheduling information includes: The third traffic metric is grouped based on at least one first domain name and at least one third domain name to obtain at least one target group and the traffic metric corresponding to each target group; The total remaining traffic quota is allocated based on the traffic quota corresponding to each target group to obtain the traffic quota corresponding to each target group, and the traffic scheduling information is determined based on the traffic quota corresponding to each target group.
4. The traffic scheduling method according to claim 3, characterized in that, The step of grouping the third traffic metric based on at least one first domain name and at least one third domain name to obtain at least one target group and the traffic metric corresponding to each target group includes: Based on the third domain name, the third traffic metric is grouped to obtain at least one first group and the traffic metric corresponding to each first group, wherein one first group corresponds to one third domain name. For each first group, the traffic metrics corresponding to the first group are grouped based on the first domain name to obtain at least one second group and the traffic metrics corresponding to each second group, with one second group corresponding to one first domain name.
5. The traffic scheduling method according to claim 4, characterized in that, The allocation of the total remaining traffic quota based on the traffic quota corresponding to each target group to obtain the traffic quota corresponding to each target group includes: Based on the traffic indicators corresponding to each second group and the total remaining traffic indicators, a third group is determined from the at least one second group, and the value of the traffic indicator corresponding to the third group is used as the traffic indicator quota corresponding to the third group. Wherein, the value of the flow index corresponding to the third group is less than or equal to the value of the total remaining flow index, and the sum of the values of the flow indices corresponding to the other groups in the at least one second group other than the third group is greater than the first value, wherein the first value represents the difference obtained by subtracting the value of the flow index corresponding to the third group from the value corresponding to the total remaining flow index.
6. The traffic scheduling method according to claim 4, characterized in that, The allocation of the total remaining traffic quota based on the traffic quota corresponding to each target group to obtain the traffic quota corresponding to each target group includes: Based on the traffic indicators corresponding to each of the first groups and the total remaining traffic indicators, a fourth group is determined from the at least one first group, and the value of the traffic indicator corresponding to the fourth group is used as the traffic indicator quota corresponding to the fourth group. The value of the traffic indicator corresponding to the fourth group is less than or equal to the value of the total remaining traffic indicators, and the sum of the values of the traffic indicators corresponding to the fifth groups (excluding the fourth group) in the at least one first group is greater than a second value. The second value represents the difference obtained by subtracting the value of the traffic indicator corresponding to the fourth group from the value corresponding to the total remaining traffic indicators. Based on the flow indicators corresponding to each of the second groups in the fifth group and the flow indicators corresponding to the second values, a sixth group is determined from the at least one second group in the fifth group, and the product obtained by multiplying the value of the flow indicator corresponding to the sixth group by a preset ratio is used as the flow indicator quota corresponding to the sixth group, wherein the flow indicator quota corresponding to the sixth group is equal to the second value.
7. The traffic scheduling method according to claim 1, characterized in that, The determination of the first flow information and the second flow information includes: Determine the first flow capacity and the second flow capacity corresponding to the first cycle within the preset time period; The step of allocating traffic based on the first traffic information and the second traffic information to obtain traffic scheduling information includes: Traffic allocation is performed based on the first and second traffic capacities corresponding to the first period to obtain traffic scheduling information for the second period within the preset time period. The first period is the previous period of the second period. The traffic scheduling information for the second period includes the traffic quota that the client can schedule to the second domain name from the first domain name within the second period.
8. The traffic scheduling method according to any one of claims 1-7, characterized in that, The second domain name was determined in the following way: In response to receiving traffic scenario information reported by the client, the second domain name is determined based on the traffic scenario information, wherein the traffic scenario information includes the third region and application scenario corresponding to the allocated traffic; The traffic scheduling method further includes: The mapping relationship between the third region and the second domain name is registered to the content distribution network server of the first content distribution network node. The content distribution network server is used to distribute traffic corresponding to the second domain name according to the mapping relationship.
9. A flow scheduling device, characterized in that, The traffic scheduling device includes: The determination module is used to determine first traffic information and second traffic information within a preset time period. The first traffic information includes a first traffic indicator of the remaining traffic of the first content delivery network node, and the second traffic information includes a second traffic indicator corresponding to the allocated traffic of the client to the first domain name. The first domain name is used to determine the content delivery network server to distribute traffic to the second content delivery network node. The first content delivery network node is different from the second content delivery network node. The preset time period represents the time period corresponding to the traffic trough. The allocation module is used to allocate traffic based on the first traffic information and the second traffic information to obtain traffic scheduling information. The traffic scheduling information includes the traffic quota that the client can schedule traffic allocated to the first domain name to the second domain name. The second domain name is used to determine the content delivery network server to distribute traffic to the first content delivery network node.
10. A computer-readable medium having a computer program stored thereon, characterized in that, When the program is executed by the processing device, it implements the steps of the method described in any one of claims 1-8.
11. An electronic device, characterized in that, include: A storage device having at least one computer program stored thereon; At least one processing means is configured to execute the at least one computer program in the storage device to implement the steps of the method according to any one of claims 1-8.
12. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1-8.