Bandwidth adjustment method and device based on content delivery network, equipment and medium
By determining the heap height sequence based on the remaining heap height time of the service unit in the content distribution network and adjusting the service bandwidth, the problem of unreasonable service bandwidth scheduling in the prior art is solved, and the effect of reducing settlement costs is achieved.
Patent Information
- Application Number
- CN202510269944.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-07
- Publication Date
- 2025-06-06
AI Technical Summary
In the prior art, the service bandwidth scheduling is not reasonable enough to effectively reduce the settlement cost between content providers and content distribution network providers.
By obtaining the current total service bandwidth within the target scheduling cycle, if the sum of the expected settlement bandwidths of multiple service units exceeds the sum of the expected settlement bandwidths of each service unit, the heap height sequence is determined based on the remaining heap height duration of each service unit, and the service bandwidth of the service unit is adjusted to above the expected settlement bandwidth in the heap height order.
Ensure that business units alternately stack high in different scheduling cycles, make full use of free time, and effectively reduce settlement costs.
Smart Images

Figure CN120110918A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of communication technology, and in particular to a bandwidth adjustment method, apparatus, device and medium based on a content distribution network. Background Art
[0002] Content Delivery Network (CDN) is mainly used to provide content distribution services. Content providers send network resources (such as pictures, videos, etc.) to users through the content delivery network, and settle accounts with the content delivery network provider based on the network bandwidth used in this process.
[0003] One of the settlement methods between content providers and suppliers is the 95 settlement method (also known as 95 billing). Combined with the settlement characteristics of the 95 settlement method, content providers can greatly reduce the settlement costs with suppliers through reasonable service bandwidth scheduling. At present, the service bandwidth scheduling in some technologies is not reasonable enough and cannot effectively reduce the settlement costs. Summary of the invention
[0004] In view of this, the present disclosure provides a bandwidth adjustment method based on a content distribution network, a bandwidth adjustment device based on a content distribution network, an electronic device, a computer-readable storage medium and a computer program product, which can reduce settlement costs.
[0005] In a first aspect, the present disclosure provides a bandwidth adjustment method based on a content distribution network, wherein the content distribution network includes a plurality of service units for carrying service bandwidth, each of the service units having a respective corresponding expected settlement bandwidth; the method includes:
[0006] Obtain the total bandwidth of the current service within the target scheduling period;
[0007] If the total bandwidth of the current service exceeds the sum of the expected settlement bandwidths of the multiple service units, then the stacking order of the multiple service units in the target scheduling cycle is determined according to the remaining stacking time of each service unit in the target scheduling cycle, and the stacking order represents the order in which the service bandwidths carried by the multiple service units are adjusted;
[0008] According to the stacking order, the service bandwidth carried by at least one of the service units in the target scheduling period is adjusted to above the corresponding expected settlement bandwidth.
[0009] In a second aspect, the present disclosure provides a bandwidth adjustment device based on a content distribution network, wherein the content distribution network includes a plurality of service units for carrying service bandwidth, each of the service units having a respective corresponding expected settlement bandwidth; the device includes:
[0010] The service total bandwidth acquisition module is used to obtain the current service total bandwidth within the target scheduling period;
[0011] A stacking order determination module is used to determine the stacking order of the multiple business units within the target scheduling period according to the remaining stacking time of each business unit within the target scheduling period if the current total business bandwidth exceeds the sum of the expected settlement bandwidths of the multiple business units, wherein the stacking order represents the order in which the business bandwidths carried by the multiple business units are adjusted;
[0012] The bandwidth adjustment module is used to adjust the service bandwidth carried by at least one of the service units within the target scheduling period to above the corresponding expected settlement bandwidth according to the stacking order.
[0013] In a third aspect, the present disclosure provides an electronic device, comprising: a memory and a processor, wherein the memory and the processor are communicatively connected to each other, computer instructions are stored in the memory, and the processor executes the above method by executing the computer instructions.
[0014] In a fourth aspect, the present disclosure provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the above method.
[0015] In a fifth aspect, the present disclosure provides a computer program product, including computer instructions, and the computer instructions are used to enable a computer to execute the above method.
[0016] In the technical solutions of some embodiments of the present disclosure, since the stacking order is determined according to the remaining stacking time of each business unit, it can be ensured that each business unit is stacked alternately in different scheduling cycles, so that the free time of the business unit can be fully utilized, thereby effectively reducing the settlement cost. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] In order to more clearly illustrate the specific embodiments of the present disclosure or the technical solutions in the related technologies, the drawings required for use in the specific embodiments or the related technical descriptions will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present disclosure. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0018] Figure 1 is a schematic diagram of the architecture of a content distribution network provided by some embodiments of the present disclosure;
[0019] Figure 2 It is a schematic diagram of service bandwidth scheduling in some technologies;
[0020] Figure 3 is a schematic diagram of service bandwidth scheduling in other technologies;
[0021] Figure 4 is a schematic diagram of service bandwidth scheduling in other technologies;
[0022] Figure 5 is a flowchart of a bandwidth adjustment method provided by some embodiments of the present disclosure;
[0023] Figure 6 An embodiment of the present disclosure provides a schematic diagram of service bandwidth scheduling between service units;
[0024] Figure 7 is a module schematic diagram of a bandwidth adjustment device provided by an embodiment of the present disclosure;
[0025] Figure 8 It is a schematic diagram of the structure of an electronic device provided by some embodiments of the present disclosure. DETAILED DESCRIPTION
[0026] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure clearer, the technical solution in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are part of the embodiments of the present disclosure, rather than all the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present disclosure.
[0027] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments set forth herein. On the contrary, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.
[0028] In the description of the embodiments of the present disclosure, the term "including" and similar terms should be understood as open inclusion, that is, "including but not limited to". The term "based on" should be understood as "based at least in part on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The term "some embodiments" should be understood as "at least some embodiments". Other explicit and implicit definitions may also be included below.
[0029] Herein, unless explicitly stated, executing a step “in response to A” does not mean executing the step immediately after “A” but may include one or more intermediate steps.
[0030] It is understandable that the data involved in this technical solution (including but not limited to the data itself, the acquisition, use, storage or deletion of the data) shall comply with the requirements of relevant laws, regulations and relevant provisions.
[0031] It is understandable that before using the technical solutions disclosed in the various embodiments of the present disclosure, the types, scopes of use, usage scenarios, etc. of the information involved in the present disclosure should be informed to relevant users and their authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations. The relevant users may include any type of right holders, such as individuals, enterprises, and groups.
[0032] For example, in response to receiving an active request from a user, a prompt message is sent to the relevant user to clearly prompt the relevant user that the operation requested to be performed will require obtaining and using the information of the relevant user, so that the relevant user can independently choose whether to provide information to software or hardware such as an electronic device, application, server or storage medium that executes the operation of the technical solution of the present disclosure based on the prompt message.
[0033] As an optional but non-limiting implementation, in response to receiving an active request from a relevant user, a prompt message is sent to the relevant user, for example, in the form of a pop-up window, in which the prompt message may be presented in text form. In addition, the pop-up window may also carry a selection control for the user to select "agree" or "disagree" to provide information to the electronic device.
[0034] It is understandable that the above notification and the process of obtaining user authorization are merely illustrative and do not constitute a limitation on the implementation of the present disclosure. Other methods that meet relevant laws and regulations may also be applied to the implementation of the present disclosure.
[0035] Combined with reference Figure 1 , is a schematic diagram of the architecture of a content distribution network provided in some embodiments of the present disclosure. Figure 1In the example, there are three content distribution network suppliers a, b, and c. Suppliers a, b, and c can deploy business units for carrying business bandwidth in multiple regions. Business units can be servers, etc. For business units deployed by any supplier in any region, different business units can support networks of multiple different network operators. For example, among the business units Aa1, Aa2, and Aa3 deployed by supplier a in region A, business units Aa1 and Aa2 can support the network of network operator 1, and business unit Aa3 can support the network of network operator 3. Content providers can pre-cache content resources (such as pictures, videos, etc.) on these business units. When a user accesses content resources through a terminal device, the network resources on the business unit closer to the user can be returned to the user based on the user's location and the network of the network operator supported by the terminal device. In this way, the acquisition speed of content resources can be accelerated and the user experience can be improved. For example, suppose that in region A, the terminal device of user 1 supports the network of network operator 1. When user 1 obtains content resources through a terminal device, the terminal device of user 1 can establish a connection with one of the service units Aa1, Aa2, and Ab1, so that one of the service units Aa1, Aa2, and Ab1 returns the content resources to the terminal device of user 1.
[0036] When a content provider uses a content distribution network, each service unit can carry the corresponding service bandwidth. For example, when a content provider sends content resources to a user through service unit Aa1, service unit Aa1 carries the service bandwidth; for another example, when a content provider sends content resources to a user through service unit Aa2, service unit Aa2 carries the service bandwidth. The content provider settles fees with the supplier of the content distribution network based on the network bandwidth carried by each service unit. The settlement method may include 95 settlement methods.
[0037] The so-called 95 settlement means that within a settlement cycle (for example, within a month), the service bandwidth carried by the service unit is counted every 5 minutes to obtain the service bandwidth at multiple time points. After sorting the service bandwidth at multiple time points in the order of service bandwidth from large to small, the first 5% of the M service bandwidths are ignored, and the M+1th service bandwidth is the settlement bandwidth. For example, assuming that the settlement cycle is 30 days, 8640 service bandwidths can be collected. After sorting these 8640 service bandwidths in order from large to small, the first 432 service bandwidths are removed, and the 433rd service bandwidth is the settlement bandwidth. Since the first 5% of the service bandwidth is not settled in the 95 settlement method, the content provider can obtain a free period of time at each service unit in a settlement cycle. During the free period of time, if the service bandwidth carried by the service node exceeds the settlement bandwidth, these excess service bandwidths can be settled without fees. The free period is the period corresponding to the first 5% of the service bandwidth. For example, when the first 5% of the service bandwidth is 432, the free period is 432*5 minutes, that is, 36 hours. Normally, based on the contractual agreement between the content distribution network supplier and the content provider, during the free time, the maximum business bandwidth carried by the business unit shall not exceed the preset proportion of the settlement bandwidth. For example, assuming that the settlement bandwidth is 1000bit / s and the preset proportion is 20%, then during the free time, the maximum business bandwidth carried by the business unit shall not exceed 1200bit / s. In this application, the maximum business bandwidth that a business unit can carry during the free time is also called the maximum capacity bandwidth of the business unit. Adjusting the business bandwidth carried by the business unit to above the settlement bandwidth is also called stacking the business bandwidth.
[0038] Based on the settlement characteristics of the 95 settlement method, content providers can make full use of the free time of each business unit by reasonably scheduling the business bandwidth carried between business units, so as to achieve the purpose of reducing settlement costs. For example, when the free time of business unit Aa1 has been used up, if the business bandwidth carried by business unit Aa1 exceeds the settlement bandwidth at this time, the request to be sent to business unit Aa1 can be forwarded to business unit Aa2, which is adjacent to business unit Aa1 and has free time. In this way, there is no need to settle fees for this part of the business bandwidth, thus achieving the purpose of reducing settlement costs. For example, in a settlement cycle, a business unit actually carries 80T of business bandwidth, but the actual settled business bandwidth may be only 70T, thereby saving 10T of settlement fees.
[0039] At present, in some technologies, the service bandwidth scheduling between service units is not reasonable enough and cannot effectively reduce the settlement cost. Figures 2 to 4 , is a schematic diagram of service bandwidth scheduling in some technologies. Figure 2 It is phase difference peak shifting scheduling. Figure 3 It is a complementary peak-shifting scheduling. Figure 4 To stagger the peak hours of the next day. Figure 2 The scheduling method shown in the figure will make the scheduling process very complicated when there are many business units and the maximum capacity bandwidth exists. The actual scheduling process may require multiple planning, and the business bandwidth utilization rate will not be ideal. Figure 3 In the scheduling method shown, the service bandwidth varies greatly and is unstable. Figure 1 Same problem as shown. Figure 4 Although the scheduling method shown solves the problem of unstable service bandwidth, it cannot adapt well to the service bandwidth usage on different days. Figures 2 to 4 The scheduling methods shown all have the problem of low service bandwidth utilization and cannot effectively reduce settlement costs.
[0040] In view of this, the present disclosure provides a bandwidth adjustment method based on a content distribution network, which can make full use of the service bandwidth and reduce the settlement cost. The bandwidth adjustment method can be applied to electronic devices. The electronic devices may include but are not limited to tablet computers, laptop computers, desktop computers, servers, etc. Specifically, before executing the method of the present disclosure, the expected settlement bandwidth corresponding to the configuration may be allocated to each service unit. The expected settlement bandwidth of different service units may be different. The so-called expected settlement bandwidth is the actual settlement bandwidth of each service unit desired by the content provider. The expected settlement bandwidth may be obtained after analyzing the settlement bandwidth of the service unit in the historical scheduling period. Based on the target settlement bandwidth obtained by the analysis, the expected settlement bandwidth of the service unit may be set to a value slightly smaller than the target settlement bandwidth. For example, after analyzing the settlement bandwidth of the historical scheduling period, it is determined that the target settlement bandwidth of service unit A is 500 bit / s, then the expected settlement bandwidth of service unit A may be 450 bit / s.
[0041] Based on the above description, combined with reference Figure 5 , which is a flow chart of a bandwidth adjustment method provided in some embodiments of the present disclosure. Figure 5 In the method for adjusting bandwidth, the method may include the following steps:
[0042] Step S501, obtaining the total bandwidth of current services within a target scheduling period.
[0043] Specifically, the target scheduling period may be a daily business peak period. For example, the business peak period every evening may be used as a target scheduling period, and the business peak period every morning may be used as another target scheduling period. The current business total bandwidth within the target scheduling period may be obtained through bandwidth detection software, etc.
[0044] Step S502, if the current total service bandwidth exceeds the sum of the expected settlement bandwidths of multiple service units, the stacking order of the multiple service units within the target scheduling cycle is determined based on the remaining stacking time of each service unit within the target scheduling cycle. The stacking order represents the order in which the service bandwidths carried by the multiple service units are adjusted.
[0045] Specifically, when the current total service bandwidth exceeds the sum of the expected settlement bandwidths of multiple service units, it means that the expected settlement bandwidth based on each service unit can no longer meet the actual service bandwidth demand. At this time, the service bandwidth carried by at least some service units needs to be adjusted to above their expected settlement bandwidth to meet the actual service bandwidth demand.
[0046] The remaining stacking duration characterizes the remaining free duration that the service bandwidth carried by the business unit is allowed to exceed the corresponding expected settlement bandwidth. In this embodiment, the service bandwidth carried by each business unit at each sampling time point can be recorded within the target scheduling period, such as recording the service bandwidth carried by each business unit every 5 seconds. Based on the recorded service bandwidth carried by each business unit at each sampling time point, the first duration when the service bandwidth carried by each business unit exceeds its expected settlement bandwidth can be calculated. When the current total service bandwidth exceeds the sum of the expected settlement bandwidths of multiple business units, the remaining stacking duration of each business unit within the target scheduling period can be obtained by subtracting the first duration from the free duration owned by the business unit. For example, assuming that the free duration is 36 hours, within the target scheduling period, the first duration corresponding to business unit A is 20 hours, and the first duration corresponding to business unit B is 25 hours, then the remaining stacking duration of business unit A is 16 hours, and the remaining stacking duration of business unit B is 11 hours.
[0047] For any two first and second business units in the business unit, if the remaining stacking time of the first business unit is greater than the remaining stacking time of the second business unit, the first business unit is arranged before the second business unit to adjust the service bandwidth carried by the first business unit before the second business unit. For example, assuming that the remaining stacking time of business unit A is 16 hours, the remaining stacking time of business unit B is 11 hours, and the remaining stacking time of business unit C is 20 hours, the stacking order is business unit C>business unit A>business unit B.
[0048] Step S503: adjusting the service bandwidth carried by at least one service unit in the target scheduling period to above the corresponding expected settlement bandwidth in the order of stacking height.
[0049] Specifically, the service bandwidth can be first allocated to each service unit from the current service total bandwidth according to the expected settlement bandwidth corresponding to each service unit. For example, assuming that the current service total bandwidth is 1500 bit / s, the expected settlement bandwidth of service unit A is 300 bit / s, the expected settlement bandwidth of service unit B is 400 bit / s, and the expected settlement bandwidth of service unit C is 200 bit / s, then 300 bit / s of service bandwidth is first allocated to service unit A, 400 bit / s of service bandwidth is allocated to service unit B, and 200 bit / s of service bandwidth is allocated to service unit C. After the service bandwidth is allocated, the remaining bandwidth that is not allocated in the current service total bandwidth can be determined. For example, after the service bandwidth is allocated, the above-mentioned current service total bandwidth still has 600 bit / s of remaining bandwidth. The remaining bandwidth can be allocated to at least one service unit in the order of stacking height to adjust the service bandwidth carried by at least one service unit to above the corresponding expected settlement bandwidth.
[0050] Specifically, the maximum stacking bandwidth of each business unit can be determined based on the maximum capacity bandwidth and expected settlement bandwidth corresponding to each business unit. The maximum stacking bandwidth indicates that the business bandwidth carried by the business unit is allowed to exceed the maximum bandwidth of the corresponding expected settlement bandwidth. Then, the remaining bandwidth can be allocated to at least one business unit according to the stacking order and the maximum stacking bandwidth of each business unit.
[0051] For example, assuming that the expected settlement bandwidth of business unit A is 300 bit / s and the maximum capacity bandwidth is 600 bit / s; the expected settlement bandwidth of business unit B is 400 bit / s and the maximum capacity bandwidth is 750 bit / s; the expected settlement bandwidth of business unit C is 200 bit / s and the maximum capacity bandwidth is 550 bit / s, then the maximum stacking bandwidth of business unit A is 300 bit / s, the maximum stacking bandwidth of business unit B is 350 bit / s, and the maximum stacking bandwidth of business unit C is 350 bit / s.
[0052] When allocating the remaining bandwidth to at least one business unit according to the stacking order and the maximum stacking bandwidth of each business unit, the first business unit whose business bandwidth needs to be adjusted can be determined according to the stacking order; if the maximum stacking bandwidth of the first business unit is greater than or equal to the remaining bandwidth, all the remaining bandwidth is allocated to the first business unit; if the maximum stacking bandwidth of the first business unit is not greater than the remaining bandwidth, after allocating part of the remaining bandwidth to the first business unit according to the maximum stacking bandwidth of the first business unit, the unallocated bandwidth of the remaining bandwidth is allocated to other business units after the first business unit.
[0053] For example, in the above example, since the stacking order is business unit C>business unit A>business unit B, business unit C is the first business unit. And since the maximum stacking bandwidth of business unit C is 350bit / s, 350bit / s of business bandwidth is allocated to business unit C first, and then 250bit / s of business bandwidth is allocated to business unit A. At this point, all allocation of the remaining bandwidth is completed.
[0054] To sum up, in the technical solutions of some embodiments of the present disclosure, since the stacking order is determined according to the remaining stacking time of each business unit, it can be ensured that each business unit is stacked alternately in different scheduling cycles, so that the free time of the business unit can be fully utilized, thereby effectively reducing the settlement cost.
[0055] It is understandable that the scheduling order between business units may be variable in different scheduling cycles. For example, in the first scheduling cycle, the free time of business unit C is used first, then the free time of business unit C will become shorter, and then in the next scheduling cycle, business unit C will be ranked at the back. That is, in the first scheduling cycle, the stacking order is business unit C>business unit A>business unit B, and in the second scheduling cycle, the stacking order may be business unit A>business unit C>business unit B. Through this alternating stacking, the effect of fully utilizing the free time can be achieved.
[0056] In some embodiments, in a scheduling cycle, the business unit that is first stacked up can always carry its maximum capacity bandwidth. As the required business bandwidth increases, the subsequent business units are stacked up in sequence. After the business bandwidth carried by multiple business units in the target scheduling cycle is adjusted to above the corresponding expected settlement bandwidth in accordance with the stacking order, the business bandwidth carried by multiple business units can be adjusted to below the corresponding expected settlement bandwidth in accordance with the order opposite to the stacking order when the current total business bandwidth decreases. Among them, when the current total business bandwidth decreases, it means gradually exiting the business peak period. In the process of exiting the business peak period, the current total business bandwidth usually decreases gradually. In this embodiment, the business bandwidth carried by each business unit of the stacking can be adjusted to below the corresponding expected settlement bandwidth in accordance with the order opposite to the stacking order. For example, assuming that the stacking order is business unit C> business unit A> business unit B, the business bandwidth carried by each business unit can be adjusted to below the corresponding expected settlement bandwidth in accordance with the order of business unit B> business unit A> business unit C. This mechanism for adjusting service bandwidth can be called a stacking mechanism, that is, within the target scheduling period, the service unit that first stacks up service bandwidth will exit the service bandwidth stacking later, and the service unit that stacks up service bandwidth later will exit the service bandwidth stacking first. In this way, the smoothness and efficiency of service bandwidth adjustment can be guaranteed.
[0057] For easier understanding, please refer to Figure 6 , which is a schematic diagram of service bandwidth scheduling between service units within a scheduling cycle provided by an embodiment of the present disclosure. Figure 6 In the example, assume that the stacking order is business unit B>business unit C>business unit A.
[0058] In the time period t1 to t2, after the service bandwidth carried by the service unit B is increased, the actual service bandwidth requirement can be met, and there is no need to increase the service bandwidth carried by the service unit C and the service unit A.
[0059] After entering the time period t2-t3, since the actual required business bandwidth increases, the business bandwidth carried by business unit C can be stacked up in the stacking order. At the same time, business unit B stacked up in the time period t1-t2 still carries its maximum capacity bandwidth. In this way, the problem of frequent changes in the business bandwidth carried by the business unit can be avoided. At the same time, this is also in line with the actual business situation, because during the business peak period, if business unit B is removed from the stack after business unit C is stacked up, it is likely that the business bandwidth will be insufficient again.
[0060] Furthermore, after the time period t2-t3, the business peak period has passed, and the business bandwidth carried by each business unit is adjusted to the corresponding expected settlement bandwidth in the reverse order of the stacking order. That is, at time point t4, the business bandwidth carried by business unit C is adjusted to the corresponding expected settlement bandwidth, and then at time point t5, the business bandwidth carried by business unit B is adjusted to the corresponding expected settlement bandwidth.
[0061] In some embodiments, if the remaining bandwidth is allocated according to the stacking order and the maximum stacking bandwidth of each business unit, and there is still unallocated business bandwidth in the remaining bandwidth, the expected settlement bandwidth of at least some business units can be increased, and the current total business bandwidth can be redistributed based on the increased expected settlement bandwidth. For example, assuming that the maximum stacking bandwidth of business unit A is 300bit / s, the maximum stacking bandwidth of business unit B is 350bit / s, and the maximum stacking bandwidth of business unit C is 350bit / s. In the case of a remaining bandwidth of 1500bit / s, even if the business bandwidth carried by business units A, B, and C is all stacked to the corresponding maximum capacity bandwidth, it still cannot meet the actual business bandwidth requirements. At this time, the expected settlement bandwidth of some business units can be increased. Specifically, as mentioned above, the expected settlement bandwidth of each business unit disclosed in the present invention is lower than the normal settlement bandwidth. During the scheduling process, the expected settlement bandwidth can be increased. In this way, it is possible to explore whether there is still a lower settlement bandwidth, thereby reducing the settlement cost. After the expected settlement bandwidth is increased, the above steps can be repeated to determine the new total business bandwidth.
[0062] In some embodiments, for any business unit, the amount of free bandwidth that can be obtained after increasing the expected settlement bandwidth of the business unit can be determined; and the business unit that obtains the largest amount of free bandwidth can be found, and the expected settlement bandwidth of the corresponding business unit can be increased. Specifically, the amount of free bandwidth is the maximum stacked bandwidth after increasing the expected settlement bandwidth multiplied by the remaining free time. In simple terms, it is to pre-estimate the amount of free bandwidth that each business unit can obtain, and then increase the business unit with the largest amount of free bandwidth, so as to ensure that more business bandwidth that can be used for free is obtained, thereby further reducing settlement costs.
[0063] In some embodiments, if the current total service bandwidth does not exceed the sum of the expected settlement bandwidths of multiple service units, the current total service bandwidth can be directly allocated to each service unit according to the proportion of the expected settlement bandwidth corresponding to each service unit in the sum of the expected settlement bandwidths.
[0064] Combined with reference Figure 7 , which is a module diagram of a bandwidth adjustment device provided in one embodiment of the present disclosure. Figure 7In the embodiment, the bandwidth adjustment device comprises:
[0065] The service total bandwidth acquisition module 701 is used to acquire the current service total bandwidth within the target scheduling period;
[0066] The stacking order determination module 702 is used to determine the stacking order of the multiple business units within the target scheduling period according to the remaining stacking time of each business unit within the target scheduling period if the current total business bandwidth exceeds the sum of the expected settlement bandwidths of the multiple business units. The stacking order represents the order in which the business bandwidths carried by the multiple business units are adjusted;
[0067] The bandwidth adjustment module 703 is used to adjust the service bandwidth carried by at least one service unit in the target scheduling period to above the corresponding expected settlement bandwidth in the order of stacking height.
[0068] In some embodiments, the multiple business units include a first business unit and a second business unit; the stacking order determination module 702 is specifically used to:
[0069] If the remaining stacking time of the first service unit is greater than the remaining stacking time of the second service unit, the first service unit is arranged before the second service unit to adjust the service bandwidth carried by the first service unit before the second service unit.
[0070] In some embodiments, the stack height sequence determination module 702 is specifically used to:
[0071] According to the expected settlement bandwidth corresponding to each business unit, the business bandwidth is allocated to each business unit from the current total business bandwidth;
[0072] Determine the remaining unallocated bandwidth in the current service total bandwidth;
[0073] The remaining bandwidth is allocated to at least one service unit in the order of stacking height, so as to adjust the service bandwidth carried by the at least one service unit to above the corresponding expected settlement bandwidth.
[0074] In some embodiments, each business unit also has a corresponding maximum capacity bandwidth; the stacking order determination module 702 is specifically used to:
[0075] According to the maximum capacity bandwidth and expected settlement bandwidth corresponding to each business unit, the maximum stacking bandwidth of each business unit is determined. The maximum stacking bandwidth represents the maximum bandwidth that the business bandwidth carried by the business unit is allowed to exceed the corresponding expected settlement bandwidth.
[0076] According to the stacking order and the maximum stacking bandwidth of each business unit, the remaining bandwidth is allocated to at least one business unit.
[0077] In some embodiments, the stack height sequence determination module 702 is specifically used to:
[0078] Determine the first service unit that needs to adjust service bandwidth according to the stacking height order;
[0079] If the maximum stack bandwidth of the first business unit is greater than or equal to the remaining bandwidth, all the remaining bandwidth will be allocated to the first business unit;
[0080] If the maximum stacked bandwidth of the first business unit is not greater than the remaining bandwidth, then after part of the remaining bandwidth is allocated to the first business unit according to the maximum stacked bandwidth of the first business unit, the remaining bandwidth that has not been allocated is allocated to other business units after the first business unit.
[0081] In some embodiments, if there is still unallocated service bandwidth in the remaining bandwidth after the remaining bandwidth is allocated according to the stacking order and the maximum stacking bandwidth of each service unit, the stacking order determination module 602 is specifically used to:
[0082] The expected settlement bandwidth of at least some of the service units is increased, and the current total service bandwidth is reallocated based on the increased expected settlement bandwidth.
[0083] In some embodiments, the stack height sequence determination module 702 is specifically used to:
[0084] For any business unit, determine the amount of free bandwidth that can be obtained after increasing the expected settlement bandwidth of the business unit;
[0085] Find the business unit that obtains the largest amount of free bandwidth and increase the expected settlement bandwidth of the corresponding business unit.
[0086] In some embodiments, if the current total service bandwidth does not exceed the sum of the expected settlement bandwidths of multiple service units, the bandwidth adjustment module 703 is specifically configured to:
[0087] The current total service bandwidth is allocated to each business unit according to the proportion of the expected settlement bandwidth corresponding to each business unit in the sum of the expected settlement bandwidths.
[0088] In some embodiments, after adjusting the service bandwidths carried by the plurality of service units in the target scheduling period to above the corresponding expected settlement bandwidths in the stacking order, the bandwidth adjustment module 703 is further used to:
[0089] When the current total service bandwidth decreases, the service bandwidths carried by multiple service units are adjusted to below the corresponding expected settlement bandwidth in the reverse order of the stacking order.
[0090] The configuration device in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.
[0091] The bandwidth adjustment device based on a content distribution network disclosed in the present invention has the same beneficial effects as the bandwidth adjustment method based on a content distribution network described above, which will not be described in detail herein.
[0092] The present disclosure also provides an electronic device having the above Figure 5 The bandwidth adjustment device based on the content distribution network is shown.
[0093] Combined with reference Figure 8 , is a schematic diagram of the structure of an electronic device provided by some embodiments of the present disclosure. Figure 8 As shown, the electronic device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. The various components are connected to each other using different buses for communication, and can be installed on a common mainboard or installed in other ways as needed. The processor can process instructions executed in the electronic device, including instructions stored in or on the memory to display graphical information of the GUI on an external input / output device (such as a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple electronic devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 8 A processor 10 is taken as an example.
[0094] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic or any combination thereof.
[0095] The memory 20 stores instructions executable by at least one processor 10, so that the at least one processor 10 executes the method shown in the above embodiment.
[0096] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the electronic device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely arranged relative to the processor 10, and these remote memories may be connected to the electronic device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0097] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 20 may also include a combination of the above types of memory.
[0098] The electronic device further comprises a communication interface 30 for the electronic device to communicate with other devices or a communication network.
[0099] The embodiments of the present disclosure also provide a computer-readable storage medium. The above-mentioned method according to the embodiments of the present disclosure can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium and downloaded through a network, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state drive, etc.; further, the storage medium can also include a combination of the above-mentioned types of memory. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.
[0100] A part of the present disclosure may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present disclosure through the operation of the computer. Those skilled in the art should understand that the existence of computer program instructions in computer-readable media includes, but is not limited to, source files, executable files, installation package files, etc., and accordingly, the way in which computer program instructions are executed by a computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium can be any available computer-readable storage medium or communication medium accessible to the computer.
[0101] Although the embodiments of the present disclosure have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present disclosure, and such modifications and variations are all within the scope defined by the appended claims.
Claims
1. A bandwidth adjustment method based on a content distribution network, characterized in that: The content distribution network includes a plurality of service units for carrying service bandwidth, each of the service units having a corresponding expected settlement bandwidth; the method includes: Obtain the total bandwidth of the current service within the target scheduling period; If the total bandwidth of the current service exceeds the sum of the expected settlement bandwidths of the multiple service units, then the stacking order of the multiple service units in the target scheduling cycle is determined according to the remaining stacking time of each service unit in the target scheduling cycle, and the stacking order represents the order in which the service bandwidths carried by the multiple service units are adjusted; According to the stacking order, the service bandwidth carried by at least one of the service units in the target scheduling period is adjusted to above the corresponding expected settlement bandwidth.
2. The method according to claim 1, characterized in that The multiple business units include a first business unit and a second business unit; Determining the stacking order of the plurality of business units within the target scheduling cycle according to the remaining stacking time of each business unit within the target scheduling cycle includes: If the remaining stacking time of the first service unit is greater than the remaining stacking time of the second service unit, the first service unit is arranged before the second service unit to adjust the service bandwidth carried by the first service unit before the second service unit.
3. The method according to claim 1, characterized in that The step of adjusting the service bandwidth carried by one or more service units in the target scheduling period to a corresponding expected settlement bandwidth according to the stacking order includes: Allocating service bandwidth to each of the service units from the current service total bandwidth according to the expected settlement bandwidth corresponding to each of the service units; Determine the remaining unallocated bandwidth in the current service total bandwidth; According to the stacking order, the remaining bandwidth is allocated to at least one of the service units, so as to adjust the service bandwidth carried by at least one of the service units to above the corresponding expected settlement bandwidth.
4. The method according to claim 3, characterized in that Each of the service units also has a respective corresponding maximum capacity bandwidth; The allocating the remaining bandwidth to at least one of the service units according to the stacking order includes: Determine the maximum stacking bandwidth of each business unit according to the maximum capacity bandwidth and the expected settlement bandwidth corresponding to each business unit, wherein the maximum stacking bandwidth represents the maximum bandwidth that the business bandwidth carried by the business unit is allowed to exceed the corresponding expected settlement bandwidth; The remaining bandwidth is allocated to at least one of the service units according to the stacking order and the maximum stacking bandwidth of each of the service units.
5. The method according to claim 4, characterized in that The allocating the remaining bandwidth to at least one of the service units according to the stacking order and the maximum stacking bandwidth of each of the service units includes: Determine the first service unit that needs to adjust service bandwidth according to the stacking order; If the maximum stacked bandwidth of the first service unit is greater than or equal to the remaining bandwidth, all the remaining bandwidth is allocated to the first service unit; If the maximum stacked bandwidth of the first business unit is not greater than the remaining bandwidth, then after allocating part of the remaining bandwidth to the first business unit according to the maximum stacked bandwidth of the first business unit, the unallocated bandwidth of the remaining bandwidth is allocated to other business units after the first business unit.
6. The method according to claim 4, characterized in that If, after allocating the remaining bandwidth according to the stacking order and the maximum stacking bandwidth of each of the service units, there is still unallocated service bandwidth in the remaining bandwidth, the method further includes: The expected settlement bandwidth of at least part of the service units is increased, and the total bandwidth of the current service is reallocated based on the increased expected settlement bandwidth.
7. The method according to claim 6, characterized in that The step of increasing the expected settlement bandwidth of at least part of the service units comprises: For any of the service units, determining the amount of free bandwidth that can be obtained after increasing the expected settlement bandwidth of the service unit; Find the business unit that obtains the largest amount of free bandwidth and increase the expected settlement bandwidth of the corresponding business unit.
8. The method according to claim 1, characterized in that If the current total service bandwidth does not exceed the sum of the expected settlement bandwidths of the multiple service units, the method further includes: The current service total bandwidth is allocated to each of the service units according to the proportion of the expected settlement bandwidth corresponding to each of the service units in the sum of the expected settlement bandwidths.
9. The method according to claim 1, characterized in that: After adjusting the service bandwidths carried by the plurality of service units in the target scheduling period to above the corresponding expected settlement bandwidths according to the stacking order, the method further includes: In the case where the current total service bandwidth decreases, the service bandwidths carried by the multiple service units are adjusted to below the corresponding expected settlement bandwidth in sequence in the reverse order of the stacking order.
10. A bandwidth adjustment device based on a content distribution network, characterized in that: The content distribution network includes a plurality of service units for carrying service bandwidth, each of the service units having a corresponding expected settlement bandwidth; the device includes: The service total bandwidth acquisition module is used to obtain the current service total bandwidth within the target scheduling period; A stacking order determination module is used to determine the stacking order of the multiple business units within the target scheduling period according to the remaining stacking time of each business unit within the target scheduling period if the current total business bandwidth exceeds the sum of the expected settlement bandwidths of the multiple business units, wherein the stacking order represents the order in which the business bandwidths carried by the multiple business units are adjusted; The bandwidth adjustment module is used to adjust the service bandwidth carried by at least one of the service units within the target scheduling period to above the corresponding expected settlement bandwidth according to the stacking order.
11. An electronic device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the bandwidth adjustment method based on a content distribution network according to any one of claims 1 to 9 by executing the computer instructions.
12. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the bandwidth adjustment method based on a content distribution network according to any one of claims 1 to 9.
13. A computer program product, characterized in that The method comprises computer instructions, wherein the computer instructions are used to cause a computer to execute the bandwidth adjustment method based on a content distribution network according to any one of claims 1 to 9.