Method for determining bandwidth quota and resource quota and method for allocating bandwidth to nodes

CN116527600BActive Publication Date: 2026-10-09ALIBABA (CHINA) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310361848.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-30
Publication Date
2026-10-09
Estimated Expiration
2043-03-30

AI Technical Summary

Benefits of technology

[0012] On the one hand, this application provides a bandwidth quota management method based on historical bandwidth data prediction and elastic scaling. This includes predicting the current possible usage (predicted value) of shared bandwidth by users based on historical values, and elastically scaling the predicted value according to the predicted value and the current real-time value of shared bandwidth. This avoids the instability problem caused by relying solely on real-time data, and also avoids the resource waste caused by preparing bandwidth resources that do not match actual usage. Furthermore, it avoids the instability problem caused by frequent changes in bandwidth quotas during low traffic periods by using a single incremental threshold; it avoids the impact of frequent changes in bandwidth quotas on bandwidth stability by using a cooldown time; and it ensures that node links will not be overloaded by using an upper limit value.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116527600B_ABST
    Figure CN116527600B_ABST
Patent Text Reader

Abstract

The application provides a bandwidth quota and resource quota determination method and a node bandwidth allocation method, and relates to the technical field of cloud computing. The method comprises the following steps: predicting a predicted value of a user-shared bandwidth on a target node according to a historical value of the user-shared bandwidth; comparing the predicted value with a real-time value of the user-shared bandwidth; performing elastic scaling on the predicted value according to a comparison result, and determining a bandwidth quota of the user-shared bandwidth according to a result of the elastic scaling; wherein the elastic scaling comprises increasing the predicted value or decreasing the predicted value. According to the technical scheme of the application, on one hand, the problem of poor stability caused by only relying on real-time data is avoided, and the problem of resource waste caused by preparing bandwidth resources in advance that do not conform to actual use is avoided; on the other hand, stable mixed running and bandwidth multiplexing of internal self-service and external user service on the same target node are realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of cloud computing technology, and in particular to methods for determining bandwidth and resource quotas and methods for allocating node bandwidth. Background Technology

[0002] Edge cloud is a distributed computing architecture that moves the computation of applications, data, and services from the network's central nodes to logically located edge nodes. Its goal is to provide computing, storage, and network bandwidth closer to data input or users, optimizing response latency, central load, and overall cost. Given the user-centric and multi-tiered nature of edge cloud, high-bandwidth services such as live video streaming, video-on-demand, and cloud gaming have become its primary application scenarios, making bandwidth resources a primary concern for all users in the cloud. Therefore, a flexible quota management method is needed to coordinate bandwidth resources. Summary of the Invention

[0003] This application provides a method for determining bandwidth quotas and allocating node bandwidth, an electronic device, and a storage medium to achieve dynamic adjustment of node bandwidth quotas.

[0004] In a first aspect, embodiments of this application provide a method for determining bandwidth quotas, comprising: predicting a predicted value of shared bandwidth for users based on historical values ​​of shared bandwidth for users on a target node; comparing the predicted value with real-time values ​​of shared bandwidth for users; elastically scaling the predicted value based on the comparison results, and determining a bandwidth quota for shared bandwidth for users based on the results of the elastic scaling; wherein, elastic scaling includes increasing or decreasing the predicted value.

[0005] Secondly, embodiments of this application provide a method for determining bandwidth quotas, including: obtaining a preset lock-in time range and lock-in ratio for a target node; in response to the current time falling within the lock-in time range, determining the bandwidth quota for shared bandwidth of users on the target node based on the leased / sold bandwidth and lock-in ratio of the target node.

[0006] Thirdly, embodiments of this application provide a method for allocating node bandwidth, including: determining the node construction bandwidth of a target node; wherein the node construction bandwidth is divided into user-shared bandwidth and internally controllable bandwidth; obtaining the bandwidth quota of the user-shared bandwidth; wherein the bandwidth quota is determined according to the method of the first aspect or the second aspect; and allocating the bandwidth of the internally controllable bandwidth based on the bandwidth quota and the bandwidth amount of the node construction bandwidth.

[0007] Fourthly, embodiments of this application provide a method for determining resource quotas, including: predicting the predicted usage of shared resources based on the historical usage of shared resources on a target node; comparing the predicted usage with the real-time usage of shared resources; elastically scaling the predicted usage based on the comparison result, and determining the resource quota for shared resources based on the result of the elastic scaling; wherein, elastic scaling includes increasing or decreasing the predicted usage.

[0008] Fifthly, embodiments of this application provide a method for determining resource quotas, including: obtaining a preset lock time range and lock ratio for a target node; in response to the current time falling within the lock time range, determining the resource quota for user-shared resources on the target node based on the rental and sales resources of the target node and the lock ratio; or, in response to the current time not falling within the lock time range, comparing the predicted usage of user-shared resources with the real-time usage of user-shared resources, and elastically scaling the predicted usage based on the comparison result, and determining the resource quota for user-shared resources based on the result of the elastic scaling; wherein the predicted usage is obtained based on the historical usage of user-shared resources, and the elastic scaling includes increasing or decreasing the predicted usage.

[0009] In a sixth aspect, embodiments of this application provide an electronic device, including a memory, a processor, and a computer program stored in the memory, wherein the processor implements the method provided in any embodiment of this application when executing the computer program.

[0010] In a seventh aspect, embodiments of this application provide a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the method provided in any embodiment of this application.

[0011] Compared with the prior art, the technical solution of this application has the following advantages:

[0012] On the one hand, this application provides a bandwidth quota management method based on historical bandwidth data prediction and elastic scaling. This includes predicting the current possible usage (predicted value) of shared bandwidth by users based on historical values, and elastically scaling the predicted value according to the predicted value and the current real-time value of shared bandwidth. This avoids the instability problem caused by relying solely on real-time data, and also avoids the resource waste caused by preparing bandwidth resources that do not match actual usage. Furthermore, it avoids the instability problem caused by frequent changes in bandwidth quotas during low traffic periods by using a single incremental threshold; it avoids the impact of frequent changes in bandwidth quotas on bandwidth stability by using a cooldown time; and it ensures that node links will not be overloaded by using an upper limit value.

[0013] On the other hand, bandwidth quotas are determined based on the time range and proportion of the locked quota, so as to achieve the effect of prioritizing the protection of available bandwidth resources for users during the specified time period.

[0014] On the other hand, the traffic scheduling of internal self-operated services (such as CDN, live streaming, etc.) can refer to the bandwidth quota of shared bandwidth for users, thereby increasing or decreasing the amount of bandwidth used by internal self-operated services on the target node, so as to achieve stable mixed operation and bandwidth reuse of internal self-operated services and external user services on the same target node.

[0015] The above overview is for illustrative purposes only and is not intended to be limiting in any way. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features of this application will become readily apparent from the accompanying drawings and the following detailed description. Attached Figure Description

[0016] In the accompanying drawings, unless otherwise specified, the same reference numerals throughout the various drawings denote the same or similar parts or elements. These drawings are not necessarily drawn to scale. It should be understood that these drawings depict only some embodiments disclosed in this application and should not be construed as limiting the scope of this application.

[0017] Figure 1 This diagram illustrates the system architecture for implementing the bandwidth quota determination method according to embodiments of this application.

[0018] Figure 2 A flowchart illustrating the method for determining bandwidth quotas provided in Embodiment 1 of this application is shown;

[0019] Figure 3 An example diagram of the elastic stretching parameters provided in Embodiment 1 of this application is shown;

[0020] Figure 4 This diagram illustrates the workflow of an application example provided in Embodiment 1 of this application.

[0021] Figure 5 A flowchart illustrating the method for determining bandwidth quotas provided in Embodiment 2 of this application is shown;

[0022] Figure 6 A flowchart illustrating the method for determining bandwidth quotas provided in Embodiment 3 of this application is shown;

[0023] Figure 7 A schematic diagram of bandwidth allocation without using the allocation method of Embodiment 3 of this application is shown;

[0024] Figure 8 A schematic diagram illustrating bandwidth allocation using the allocation method of Embodiment 3 of the application is shown;

[0025] Figure 9A flowchart illustrating the method for determining resource quotas provided in Embodiment 4 of this application is shown;

[0026] Figure 10 A flowchart illustrating the method for determining resource quotas provided in Embodiment 5 of this application is shown;

[0027] Figure 11 This is a block diagram of the electronic device provided in Embodiment Eleven of this application. Detailed Implementation

[0028] In the following description, only certain exemplary embodiments are briefly described. As those skilled in the art will recognize, the described embodiments can be modified in various ways without departing from the spirit or scope of this application. Therefore, the drawings and description are considered to be exemplary in nature and not restrictive.

[0029] To facilitate understanding of the technical solutions of the embodiments of this application, the relevant technologies of the embodiments of this application are described below. The following relevant technologies are optional solutions and can be combined with the technical solutions of the embodiments of this application in any way, and they all fall within the protection scope of the embodiments of this application.

[0030] The following terms are used in this document

[0031] Edge Cloud: A distributed computing cloud architecture that moves the computation of applications, data, and services from the central network node to the edge network node. The goal is to provide cloud service resources, including computing resources, storage resources, and network resources, closer to the data input source or user.

[0032] Edge Node (EN): A service platform built at the network edge, close to the data input source or user, provides computing, storage, and network resources to reduce computing latency and costs caused by network transmission and multi-level forwarding.

[0033] Edge Node Service (ENS): Provides services to users based on edge nodes, optimizing response latency, central load, and overall cost by computing and processing terminal data locally.

[0034] Multi-tenancy: This refers to multiple users. In a multi-user environment, multiple users can share cloud service resources in a rented manner while still ensuring the isolation of data between users.

[0035] Shared bandwidth for users: Edge nodes provide a multi-user environment, meaning that users share bandwidth on the edge node. The bandwidth resources shared by multiple users on the edge node are called shared bandwidth for users.

[0036] Leased bandwidth: This refers to the sale of bandwidth. Users can pre-apply for or declare bandwidth resources at a specific edge node based on their actual needs. It is unrelated to the actual traffic used by the user on that edge node. Therefore, leased bandwidth is the amount of bandwidth requested by each user for shared use. For example, if a user requests 10Mbps of bandwidth at an edge node, then the user can use a maximum of 10Mbps of bandwidth at that edge node. In a multi-user environment, the leased bandwidth of an edge node is the total amount of bandwidth requested by all users for shared use. For example, if an edge node has 1000 users, and each user requests 10Mbps of bandwidth, then the leased bandwidth of that edge node is 1000 * 10Mbps.

[0037] Auto Scaling: Adjusts computing power, network capacity, storage capacity, number of instances, etc., based on service needs and policies.

[0038] Monthly 95 Billing: A common billing method, billed monthly. One bandwidth is collected every 5 minutes, 12 bandwidths are collected every hour, and 12*24 bandwidths are collected every day. Assuming a month has 30 days, that's 12*24*30=8640 bandwidths. They are sorted from highest to lowest, and then the top 5% of bandwidths are removed. The remaining highest bandwidth is the billing value.

[0039] Content Delivery Network (CDN): A distributed network consisting of edge node clusters distributed in different regions, enabling users to obtain the content they need from the nearest location, avoiding network instability and high access latency caused by factors such as network congestion, cross-carrier, cross-regional, and cross-border issues.

[0040] Application scenarios and systems

[0041] With edge cloud being closer to users and more distributed across multiple levels, high-bandwidth services such as live video streaming, video-on-demand, and cloud gaming have become the main application scenarios for edge cloud. The corresponding bandwidth resources are the most critical resource for all users in the cloud. Therefore, a flexible quota management method is needed to coordinate bandwidth resources.

[0042] Edge nodes provide a multi-user environment where users share bandwidth. However, due to the bandwidth cap on each node, sudden bandwidth surges for some users can lead to bandwidth saturation. Therefore, related technologies have proposed using real-time user bandwidth as a quota for traffic scheduling. This involves acquiring real-time information about available bandwidth for each user on the node and using this data to schedule and adjust services. However, because traffic control policies have a time-sensitive effect, this approach suffers from instability.

[0043] Related technologies also propose a method for traffic scheduling using user-subscribed leased bandwidth as quota. Since leased bandwidth is the amount of bandwidth resources requested or declared by a user for a specific edge node, it is a pre-configured parameter and unrelated to the actual traffic used by the user on that edge node. Currently, common bandwidth services typically use a 95% monthly billing method to ensure maximum capacity. Therefore, when users submit leased bandwidth requests, they usually use peak bandwidth as the benchmark. This leads to significant waste of bandwidth resources during off-peak periods when peak bandwidth is not reached, resulting in unnecessary costs.

[0044] Therefore, a more flexible quota management method is needed to avoid investing a lot of manpower in adjusting bandwidth resources and preparing bandwidth resources in advance.

[0045] The bandwidth quota determination method provided in this application embodiment can predict the current possible usage (predicted value) of the shared bandwidth of users based on historical bandwidth data (historical value of shared bandwidth of users), and elastically scale the predicted value according to the predicted value and the current real-time value of shared bandwidth of users, thereby determining the bandwidth quota of shared bandwidth of users. That is, this application embodiment provides a bandwidth quota management method based on historical bandwidth data prediction and elastic scaling, which avoids the problem of poor stability caused by relying solely on real-time data, and also avoids the problem of resource waste caused by preparing bandwidth resources in advance.

[0046] For example, the method of this application embodiment can be applied to hybrid service scenarios of edge nodes. "Hybrid service" can be understood as both the internal self-operated services and external user services of the edge node builder or operator running on the same edge node. For example, an edge node can run not only its internally self-operated CDN service but also a multi-user ENS service. For a given edge node, the node construction bandwidth can be divided into a user-shared bandwidth portion and an internally controllable bandwidth portion. The user-shared bandwidth is used for external user services, such as the multi-user ENS service, providing multi-user external traffic; the internally controllable bandwidth is used for internal self-operated services, such as the self-operated CDN service, providing internally controllable traffic.

[0047] According to the technical solution provided in the embodiments of this application, by managing the bandwidth quota of external services and coordinating the traffic scheduling of self-operated services, a mixed-running method of external traffic and internal controllable traffic for multiple users can be achieved. This avoids resource waste by scheduling the use of internal services when there is idle bandwidth shared by users, and reduces the amount of bandwidth used by internal services on the node in a timely manner when the bandwidth shared by users is saturated. This smooths out peaks and valleys, optimizes the bandwidth curve, and significantly improves the reuse rate of bandwidth resources while ensuring stability, thereby achieving technical and cost competitiveness.

[0048] It should be noted that the above-described application scenarios or application examples of the bandwidth quota determination method provided in the embodiments of this application are for ease of understanding, and the embodiments of this application do not specifically limit the application of the bandwidth quota determination method.

[0049] Figure 1 An architectural diagram of an exemplary system for implementing the methods of embodiments of this application is shown. Figure 1 As shown, the system includes a bandwidth quota determination device, a database, and a node bandwidth allocation device.

[0050] The database can be used to store node data for each node, such as node A, node B, etc. Node data includes, but is not limited to, historical values ​​of shared bandwidth, real-time values ​​of shared bandwidth, elastic scaling parameters, leased / sold bandwidth, node link information, and node construction bandwidth. The database also stores the bandwidth quota for shared bandwidth for each node. There can be one or more databases; this embodiment does not limit this.

[0051] The bandwidth quota determination device can obtain node data of each node from one or more databases, and determine the bandwidth quota for shared bandwidth of each node based on the bandwidth quota determination method of this application embodiment, and store it in one or more databases. The bandwidth quota determination device can be deployed on the operation and maintenance server, and its form can be an application, service, instance, software functional module, container or cloud server, etc.

[0052] The node bandwidth allocation device can retrieve the bandwidth quota for shared bandwidth among users of each node from one or more databases and distribute it to each node. For example, for a specific node, the node bandwidth allocation device can also allocate the amount of internal controllable bandwidth for that node based on the node's shared bandwidth quota and the node's built-in bandwidth. The node bandwidth allocation device can be deployed on the operation and maintenance server and can take the form of an application, service, instance, software module, container, or cloud server, etc.

[0053] It should be noted that the above system architecture of the bandwidth quota determination method provided in the embodiments of this application is for ease of understanding, and the embodiments of this application do not specifically limit the system for implementing the bandwidth quota determination method.

[0054] Example 1

[0055] Figure 2 A flowchart illustrating a method for determining bandwidth quotas according to an embodiment of this application is shown. This method for determining bandwidth quotas can be applied to a bandwidth quota determination apparatus. Figure 2 As shown, the method for determining this bandwidth quota includes:

[0056] Step S201: Based on the historical value of the shared bandwidth of users on the target node, predict the predicted value of the shared bandwidth of users.

[0057] The target node can be an edge node. In one example, target nodes can be filtered based on the bandwidth of each edge node. In an edge cloud scenario, the bandwidth of each edge node is periodically recorded in a database. When the bandwidth of an edge node exceeds a preset bandwidth threshold, that edge node is considered to require high traffic quota management and is thus designated as a target node. In another example, target nodes can be preset based on configuration information, such as user or region configuration information, designating the edge node corresponding to a specific user or region as the target node.

[0058] Edge nodes provide a multi-user environment where each user shares bandwidth resources on the edge node; that is, users share bandwidth. In this embodiment, the shared bandwidth refers to the portion of bandwidth resources shared by all users on the target node.

[0059] For example, the system can collect historical bandwidth data of all users across all nodes at regular time intervals, i.e., real-time bandwidth data from a certain time ago. For instance, depending on the edge node's acquisition capability, real-time bandwidth data from 2-4 minutes ago can be collected every minute. The target node is included among the all nodes. The historical bandwidth data can be stored in a database, and the bandwidth amount shared by users at a specific moment on the target node can be read from the historical bandwidth data as a historical value. Historical values ​​can reflect user behavior characteristics; therefore, based on historical values, the current bandwidth amount shared by users can be predicted, yielding a predicted value.

[0060] Because the timing and amount of bandwidth used by each user in the edge cloud are uncertain but periodic, historical values ​​can be used to improve the accuracy of predictions. These historical values ​​represent the bandwidth shared by users at the same time within multiple historical periods. For example, if a historical period is one day, the bandwidth shared by users at the same time within seven days (seven historical periods) of the target node can be read from the database to obtain seven historical values. Furthermore, multiple historical values ​​are fitted to determine the predicted value.

[0061] For example, predictions can be based on long short-term memory, such as by using a weighted fit of historical values ​​from multiple historical periods, where the weights of the historical values ​​from the first and last periods are increased accordingly, thereby further improving prediction accuracy.

[0062] Step S202: Compare the predicted value with the real-time value of the shared bandwidth for users.

[0063] The predicted value can be the value predicted at the current time, and the real-time value can be the bandwidth amount of the shared bandwidth of users obtained at the current time. For example, the system can collect real-time bandwidth data of all users on all nodes at regular time intervals, such as every minute. Due to varying edge acquisition capabilities, the collected real-time bandwidth data may be delayed, for example, data from 2 to 4 minutes ago. In this embodiment, the real-time value at the current time is used as the reference time for obtaining the real-time bandwidth data.

[0064] Comparing the predicted value and the real-time value can be done by determining the difference between the two or by determining the ratio between the two; this application does not limit this to the embodiments.

[0065] Step S203: Flexibly scale the predicted value based on the comparison results, and determine the bandwidth quota for shared bandwidth of users based on the results of the flexible scaling; wherein, flexible scaling includes increasing or decreasing the predicted value.

[0066] For example: if the real-time value is greater than the predicted value, the predicted value is increased, and the increased predicted value is used as the bandwidth quota; if the real-time value is less than the predicted value, the predicted value is decreased, and the decreased predicted value is used as the bandwidth quota.

[0067] Based on this, the embodiments of this application provide a bandwidth quota management method based on historical bandwidth data prediction and elastic scaling, including predicting the current possible usage of shared bandwidth by users based on historical values ​​(predicted value), and elastically scaling the predicted value according to the predicted value and the current real-time value of shared bandwidth by users. On the one hand, this avoids the problem of poor stability caused by relying solely on real-time data, and on the other hand, it avoids the problem of resource waste caused by preparing bandwidth resources in advance that do not conform to actual usage.

[0068] For example, there can be multiple target nodes. For instance, based on the node's bandwidth and bandwidth threshold, all target nodes requiring quota planning can be selected to form a target node list. For any given target node, quota management is performed based on the method described in this application embodiment, i.e., determining the bandwidth quota for users sharing the bandwidth on each target node.

[0069] In one implementation, in step S201, predicting the predicted value of the shared bandwidth of users based on the historical value of the shared bandwidth of users on the target node includes: in response to the historical value being less than a preset lower limit of bandwidth, using the rental bandwidth of the target node as the predicted value.

[0070] If historical values ​​are abnormal, such as being lower than the preset bandwidth lower limit or even zero (i.e., lacking historical bandwidth data), it indicates that the target node may be a newly created node or a new user node. In this case, the target node's leased / sold bandwidth can be used as the predicted value according to the preset new bandwidth locking strategy. The new bandwidth locking strategy presets a bandwidth lower limit and stipulates that when the historical value is lower than the bandwidth lower limit, the target node's leased / sold bandwidth will be used as the predicted value. Based on this, bandwidth resources for special users can be prioritized.

[0071] In one embodiment, in step S203, the predicted value is elastically scaled according to the comparison result, including: increasing the predicted value in response to the comparison result meeting a preset incremental threshold condition; wherein, the incremental threshold condition includes the real-time value being greater than the predicted value and the difference between the real-time value and the predicted value being greater than the incremental threshold, or the incremental threshold condition includes the real-time value being greater than the predicted value and the ratio between the real-time value and the predicted value being greater than the incremental threshold ratio.

[0072] This allows for the preset elastic scaling strategy, with the incremental threshold condition being a part of this strategy. The incremental threshold and its ratio are preset elastic scaling parameters. Based on this, even if the predicted value is too low, the final bandwidth quota can be made to approximate the real-time value, thus ensuring that the allocated bandwidth resources meet the actual usage needs of users.

[0073] In one example, the incremental threshold condition is that the real-time value is greater than the predicted value, and the difference between the real-time value and the predicted value is greater than the incremental threshold. For example, if the incremental threshold is 20G, the real-time value is 130G, and the predicted value is 100G, then the difference between the real-time value and the predicted value is 130G - 100G = 30G. This difference is greater than the incremental threshold, therefore, the incremental logic is executed, increasing the predicted value. In another example, the incremental threshold condition is that the real-time value is greater than the predicted value, and the ratio of the real-time value to the predicted value is greater than the incremental threshold percentage. For example, if the incremental threshold is 120%, the real-time value is 130G, and the predicted value is 100G, then the ratio of the real-time value to the predicted value is 130G / 100G = 130%. This ratio is greater than the incremental threshold, therefore, the incremental logic is executed, increasing the predicted value.

[0074] In one implementation, increasing the predicted value may specifically include: increasing the predicted value step by step according to a preset step size until the increased predicted value is greater than the real-time value; wherein, the step size is the single increment of the predicted value, or the step size is the single increase ratio of the predicted value.

[0075] In other words, the incremental logic described above can include: progressively increasing the predicted value by a preset step size until the increased predicted value exceeds the real-time value. Incremental logic is a flexible scaling strategy that can be preset, and the step size is a preset flexible scaling parameter. Based on this incremental logic, the bandwidth adjustment magnitude can be reduced, and bandwidth stability can be improved.

[0076] In one example, the step size is a single increment. The incremental logic is to increase the predicted value incrementally until the increased predicted value is greater than the real-time value. For example, if the step size is 20G, the real-time value is 130G, and the predicted value is 100G, the incremental logic can be executed as follows: First, increase the step size of 20G on the predicted value of 100G, resulting in a predicted value of 120G. Since the increased predicted value of 120G is less than the real-time value of 130G, the predicted value continues to increase. Second, increase the step size of 20G on the predicted value of 120G, resulting in a predicted value of 140G, which is greater than the real-time value of 130G, at which point the incremental logic stops.

[0077] In another example, the step size is the percentage increase per increment. The incremental logic specifically increases the predicted value step by step according to the percentage increase per increment until the increased predicted value is greater than the real-time value. For example, if the step size is 20%, the real-time value is 130G, and the predicted value is 100G, the incremental logic can be executed as follows: First, the predicted value of 100G is increased by 20%, resulting in a predicted value of 100G*(1+20%) = 120G. Since the increased predicted value of 120G is less than the real-time value of 130G, the predicted value is increased further. Second, the predicted value of 120G is increased by 20%, resulting in a predicted value of 120G*(1+20%) = 144G, which is greater than the real-time value of 130G, so the incremental logic stops.

[0078] In one implementation, increasing the predicted value may specifically include: in response to a historical value being less than a preset single increment threshold, increasing the predicted value by a single increment threshold; wherein the single increment threshold is the rental / sale bandwidth of the target node multiplied by the single increment ratio of the predicted value.

[0079] In other words, the incremental logic described above can also include: if the historical value is less than the single incremental threshold, then the predicted value is increased directly in one go. Based on this, the instability problem caused by frequent changes in bandwidth quotas during low traffic can be avoided. The single incremental threshold is a preset, elastic scaling parameter; that is, the single incremental threshold can also be configured with other values ​​or calculation methods, which is not limited in this embodiment.

[0080] For example, if the leased bandwidth is 200G and the single increase rate is 20%, then the single increment threshold is 200G * 20% = 40G. Assuming the real-time value is 30G, the predicted value is 24G, and the increment threshold is 120%, since the real-time value 30G / predicted value 24G = 125% > 120%, the increment logic is triggered. However, since the predicted value 24G is less than the single increment threshold of 40G, the predicted value is directly increased by 40G in one go, resulting in a predicted value of 64G.

[0081] In one embodiment, in step S203, the predicted value is elastically scaled according to the comparison result, including: reducing the predicted value in response to the comparison result meeting a preset reduction threshold condition; wherein, the reduction threshold condition includes the real-time value being less than the predicted value and the difference between the real-time value and the predicted value being less than the reduction threshold, or the reduction threshold condition includes the real-time value being less than the predicted value and the ratio between the real-time value and the predicted value being less than the reduction threshold ratio.

[0082] This allows for the preset elastic scaling strategy, with the scaling threshold condition being one such strategy. The scaling threshold and its ratio are preset elastic scaling parameters. Based on this, even if the predicted value is too high, the final determined bandwidth quota can be made to approach the real-time value, thus ensuring that the allocated bandwidth resources meet the actual usage needs of users.

[0083] In one example, the scaling threshold condition is that the real-time value is less than the predicted value, and the difference between the real-time value and the predicted value is less than the scaling threshold. For example, if the scaling threshold is -30G, the real-time value is 60G, and the predicted value is 100G, then the difference between the real-time value and the predicted value is 60G - 100G = -40G. This difference is less than the scaling threshold, therefore, scaling logic is executed to reduce the predicted value. In another example, the scaling threshold condition is that the real-time value is less than the predicted value, and the ratio of the real-time value to the predicted value is less than the scaling threshold percentage. For example, if the scaling threshold is 70%, the real-time value is 60G, and the predicted value is 100G, then the ratio of the real-time value to the predicted value is 600G / 100G = 60%. This ratio is less than the scaling threshold, therefore, scaling logic is executed to reduce the predicted value.

[0084] In one implementation, the bandwidth quota reduction threshold condition may further include the time interval between the current time and the last time the bandwidth quota was updated being greater than a preset time interval threshold.

[0085] In other words, a cooldown time, or time interval threshold, can be preset. If the time interval since the last bandwidth quota adjustment has not reached this cooldown time (time interval threshold), the bandwidth reduction logic will not be triggered, thus avoiding frequent changes in bandwidth quota and affecting bandwidth stability. The cooldown time (time interval threshold) is also a preset flexible scaling parameter.

[0086] In one implementation, in step S203, determining the bandwidth quota for shared bandwidth for users based on the result of elastic scaling includes: taking the minimum value between the rental bandwidth of the target node and the node construction bandwidth of the associated node of the target node as the upper limit of the shared bandwidth for users; wherein the associated node is located on the node link of the target node; if the result of elastic scaling is greater than the upper limit value, the upper limit value is determined as the bandwidth quota; or, if the result of elastic scaling is less than or equal to the upper limit value, the result of elastic scaling is determined as the bandwidth quota.

[0087] The node links of the target node include parent-child nodes and sibling nodes belonging to the same billing unit as the target node; that is, associated nodes are the parent-child nodes and sibling nodes of the target node. When paying the network operator, the bandwidth of multiple nodes within the same billing unit is added together for unified billing. Therefore, there may be multiple associated nodes on the node links of the target node, and the upper limit will be the minimum value selected from the node construction bandwidth of the multiple associated nodes and the leased / sold bandwidth of the target node.

[0088] Based on this, if the increased predicted value exceeds the upper limit of the user shared bandwidth, it means that the final determined bandwidth quota may exceed the bandwidth capacity of the entire node link. Therefore, the upper limit of the user shared bandwidth needs to be used as the bandwidth quota to ensure that the node link will not be overloaded.

[0089] In one embodiment, the method of this application further includes: before step S202, that is, before comparing the predicted value and the real-time value of the user-shared bandwidth, determining the current time and a preset lock-up time range; if the current time is within the lock-up time range, determining the bandwidth quota based on the target node's leased / sold bandwidth and the preset lock-up ratio; or, if the current time is not within the lock-up time range, performing a comparison of the predicted value and the real-time value of the user-shared bandwidth.

[0090] The lock-in time range refers to the period during which the lock-in is effective, such as 20:00 to 2:00. The lock-in ratio refers to the proportion of rented bandwidth allocated to users for shared bandwidth. Both the lock-in time range and the lock-in ratio are preset elastic scaling parameters. Preset elastic scaling strategies include: if the current time falls within the lock-in time range, the bandwidth quota is determined as the rented bandwidth multiplied by the lock-in ratio, thereby achieving the effect of prioritizing the protection of available bandwidth resources for users during the specified time period.

[0091] The following is combined with Figure 3 and Figure 4 This application example illustrates an embodiment of the present application. This example may include the following workflows:

[0092] (1) Filter target nodes:

[0093] Based on the above, target nodes can be filtered according to the bandwidth of each edge node, or target nodes can be preset according to user or region configuration information to form a target node list.

[0094] (2) Load data:

[0095] This includes loading node-elastic scaling strategies, loading real-time bandwidth data, loading historical bandwidth data, loading node link construction capability query information, and loading node-rented / sold bandwidth information. This data can be obtained from one or more databases, and this application embodiment does not limit this.

[0096] The elastic scaling strategy includes elastic scaling parameters. These parameters are set at the node-user level, meaning they are node-user level data. If no elastic scaling parameters are set for a particular node-user, a pre-set default value (general value) can be used. The above description illustrates various types of elastic scaling parameters, including incremental threshold (or incremental threshold percentage), step size, reduction threshold (or reduction threshold percentage), cooldown time (interval threshold), lockout time range, and lockout percentage. These can be combined with... Figure 3 The meaning is clear and will not be elaborated upon here.

[0097] Every minute, the system collects real-time bandwidth data from all users across all nodes. This collected real-time bandwidth data may be delayed, for example, data from 2-4 minutes ago. At regular intervals (preset), the system collects historical bandwidth data, node link construction capability query information, and node-rental / sale bandwidth information. Historical bandwidth data includes real-time bandwidth data from the same moment within multiple historical periods, with each period being one day (i.e., real-time bandwidth data from the same moment within 7 days). Node link construction capability query information presents the node construction bandwidth information of each associated node of a given node in the form of node-to-node links.

[0098] (3) Bandwidth prediction:

[0099] The real-time value of the shared bandwidth for users on the target node is determined based on real-time bandwidth data, and the historical value of the shared bandwidth for users on the target node is determined based on historical bandwidth data. If the historical value is abnormal, such as being less than the preset bandwidth lower limit or even 0 (i.e., lacking historical bandwidth data), it indicates that the target node may be a newly built node or a newly added user node. In this case, the leased / sold bandwidth of the target node can be used as the predicted value according to the preset new bandwidth locking strategy. If the historical value is normal, the node links of the target node are queried to obtain the node construction bandwidth information of each associated node of the target node. Furthermore, a predicted value is obtained based on the historical value, for example, by using a weighted fitting of historical values ​​from 7 historical periods to obtain the predicted value of the shared bandwidth for users. The weights corresponding to the historical values ​​of the first and last periods are increased accordingly, and one historical period is 1 day.

[0100] (4) Elastic stretching

[0101] The system reads the elastic scaling policy configured by the operations personnel. This policy includes any of the elastic scaling policies mentioned above, such as incremental threshold conditions, reduction threshold conditions, incremental logic, reduction logic, and reduction configuration. Then, it executes elastic scaling according to the policy. Bandwidth prediction and elastic scaling are executed at regular intervals, for example, every minute.

[0102] The following is an example of the process for performing elastic scaling according to the elastic scaling strategy:

[0103] A. Check if the current time falls within the time limit for bandwidth locking; if it does, determine the bandwidth quota as the leased bandwidth multiplied by the locked ratio to achieve the effect of prioritizing the protection of available bandwidth resources for users during the specified time period; if it does not fall within the time limit, compare the predicted value with the real-time value.

[0104] B. Incremental Logic: Assuming an incremental threshold ratio of 120%, a reduction threshold ratio of 70%, a step size of 20%, and a leased / sold bandwidth of 200G:

[0105] If the real-time value is 150G and the predicted value is 100G, then since the real-time value / predicted value = 150% > 120%, incremental logic is triggered. The predicted value of 100G increases by a step size of 20%, and the bandwidth quota is updated to the predicted value 100G * (1 + 20%) = 120G. Since the real-time value 150G / the increased predicted value 120G = 125%, which is still greater than 120%, the incremental logic continues, increasing the predicted value of 120G by a step size of 20%, resulting in an increased predicted value of 120 * (1 + 120%) = 144G. Since the real-time value 150G is still greater than the increased predicted value 144G, the incremental logic continues, increasing the predicted value of 144G by a step size of 20%, resulting in an increased predicted value of 144 * (1 + 120%) = 172.8G. At this point, the incremental logic stops.

[0106] If the real-time value is 30G and the predicted value is 24G, although the real-time value 30G / predicted value 24G = 125% > 120%, the predicted value 24G < sales volume 200G * step size 20% = 40G. That is, the predicted value 24G is less than the single increment threshold of 40G. Therefore, the predicted value is directly increased by 40G at once, and the increased predicted value is 64G. This avoids the problem of poor stability caused by frequent changes in bandwidth quota when the traffic is small.

[0107] C. Reduction Logic: Assuming a reduction threshold of 70%, a step size of 20%, and a leased / sold bandwidth of 200G:

[0108] If the real-time value is 60G and the predicted value is 100G, and the real-time value 60G / predicted value 100G = 60% < 70%, and the time interval since the last bandwidth quota update is greater than the cooldown time, then the reduction logic is triggered, and the reduced predicted value is 100G * (100% - 20%) = 80G.

[0109] D. Determine the upper limit of the shared bandwidth for users on the target node, taking the minimum value between the target node's leased / sold bandwidth and the node construction bandwidth of each associated node. If the predicted value after elastic scaling (increasing or decreasing) in B and C is greater than this upper limit, then the bandwidth quota is updated to this upper limit; otherwise, the bandwidth quota is updated to the predicted value after elastic scaling.

[0110] Furthermore, the bandwidth quota shared by users can be stored in a database or queried in real time through an interface, which facilitates the formulation of internal traffic control strategies by operators or is used for the allocation of node bandwidth. In addition, information such as bandwidth quota can be displayed in real time through a visual interface, such as a visual dashboard.

[0111] According to the method in this application embodiment, dynamic quota planning is achieved through historical bandwidth data prediction and elastically scalable bandwidth quota management. This avoids the instability issues caused by relying solely on real-time data, and also avoids resource waste caused by preparing bandwidth resources that do not match actual usage. Furthermore, using a single incremental threshold avoids the instability issues caused by frequent changes in bandwidth quotas during low traffic volumes; using a cooldown period avoids the impact of frequent bandwidth quota changes on bandwidth stability; and setting an upper limit for shared bandwidth based on the minimum of the target node's leased / sold bandwidth and the node construction bandwidth of each associated node ensures that node links are not overloaded.

[0112] Example 2

[0113] Figure 5 A flowchart illustrating a method for determining bandwidth quotas according to an embodiment of this application is shown. This method for determining bandwidth quotas can be applied to a bandwidth quota determination apparatus. Figure 5 As shown, the method for determining the bandwidth quota may include:

[0114] Step S501: Obtain the preset lock time range and lock ratio for the target node;

[0115] Step S502: In response to the current time falling within the time limit lockout period, determine the bandwidth quota for shared bandwidth among users on the target node based on the target node's leased / sold bandwidth and lockout ratio.

[0116] The lock-in time range refers to the period during which the lock-in is effective, such as 20:00 to 2:00. The lock-in ratio is the proportion of leased / sold bandwidth guaranteed for shared bandwidth by users. Both the lock-in time range and the lock-in ratio are preset, flexible scaling parameters. If the current time falls within the lock-in time range, the bandwidth quota is determined as leased / sold bandwidth multiplied by the lock-in ratio, thereby achieving the effect of prioritizing the protection of available bandwidth resources for users during the specified time period.

[0117] In one embodiment, the method of this application embodiment may further include: in response to the current time not being within the lockout time range, comparing the predicted value of the user shared bandwidth with the real-time value of the user shared bandwidth, and elastically scaling the predicted value according to the comparison result, and determining the bandwidth quota for the user shared bandwidth according to the result of the elastic scaling; wherein the predicted value is obtained by predicting based on the historical value of the user shared bandwidth, and the elastic scaling includes increasing or decreasing the predicted value.

[0118] The process of predicting the shared bandwidth based on historical values ​​can be implemented using the same or similar methods as step S201; comparing the predicted value of the shared bandwidth with the real-time value can be implemented using the same or similar methods as step S202; and elastically scaling the predicted value based on the comparison results, and determining the bandwidth quota for the shared bandwidth based on the results of the elastic scaling, can be implemented using the same or similar methods as step S203. The embodiments of this application will not be described in detail here.

[0119] Example 3

[0120] Figure 6 A flowchart illustrating a node bandwidth allocation method according to an embodiment of this application is provided. This node bandwidth allocation method can be applied to a node bandwidth allocation apparatus. Figure 6 As shown, the method for allocating bandwidth to this node may include:

[0121] Step S601: Determine the node construction bandwidth of the target node; wherein, the node construction bandwidth is divided into user-shared bandwidth and internal controllable bandwidth;

[0122] Step S601: Obtain the bandwidth quota for shared bandwidth among users; wherein the bandwidth quota is determined according to the method of Embodiment 1 or Embodiment 2;

[0123] Step S603: Allocate the amount of internal controllable bandwidth based on the bandwidth quota and the bandwidth amount of node construction bandwidth.

[0124] In hybrid service scenarios, both internal self-operated services and external user services run on the same edge node. For example, an edge node can run both internal self-operated CDN services and multi-user ENS services. Therefore, the bandwidth of the target node can be divided into shared bandwidth for users and internally controllable bandwidth. The shared bandwidth is used for external user services, such as multi-user ENS services, providing external traffic to multiple users; the internally controllable bandwidth is used for internal self-operated services, such as self-operated CDN services, providing internally controllable traffic.

[0125] Therefore, after determining the bandwidth quota of the shared bandwidth for the target node based on the methods of Embodiments 1 and 2, it can be stored in a designated database by node-user and generation time. Traffic scheduling for internal self-operated services (such as CDN, live streaming, etc.) can refer to the bandwidth amount of the internal controllable bandwidth and generate corresponding scheduling policies to be sent to the target node, thereby increasing or decreasing the bandwidth used by the internal self-operated services on the target node. The bandwidth control module reads the bandwidth quota of the shared bandwidth for the users and sends the corresponding scheduling policies to the target node, thereby increasing or decreasing the bandwidth used by the external user services on the target node. This enables stable co-operation and bandwidth reuse of internal self-operated services and external user services on the same target node. Simultaneously, edge nodes provide protection based on the bandwidth quota of the shared bandwidth for the users, and each user enjoys corresponding protection within their respective quotas. When the bandwidth quota of the shared bandwidth for the users changes, the internal self-operated services can use the remaining bandwidth of the billing unit (the space below the real-time cost line of the billing unit). For traffic congestion caused by the internal self-operated services exceeding their limits, the protection mechanism selects to drop the IP packets of the corresponding internal self-operated services to reduce speed, thus achieving edge autonomy.

[0126] Figure 7 A schematic diagram illustrating bandwidth allocation without using the allocation method described in the embodiments of this application is shown. Figure 8 This diagram illustrates bandwidth allocation using the allocation method described in the application embodiment. The CDN availability zone represents the internally controllable bandwidth available for self-operated services; the ENS availability zone represents the shared bandwidth available for external user services; and the total capacity represents the node construction bandwidth. It can be seen that... Figure 7 In reality, there are significant gaps below the actual billing line, indicating a substantial waste of bandwidth resources. Figure 8 In this system, internal direct-operation services can use the space below the user's bandwidth limit, thereby achieving collaborative supplementation between internal controllable bandwidth and user-shared bandwidth to reach the top, effectively utilizing bandwidth resources, and adjusting bandwidth quotas according to the needs of external user services.

[0127] Example 4

[0128] Figure 9A flowchart illustrating a method for determining resource quotas according to an embodiment of this application is provided. This method for determining resource quotas can be applied to a resource quota determination apparatus. Figure 9 As shown, the method for determining this resource quota includes:

[0129] Step S901: Based on the historical usage of shared resources by users on the target node, predict the predicted usage of shared resources by users;

[0130] Step S902: Compare the predicted usage with the real-time usage of shared resources by users;

[0131] Step S903: Based on the comparison results, the predicted usage is elastically scaled, and the resource quota for shared resources of users is determined based on the results of the elastic scaling; wherein, elastic scaling includes increasing or decreasing the predicted usage.

[0132] In this embodiment, the resources can be cloud service resources, including computing resources, network resources, and storage resources. For example, computing resources may include CPUs, instances, containers, etc.; network resources may include the aforementioned bandwidth, and may also include IP (network protocol) addresses, etc.; storage resources may include cloud disks, object storage, network-attached storage, etc. The usage of computing resources may include the number of instances used, the number of containers, the instance size, the container size, etc.; the usage of network resources may include the amount of bandwidth used, the network segment capacity, etc.; and the usage of storage resources may include the storage capacity used, etc.

[0133] For a given node, its cloud service resources can be divided into shared user resources and internally controllable resources. Shared user resources are used for external user services, such as multi-user ENS services; internally controllable resources are used for internal self-operated services, such as self-operated CDN services, providing internally controllable resources. Shared user resources are the portion of cloud service resources shared by all external users on the target node.

[0134] Based on node acquisition capabilities, historical and real-time usage of shared resources on the target node can be obtained. Specifically, implementation methods similar to those used for historical and real-time values ​​of shared bandwidth can be adopted. Comparing predicted and real-time usage can be done by determining the difference or the ratio; this application does not limit this approach. If real-time usage is greater than predicted usage, the predicted usage is increased, and the increased predicted usage is used as a resource quota. If real-time usage is less than predicted usage, the predicted usage is decreased, and the decreased predicted usage is used as a resource quota.

[0135] According to the technical solution provided in the embodiments of this application, by managing user resource quotas and coordinating the scheduling of resources for self-operated services, a mixed-use approach of multiple users sharing resources and internally controllable resources is achieved. This avoids resource waste by scheduling internal services when user-shared resources are available, and reduces the resource usage of internal services using the node when user-shared resources are saturated. This smooths out peak and valley usage, optimizes the resource usage curve, and significantly improves resource reuse rate while ensuring stability, thus achieving technical and cost competitiveness.

[0136] Step S901 can be implemented in a similar manner to step S201; step S902 can be implemented in a similar manner to step S202; step S903 can be implemented in a similar manner to step S203. The embodiments of this application will not be described in detail here. For example, a pre-set elastic scaling strategy can be implemented, including incremental threshold conditions, shrinkage threshold conditions, incremental logic, shrinkage logic, shrinkage configuration, etc., as well as pre-set elastic scaling parameters, including incremental threshold (or incremental threshold ratio), step size, shrinkage threshold (or shrinkage threshold ratio), cooldown time (time interval threshold), lockout time range, lockout ratio, etc.; then, elastic scaling is performed according to the elastic scaling strategy.

[0137] Example 5

[0138] Figure 10 A flowchart illustrating a method for determining resource quotas according to an embodiment of this application is provided. This method for determining resource quotas can be applied to a resource quota determination apparatus. Figure 10 As shown, the method for determining this resource quota includes:

[0139] Step S1001: Obtain the preset lock time range and lock ratio for the target node;

[0140] Step S1002: In response to the current time falling within the lock-up period, determine the resource quota for shared resources on the target node based on the rental and sales resources and lock-up ratio of the target node; or, in response to the current time not falling within the lock-up period, compare the predicted usage of shared resources with the real-time usage of shared resources, and elastically scale the predicted usage based on the comparison result, and determine the resource quota for shared resources based on the elastic scaling result; wherein, the predicted usage is predicted based on the historical usage of shared resources, and elastic scaling includes increasing or decreasing the predicted usage.

[0141] The lock-in time range refers to the period during which the lock-in is effective, such as 20:00 to 2:00. The lock-in ratio is the proportion of rented or sold resources guaranteed for shared use by users. If the current time falls within the lock-in time range, the resource quota is determined as the rented or sold resources multiplied by the lock-in ratio, thus achieving a priority guarantee of available resources for users during the specified time period. If the current time does not fall within the lock-in time range, the resource quota can be determined by referring to steps S901 to S903.

[0142] For example, users can apply for or declare the use of resources on a certain edge node in advance according to their actual needs, regardless of the actual amount used by the user on that edge node. Therefore, renting or selling resources is the amount of resources that users apply for to share resources.

[0143] Example 6

[0144] Corresponding to the method provided in Embodiment 1 of this application, this application provides a bandwidth quota determination device, which may include: a prediction module, used to predict a predicted value of the shared bandwidth of users based on the historical value of the shared bandwidth of users on the target node; a comparison module, used to compare the predicted value with the real-time value of the shared bandwidth of users; and an elastic scaling module, used to elastically scale the predicted value according to the comparison result, and determine the bandwidth quota of the shared bandwidth of users according to the result of the elastic scaling; wherein, the elastic scaling includes increasing or decreasing the predicted value.

[0145] In one implementation, the elastic scaling module is specifically used to: increase the predicted value in response to the comparison result meeting a preset incremental threshold condition; wherein, the incremental threshold condition includes the real-time value being greater than the predicted value and the difference between the real-time value and the predicted value being greater than the incremental threshold, or the incremental threshold condition includes the real-time value being greater than the predicted value and the ratio between the real-time value and the predicted value being greater than the incremental threshold ratio.

[0146] In one implementation, the elastic scaling module is further specifically used to: increase the predicted value step by step according to a preset step size until the increased predicted value is greater than the real-time value; wherein, the step size is the single increment of the predicted value, or the step size is the single increase ratio of the predicted value.

[0147] In one implementation, the elastic scaling module is further configured to: in response to a historical value being less than a preset single increment threshold, increase the predicted value by a single increment threshold; wherein the single increment threshold is the rental / sale bandwidth of the target node multiplied by the single increment ratio of the predicted value.

[0148] In one embodiment, the elastic scaling module is specifically used to: reduce the predicted value in response to the comparison result meeting a preset shrinkage threshold condition; wherein, the shrinkage threshold condition includes the real-time value being less than the predicted value and the difference between the real-time value and the predicted value being less than the shrinkage threshold, or, the shrinkage threshold condition includes the real-time value being less than the predicted value and the ratio between the real-time value and the predicted value being less than the shrinkage threshold ratio.

[0149] In one implementation, the bandwidth quota reduction threshold condition also includes the time interval between the current time and the last time the bandwidth quota was updated being greater than a preset time interval threshold.

[0150] In one implementation, the elastic scaling module is further specifically used to: take the minimum value between the rental bandwidth of the target node and the node construction bandwidth of the associated node of the target node as the upper limit of the user's shared bandwidth; wherein the associated node is located on the node link of the target node; if the result of elastic scaling is greater than the upper limit value, the upper limit value is determined as the bandwidth quota; or, if the result of elastic scaling is less than or equal to the upper limit value, the result of elastic scaling is determined as the bandwidth quota.

[0151] In one implementation, the prediction module is specifically used to: in response to a historical value being less than a preset bandwidth lower limit, use the rental / sale bandwidth of the target node as the predicted value.

[0152] In one embodiment, the device further includes a lock quantity determination module, used to determine the current time and a preset lock quantity time range before comparing the predicted value and the real-time value of the user-shared bandwidth; if the current time is within the lock quantity time range, determine the bandwidth quota based on the target node's leased / sold bandwidth and the preset lock quantity ratio; or, if the current time is not within the lock quantity time range, perform a comparison of the predicted value and the real-time value of the user-shared bandwidth.

[0153] The functions of each module in each device in the embodiments of this application can be found in the corresponding description in the above method, and they have corresponding beneficial effects, which will not be repeated here.

[0154] Example 7

[0155] Corresponding to the method provided in Embodiment 2 of this application, this application provides a bandwidth quota determination device, which may include: a lock configuration acquisition module, used to acquire a preset lock time range and lock ratio for a target node; and a bandwidth quota determination module, used to determine the bandwidth quota for shared bandwidth of users on the target node based on the leased / sold bandwidth and lock ratio of the target node in response to the current time falling within the lock time range.

[0156] In one embodiment, the device further includes: a comparison module, configured to compare the predicted value of the shared bandwidth with the real-time value of the shared bandwidth in response to the current time not falling within the lockout time range; and an elastic scaling module, configured to elastically scale the predicted value based on the comparison result, and determine the bandwidth quota for the shared bandwidth based on the elastic scaling result; wherein the predicted value is obtained by predicting based on the historical value of the shared bandwidth, and the elastic scaling includes increasing or decreasing the predicted value.

[0157] The functions of each module in each device in the embodiments of this application can be found in the corresponding description in the above method, and they have corresponding beneficial effects, which will not be repeated here.

[0158] Example 8

[0159] Corresponding to the method provided in Embodiment 3 of this application, this application provides a node bandwidth allocation device, which may include: a node construction bandwidth determination module, used to determine the node construction bandwidth of a target node; wherein the node construction bandwidth is divided into user-shared bandwidth and internally controllable bandwidth; a bandwidth quota acquisition module, used to acquire the bandwidth quota of the user-shared bandwidth; wherein the bandwidth quota is determined according to the device of Embodiment 4 or Embodiment 5; and a bandwidth allocation module, used to allocate the bandwidth of the internally controllable bandwidth based on the bandwidth quota and the bandwidth amount of the node construction bandwidth.

[0160] The functions of each module in each device in the embodiments of this application can be found in the corresponding description in the above method, and they have corresponding beneficial effects, which will not be repeated here.

[0161] Example 9

[0162] Corresponding to the method provided in Embodiment 4 of this application, this application provides a resource quota determination device, which may include: a predicted usage determination module, used to predict the predicted usage of the shared resources of users based on the historical usage of the shared resources of users on the target node; a usage comparison module, used to compare the predicted usage with the real-time usage of the shared resources of users; and a resource quota determination module, used to elastically scale the predicted usage based on the comparison result, and determine the resource quota for the shared resources of users based on the result of the elastic scaling; wherein, the elastic scaling includes increasing or decreasing the predicted usage.

[0163] The functions of each module in each device in the embodiments of this application can be found in the corresponding description in the above method, and they have corresponding beneficial effects, which will not be repeated here.

[0164] Example 10

[0165] Corresponding to the method provided in Embodiment 5 of this application, this application provides a resource quota determination device, which may include: an acquisition module, used to acquire a preset lock time range and lock ratio for a target node; a resource quota determination module, used to determine the resource quota for user-shared resources on the target node based on the rental and sales resources of the target node and the lock ratio, in response to the current time falling within the lock time range; or, in response to the current time not falling within the lock time range, comparing the predicted usage of the user-shared resources with the real-time usage of the user-shared resources, and elastically scaling the predicted usage based on the comparison result, and determining the resource quota for the user-shared resources based on the result of the elastic scaling; wherein the predicted usage is predicted based on the historical usage of the user-shared resources, and the elastic scaling includes increasing or decreasing the predicted usage.

[0166] The functions of each module in each device in the embodiments of this application can be found in the corresponding description in the above method, and they have corresponding beneficial effects, which will not be repeated here.

[0167] Example 11

[0168] Figure 11 This is a block diagram of an electronic device used to implement embodiments of this application. For example... Figure 11 As shown, the electronic device includes a memory 1101 and a processor 1102. The memory 1101 stores a computer program that can run on the processor 1102. When the processor 1102 executes the computer program, it implements the method described in the above embodiments. The number of memories 1101 and processors 1102 can be one or more.

[0169] The electronic device also includes a communication interface 1103 for communicating with external devices and transmitting data.

[0170] If the memory 1101, processor 1102, and communication interface 1103 are implemented independently, they can be interconnected via a bus to communicate with each other. This bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. This bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 11The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.

[0171] Optionally, in a specific implementation, if the memory 1101, processor 1102, and communication interface 1103 are integrated on a single chip, then the memory 1101, processor 1102, and communication interface 1103 can communicate with each other through an internal interface.

[0172] This application provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the method provided in any embodiment of this application.

[0173] This application also provides a chip, which includes a processor for calling and executing instructions stored in a memory, causing a communication device on which the chip is installed to perform the method provided in any embodiment of this application.

[0174] This application also provides a chip, including: an input interface, an output interface, a processor, and a memory. The input interface, output interface, processor, and memory are connected through an internal connection path. The processor is used to execute code in the memory. When the code is executed, the processor is used to execute the method provided in any embodiment of the application.

[0175] It should be understood that the aforementioned processor can be a Central Processing Unit (CPU), or other general-purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field-Programmable Gate Arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. General-purpose processors can be microprocessors or any conventional processor. It is worth noting that the processor can be a processor supporting Advanced Reduced Instruction Set Machines (ARM) architecture.

[0176] Optionally, the aforementioned memory may include read-only memory and random access memory, and may also include non-volatile random access memory. The memory may be volatile or non-volatile, or may include both. Non-volatile memory may include read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory may include random access memory (RAM), which serves as an external cache. Many forms of RAM are available by way of example, but not limitation. Examples include: Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced Synchronous DRAM (ESDRAM), Sync Link DRAM (SLDRAM), and Direct Rambus RAM (DRRAM).

[0177] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. A computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the flow or function according to this application is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another.

[0178] It should be noted that the user information (including but not limited to user device information, user personal information, user operation information, etc.) and data (including but not limited to data used for processing, data analyzed, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of such information and data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation entry points are provided for users to choose to authorize or refuse.

[0179] In the description of this specification, references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this application. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of those different embodiments or examples.

[0180] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this application, "a plurality of" means two or more, unless otherwise explicitly specified.

[0181] Any process or method description in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing a particular logical function or process. Furthermore, the scope of the preferred embodiments of this application includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functionality involved.

[0182] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, which can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus or device (such as a computer-based system, a processor-included system or other system that can fetch and execute instructions from, an instruction execution system, apparatus or device).

[0183] It should be understood that various parts of this application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. All or part of the steps of the methods in the above embodiments can be implemented by a program instructing related hardware, the program being stored in a computer-readable storage medium, which, when executed, includes one or a combination of the steps of the method embodiments.

[0184] Furthermore, the functional units in the various embodiments of this application can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. This storage medium can be a read-only memory, a disk, or an optical disk, etc.

[0185] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any person skilled in the art can easily conceive of various variations or substitutions within the technical scope disclosed in this application, and these should all be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A method for determining bandwidth quotas, comprising: Determine the node construction bandwidth of the target node; wherein, the node construction bandwidth includes user-shared bandwidth and internally controllable bandwidth; the user-shared bandwidth is used for external user services, providing external traffic for multiple users; the internally controllable bandwidth is used for internal self-operated services, providing internally controllable traffic; Based on the historical value of the shared bandwidth of users on the target node, predict the predicted value of the shared bandwidth of users; Compare the predicted value with the real-time value of the user-shared bandwidth; The predicted value is elastically scaled based on the comparison results, and the bandwidth quota for the shared bandwidth of the users is determined based on the results of the elastic scaling; wherein, the elastic scaling includes increasing or decreasing the predicted value; The bandwidth amount beyond the bandwidth quota of the user-shared bandwidth in the leased bandwidth is allocated to the internal controllable bandwidth, where the leased bandwidth is the amount of bandwidth requested by the user for the user-shared bandwidth.

2. The method according to claim 1, wherein, Based on the comparison results, the predicted values ​​are elastically scaled, including: In response to the comparison result meeting a preset incremental threshold condition, the predicted value is increased; wherein, the incremental threshold condition includes the real-time value being greater than the predicted value and the difference between the real-time value and the predicted value being greater than the incremental threshold, or, the incremental threshold condition includes the real-time value being greater than the predicted value and the ratio of the real-time value to the predicted value being greater than the incremental threshold ratio.

3. The method according to claim 2, wherein, Increasing the predicted value includes: The predicted value is increased sequentially according to a preset step size until the increased predicted value is greater than the real-time value; wherein, the step size is a single increment of the predicted value, or the step size is a single increase ratio of the predicted value.

4. The method according to claim 2, wherein, Increasing the predicted value includes: In response to the historical value being less than a preset single increment threshold, the predicted value is increased by the single increment threshold in a single increment; wherein, the single increment threshold is the rental / sale bandwidth of the target node multiplied by the single increment ratio of the predicted value.

5. The method according to claim 1, wherein, Based on the comparison results, the predicted values ​​are elastically scaled, including: In response to the comparison result meeting a preset reduction threshold condition, the predicted value is reduced; wherein, the reduction threshold condition includes the real-time value being less than the predicted value and the difference between the real-time value and the predicted value being less than the reduction threshold, or, the reduction threshold condition includes the real-time value being less than the predicted value and the ratio between the real-time value and the predicted value being less than the reduction threshold ratio.

6. The method according to claim 5, wherein, The bandwidth reduction threshold condition also includes the condition that the time interval between the current time and the last update of the bandwidth quota is greater than a preset time interval threshold.

7. The method according to claim 1, wherein, Determining the bandwidth quota for the shared bandwidth of the users based on the results of the elastic scaling includes: The minimum value between the rental bandwidth of the target node and the node construction bandwidth of the associated node of the target node is taken as the upper limit of the user shared bandwidth; wherein, the associated node is located on the node link of the target node; If the result of the elastic scaling is greater than the upper limit value, the upper limit value is determined as the bandwidth quota; or, if the result of the elastic scaling is less than or equal to the upper limit value, the result of the elastic scaling is determined as the bandwidth quota.

8. The method according to claim 1, wherein, Based on the historical value of the shared bandwidth of users on the target node, a predicted value of the shared bandwidth of users is predicted, including: In response to the historical value being less than a preset bandwidth lower limit, the rental / sale bandwidth of the target node is used as the predicted value.

9. The method according to any one of claims 1 to 8, wherein, Before comparing the predicted value with the real-time value of the user-shared bandwidth, the method further includes: Determine the current time and the preset lock time range; If the current time falls within the locked time range, the bandwidth quota is determined based on the target node's leased / sold bandwidth and the preset locked ratio; or, if the current time does not fall within the locked time range, the predicted value and the real-time value of the user's shared bandwidth are compared.

10. A method for determining bandwidth quotas, comprising: Determine the node construction bandwidth of the target node; wherein, the node construction bandwidth includes user-shared bandwidth and internally controllable bandwidth; the user-shared bandwidth is used for external user services, providing external traffic for multiple users; the internally controllable bandwidth is used for internal self-operated services, providing internally controllable traffic; Obtain the preset locking time range and locking ratio for the target node; In response to the current time falling within the locked time range, the bandwidth quota for the shared bandwidth of users on the target node is determined based on the rental and sale bandwidth of the target node and the locked ratio, wherein the rental and sale bandwidth is the amount of bandwidth requested by the user for the shared bandwidth of the user. Allocate the bandwidth beyond the bandwidth quota for shared bandwidth among users in the leased / sold bandwidth to the internally controllable bandwidth.

11. The method of claim 10, further comprising: In response to the current time not falling within the lockout time range, the predicted value of the user shared bandwidth is compared with the real-time value of the user shared bandwidth, and the predicted value is elastically scaled based on the comparison result, and the bandwidth quota for the user shared bandwidth is determined based on the result of the elastic scaling. The predicted value is obtained based on the historical value of the shared bandwidth of the users, and the elastic scaling includes increasing or decreasing the predicted value.

12. A method for determining resource quotas, comprising: Based on the historical usage of shared resources by users on the target node, predict the predicted usage of the shared resources by users; The resources on the target node include shared user resources and internally controllable resources; The shared user resources are used for external user services, while the internally controllable resources are used for internal self-operated services. Compare the predicted usage with the real-time usage of the shared resources used by the users; The predicted usage is flexibly scaled based on the comparison results, and the resource quota for the shared resources of the users is determined based on the results of the flexible scaling; wherein, the flexible scaling includes increasing or decreasing the predicted usage; The amount of resources beyond the resource quota of user-shared resources in the rental and sale resources is allocated to the internally controllable resources, where the rental and sale resources are the amount of user-shared resources requested by the user.

13. A method for determining resource quotas, comprising: Obtain the preset lock time range and lock ratio for the target node; The resources on the target node include shared user resources and internally controllable resources; The shared user resources are used for external user services, while the internally controllable resources are used for internal self-operated services. In response to the current time falling within the lock time range, the resource quota for shared resources of users on the target node is determined based on the rental and sales resources of the target node and the lock ratio. Alternatively, in response to the current time not falling within the lockout time range, the predicted usage of the shared user resources is compared with the real-time usage of the shared user resources, and the predicted usage is elastically scaled based on the comparison result, and a resource quota for the shared user resources is determined based on the result of the elastic scaling; wherein the predicted usage is predicted based on the historical usage of the shared user resources, the elastic scaling includes increasing or decreasing the predicted usage, and the rented / sold resources are the amount of shared user resources requested by the user; The amount of resources beyond the resource quota of user-shared resources in the rental and sale resources is allocated to the internally controllable resources, where the rental and sale resources are the amount of user-shared resources requested by the user.

14. An electronic device comprising a memory, a processor, and a computer program stored in the memory, wherein the processor, when executing the computer program, implements the method of any one of claims 1 to 13.

15. A computer-readable storage medium storing a computer program therein, wherein the computer program, when executed by a processor, implements the method of any one of claims 1 to 13.

Citation Information

Patent Citations

  • Scheduling method and system for node server bandwidth resources in CDN network

    CN110493046A

  • Traffic estimation method and device

    CN113781090A