CN110213620B - Bandwidth allocation method and device - Google Patents

Bandwidth allocation method and device Download PDF

Info

Publication number
CN110213620B
CN110213620B CN201810166063.2A CN201810166063A CN110213620B CN 110213620 B CN110213620 B CN 110213620B CN 201810166063 A CN201810166063 A CN 201810166063A CN 110213620 B CN110213620 B CN 110213620B
Authority
CN
China
Prior art keywords
bandwidth
cdn
region
regions
weight
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810166063.2A
Other languages
Chinese (zh)
Other versions
CN110213620A (en
Inventor
张磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Alibaba China Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN201810166063.2A priority Critical patent/CN110213620B/en
Publication of CN110213620A publication Critical patent/CN110213620A/en
Application granted granted Critical
Publication of CN110213620B publication Critical patent/CN110213620B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • H04J3/1682Allocation of channels according to the instantaneous demands of the users, e.g. concentrated multiplexers, statistical multiplexers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2385Channel allocation; Bandwidth allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The disclosure relates to a bandwidth allocation method and apparatus. The method is applied to a CDN server of a content delivery network, and comprises the following steps: determining bandwidth allocation weights of the multiple regions in multiple time intervals according to historical data of CDN bandwidths of the multiple regions, wherein the historical data comprises bandwidth demand data of the multiple regions in the multiple time intervals; and determining the distributable CDN bandwidth of the plurality of regions according to the total bandwidth and the bandwidth distribution weight, wherein the bandwidth distribution weight is positively correlated with the distributable CDN bandwidth. According to the embodiment of the disclosure, bandwidth allocation weights of a plurality of regions in a plurality of time intervals can be determined according to historical data of CDN bandwidths of the plurality of regions, and allocable CDN bandwidths of the plurality of regions are determined according to the total bandwidth and the bandwidth allocation weights, so that the utilization rate of the CDN bandwidths is improved.

Description

Bandwidth allocation method and device
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a bandwidth allocation method and apparatus.
Background
A content Delivery network cdn (content Delivery network) is an existing internet-based layer of intelligent virtual networks that can provide video content to users by placing node servers throughout the network. However, in different situations (e.g., different time periods, different locations, etc.), the number of users watching videos is very different, which results in sometimes insufficient CDN server bandwidth, sometimes wasted a lot, and low CDN bandwidth usage.
Disclosure of Invention
In view of this, the present disclosure provides a bandwidth allocation method and apparatus, which can improve the bandwidth utilization efficiency of the CDN.
According to an aspect of the present disclosure, a bandwidth allocation method is provided, where the method is applied to a content delivery network CDN server, and includes:
determining bandwidth allocation weights of a plurality of regions in a plurality of time intervals according to historical data of CDN bandwidths of the plurality of regions, wherein the historical data comprises bandwidth demand data of the plurality of regions in the plurality of time intervals;
determining allocable CDN bandwidth of the plurality of regions according to the total bandwidth and the bandwidth allocation weight,
wherein the bandwidth allocation weight is positively correlated with the allocable CDN bandwidth.
In one possible implementation, the plurality of regions includes a first region, the plurality of time intervals includes a first time interval,
determining bandwidth allocation weights of a plurality of regions in a plurality of time intervals according to historical data of CDN bandwidths of the plurality of regions, wherein the method comprises the following steps:
determining a first allocation weight of the first region in the first time interval according to historical data of CDN bandwidth of a plurality of regions,
determining the distributable CDN bandwidth of the plurality of regions according to the total bandwidth and the bandwidth distribution weight, wherein the determining comprises the following steps:
and determining a first allocable CDN bandwidth of the first region in a first time interval according to the total bandwidth and the first allocation weight.
In a possible implementation manner, determining, according to the total bandwidth and the first allocation weight, a first allocable CDN bandwidth of a first region in a first time interval includes:
determining a region weight of the first region in a plurality of regions;
and determining a first allocable CDN bandwidth of a first region in a first time interval according to the total bandwidth, the first allocation weight and the region weight.
According to another aspect of the present disclosure, there is provided a bandwidth allocation apparatus applied to a content delivery network CDN server, including:
the weight determining module is used for determining bandwidth allocation weights of the multiple regions in multiple time intervals according to historical data of CDN bandwidths of the multiple regions, wherein the historical data comprises bandwidth demand data of the multiple regions in the multiple time intervals;
a bandwidth determining module, configured to determine assignable CDN bandwidths for the multiple regions according to the total bandwidth and the bandwidth allocation weight,
wherein the bandwidth allocation weight is positively correlated with the allocable CDN bandwidth.
In one possible implementation, the plurality of regions includes a first region, the plurality of time intervals includes a first time interval,
wherein the weight determination module comprises:
a first weight determination submodule, configured to determine a first distribution weight of the first region in the first time interval according to historical data of CDN bandwidths for multiple regions,
wherein the bandwidth determining module comprises:
and the first bandwidth determining submodule is used for determining a first allocable CDN bandwidth of the first region in a first time interval according to the total bandwidth and the first allocation weight.
In one possible implementation, the first bandwidth determination sub-module includes:
a region weight determination submodule for determining a region weight of the first region in a plurality of regions;
and the second bandwidth determining submodule is used for determining the first allocable CDN bandwidth of the first region in the first time interval according to the total bandwidth, the first allocation weight and the region weight.
According to another aspect of the present disclosure, there is provided a bandwidth distribution apparatus including: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to perform the above method.
According to another aspect of the present disclosure, there is provided a non-transitory computer readable storage medium having computer program instructions stored thereon, wherein the computer program instructions, when executed by a processor, implement the above-described bandwidth allocation method.
According to the embodiment of the disclosure, bandwidth allocation weights of a plurality of regions in a plurality of time intervals can be determined according to historical data of CDN bandwidths of the plurality of regions, and allocable CDN bandwidths of the plurality of regions are determined according to the total bandwidth and the bandwidth allocation weights, so that the utilization rate of the CDN bandwidths is improved.
Other features and aspects of the present disclosure will become apparent from the following detailed description of exemplary embodiments, which proceeds with reference to the accompanying drawings.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate exemplary embodiments, features, and aspects of the disclosure and, together with the description, serve to explain the principles of the disclosure.
Fig. 1 is a flow diagram illustrating a method of bandwidth allocation in accordance with an example embodiment.
Fig. 2 is a flow diagram illustrating a method of bandwidth allocation in accordance with an example embodiment.
Fig. 3 is a schematic diagram illustrating an application scenario of a bandwidth allocation method according to an exemplary embodiment.
Fig. 4 is a block diagram illustrating a bandwidth distribution apparatus according to an example embodiment.
Fig. 5 is a block diagram illustrating a bandwidth allocation apparatus according to an example embodiment.
Fig. 6 is a block diagram illustrating a bandwidth distribution apparatus according to an example embodiment.
Detailed Description
Various exemplary embodiments, features and aspects of the present disclosure will be described in detail below with reference to the accompanying drawings. In the drawings, like reference numbers can indicate functionally identical or similar elements. While the various aspects of the embodiments are presented in drawings, the drawings are not necessarily drawn to scale unless specifically indicated.
The word "exemplary" is used exclusively herein to mean "serving as an example, embodiment, or illustration. Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.
Furthermore, in the following detailed description, numerous specific details are set forth in order to provide a better understanding of the present disclosure. It will be understood by those skilled in the art that the present disclosure may be practiced without some of these specific details. In some instances, methods, means, elements and circuits that are well known to those skilled in the art have not been described in detail so as not to obscure the present disclosure.
Fig. 1 is a flow diagram illustrating a method of bandwidth allocation in accordance with an example embodiment. The method is applied to a CDN server of the content delivery network. As shown in fig. 1, a bandwidth allocation method according to an embodiment of the present disclosure includes:
in step S11, determining bandwidth allocation weights of the multiple regions in multiple time intervals according to historical data of CDN bandwidths of the multiple regions, where the historical data includes bandwidth demand data of the multiple regions in the multiple time intervals;
in step S12, determining assignable CDN bandwidths for the plurality of regions according to the total bandwidth and the bandwidth assignment weight,
wherein the bandwidth allocation weight is positively correlated with the allocable CDN bandwidth.
According to the embodiment of the disclosure, bandwidth allocation weights of a plurality of regions in a plurality of time intervals can be determined according to historical data of CDN bandwidths of the plurality of regions, allocable CDN bandwidths of the plurality of regions are determined according to total bandwidth and the bandwidth allocation weights, and the bandwidth allocation weights are positively correlated with the allocable CDN bandwidths. The bandwidth allocation weight is positively correlated with the distributable CDN bandwidth, namely the bandwidth allocation weight and the distributable CDN bandwidth change in the same direction, the distributable CDN bandwidth changes from large to small when the bandwidth allocation weight changes from large to small, and the distributable CDN bandwidth changes from small to large when the bandwidth allocation weight changes from small to large. Therefore, the distributable CDN bandwidth of a plurality of areas is determined according to the bandwidth distribution weight determined by the historical data, the CDN bandwidth distribution can better meet the requirements of different areas in different time intervals, less partial areas have insufficient CDN bandwidth, and partial areas have a large amount of waste CDN bandwidth, so that the CDN bandwidth utilization rate is improved.
For example, the CDN server may determine bandwidth allocation weights of the multiple regions in the multiple time intervals according to historical data of CDN bandwidths of the multiple regions, where the historical data includes bandwidth demand data of the multiple regions in the multiple time intervals. For example, the CDN server may obtain historical CDN bandwidth demand data of each region across the country in any time interval, where the bandwidth demand data refers to a CDN bandwidth required by each region in each time interval.
The region division may be performed in various ways. For example, the country may be divided into a plurality of regions according to information such as the number of residential population, the population density of residential population, and the like, and for example, the country may be divided into two regions, namely, a region (e.g., including mikyo guanzhou shenzhen in beijing) and b region (other regions in the country). The same region may be divided into a plurality of regions, and for example, beijing may be divided into a hai lake region, a sunny region, and the like. In addition, the region division may be performed according to the CDN bandwidth usage, for example, a certain region of beijing may be divided into a certain village of beijing and a certain view of beijing.
The CDN may determine bandwidth allocation weights of the multiple regions in multiple time intervals according to historical data of CDN bandwidths of the multiple regions. For example, the CDN server may analyze historical data of CDN bandwidths of a plurality of regions that the CDN server acquires, determine demand information of the CDN bandwidths of the plurality of regions, and determine a bandwidth allocation weight that can better satisfy demands of the CDN bandwidths of the plurality of regions in a plurality of time intervals according to the demand information of the CDN bandwidths of the plurality of regions. For example, according to historical data of CDN bandwidths of multiple regions, if it is analyzed that the CDN bandwidth demand of the region a is high in the morning of a working day (e.g., monday through friday), it may be determined that the bandwidth allocation weight of the region a in the morning of the working day is high, so that it is ensured that a large amount of CDN bandwidth is allocated to the region a in the morning of the working day.
In a possible implementation manner, after determining bandwidth allocation weights of a plurality of regions in a plurality of time intervals, the CDN server determines allocable CDN bandwidths of the plurality of regions according to the total bandwidth and the bandwidth allocation weights.
For example, the CDN server determines bandwidth allocation weights of the multiple regions in multiple time intervals according to historical data of CDN bandwidths of the multiple regions, and determines allocable CDN bandwidths of the multiple regions according to the total bandwidth and the bandwidth allocation weights. The total bandwidth refers to the total allocable CDN bandwidth of the multiple regions when determining bandwidth allocation weights of the multiple regions in multiple time intervals. For example, bandwidth allocation weights of the three regions in a plurality of time intervals are determined according to historical data of CDN bandwidths of the region a, the region B, and the region C, and the CDN server may determine the allocable CDN bandwidths of the three regions according to the total allocable CDN bandwidth and the bandwidth allocation weights of the three regions.
Those skilled in the art should understand that the CDN server may obtain bandwidth demand data of multiple regions in multiple time intervals in a manner known in the related art, where the dividing manner of the regions may include multiple forms, and the dividing manner of the time intervals may also include multiple manners, and the CDN server may determine bandwidth allocation weights of the multiple regions in the multiple time intervals according to historical data of CDN bandwidths of the multiple regions in multiple ways, which is not limited to the above example, as long as the CDN server may determine bandwidth allocation weights of the multiple regions in the multiple time intervals according to the historical data of CDN bandwidths of the multiple regions, and determine allocable CDN bandwidths of the multiple regions according to the total bandwidth and the bandwidth allocation weights, which is not limited in this disclosure.
Fig. 2 is a flow diagram illustrating a method of bandwidth allocation in accordance with an example embodiment. In one possible implementation manner, the plurality of regions includes a first region, and the plurality of time intervals includes a first time interval, as shown in fig. 2, step S11 may include:
in step S111, a first allocation weight of the first region in the first time interval is determined according to historical data of CDN bandwidths of a plurality of regions.
For example, as described above, the CDN server may obtain historical data of CDN bandwidth for a plurality of regions (including bandwidth demand data of the plurality of regions in a plurality of time intervals), where the plurality of regions includes the first region, and the plurality of time intervals includes the first time interval. The CDN server may determine, according to historical data of CDN bandwidths of a plurality of regions, a first allocation weight of the first region in a first time interval.
The description will be given by taking an example in which the plurality of regions include the first region, which is a village in Beijing and a village in Beijing. For example, the CDN server may obtain historical data of CDN bandwidth for some village and some view of beijing (e.g., including bandwidth demand data of some village and some view of beijing over multiple time intervals). The CDN server can determine a first distribution weight of a certain Beijing village in a first time interval according to bandwidth demand data of the certain village in Beijing and the certain view in the Beijing in a plurality of time intervals. For example, the first time interval is from 9 am to 12 am on a working day, and the bandwidth demand data that the CDN server obtains from 9 am to 12 am on the working day in certain village and certain view of beijing is: the CDN bandwidth requirement of some village in Beijing is about 10T and the CDN bandwidth requirement of some view in Beijing is about 5T. The CDN server may determine a first distribution weight of the beijing village in the first time interval according to bandwidth demand data of the beijing village and the beijing village from 9 am to 12 am on the working day, for example, determine the first distribution weight of the beijing village in the first time interval as 2/3 according to the formula 10 ÷ (10+5) ═ 2/3.
By the method, the first distribution weight of the first region in the first time interval can be accurately determined according to historical data of CDN bandwidths of a plurality of regions. Those skilled in the art should understand that the first region may include various forms, for example, a region a including guangzhou, beijing, tianjin, and beijing shanghai shenzhen, and the first time interval may also include various forms, for example, 9 am to 12 am on a working day, 18 am to 24 am on a working day, and 24 hours on a weekend (for example, saturday and sunday), as long as the first allocation weight of the first region in the first time interval may be determined according to historical data of CDN bandwidths of multiple regions, and the disclosure does not limit the first region, the first time interval, and the like.
In one possible implementation, as shown in fig. 2, step S12 may include:
in step S121, a first allocable CDN bandwidth of the first area in a first time interval is determined according to the total bandwidth and the first allocation weight.
For example, the CDN server may determine, according to the total bandwidth and the first allocation weight, a first allocable CDN bandwidth of the first region in the first time interval, where the total bandwidth is the total allocable CDN bandwidth of the multiple regions when the first allocation weight of the first region in the first time interval is determined. For example, as described above, the first allocation weight of beijing village (first region) from 9 am to 12 am (first time interval) on weekdays is determined to be 2/3, and the CDN server may determine the first allocable CDN bandwidth of beijing village from 9 am to 12 am on weekdays according to the total bandwidth and the first allocation weight 2/3. For example, if the total bandwidth of the country and the view of the beijing is 12T, it may be determined that the first allocable CDN bandwidth of the country of the beijing is 8T from 9 am to 12 am on a weekday according to the total bandwidth 12T and the first allocation weight 2/3.
In this way, the first allocable CDN bandwidth of the first region in the first time interval may be determined according to the allocable CDN total bandwidth and the first allocation weight. Those skilled in the art will appreciate that the first allocable CDN bandwidth of the first region in the first time interval may be determined in various ways according to the total bandwidth and the first allocation weight, which is not limited by the present disclosure.
In one possible implementation, step S121 may include: determining a region weight of the first region in a plurality of regions;
and determining a first allocable CDN bandwidth of a first region in a first time interval according to the total bandwidth, the first allocation weight and the region weight.
For example, the CDN server may determine a regional weight of the first region in the plurality of regions, and determine a first allocable CDN bandwidth of the first region in a first time interval according to the total bandwidth, the first allocation weight, and the regional weight. For example, regional weights of a village (first region) in Beijing in a plurality of regions (e.g., including the village in Beijing and a view in Beijing) may be determined. For example, considering that most of users in some beijing village use the CDN bandwidth to be related to work and most of users in some beijing village use the CDN bandwidth to be related to entertainment, the regional weight of some beijing village in multiple regions may be set to be larger, for example, to 1.2, and the CDN server may determine the first allocable CDN bandwidth of the first region in the first time interval according to the total bandwidth, the first allocation weight, and the regional weight. For example, if the total bandwidth of some village and some view in beijing is 12T, the first allocation weight of some village in beijing is 2/3, and the area weight is 1.2, the first allocable CDN bandwidth of the first area in the first time interval may be determined to be 9.6T according to the formula 12T × 2/3 × 1.2 ═ 9.6T.
In this way, the importance of different regions can be distinguished by setting the region weight of the first region in the plurality of regions, and the first allocable CDN bandwidth of the first region in the first time interval is adjusted, so that the CDN bandwidth is allocated to the first region in the first time interval more accurately. Those skilled in the art should understand that the region weights of different regions can be flexibly set according to the usage purpose, situation, etc. of the CDN bandwidth of the region, and can be adjusted, as long as the sum of the allocable CDN bandwidths of the multiple regions in the same time interval is guaranteed to be equal to the total bandwidth of the multiple regions, which is not limited by the present disclosure.
Application example
An application example according to the embodiment of the present disclosure is given below in conjunction with "CDN bandwidth allocation" as an exemplary application scenario, so as to facilitate understanding of a flow of a bandwidth allocation method. It is to be understood by those skilled in the art that the following application examples are for the purpose of facilitating understanding of the embodiments of the present disclosure only and are not to be construed as limiting the embodiments of the present disclosure.
Fig. 3 is a schematic diagram illustrating an application scenario of a bandwidth allocation method according to an exemplary embodiment. As shown in fig. 3, in this application example, the CDN server determines bandwidth allocation weights of the multiple regions in multiple time intervals according to historical data of CDN bandwidths of the multiple regions (for example, bandwidth demand data of the multiple regions in multiple time intervals is included) (step 301). For example, several areas include Beijing, village and Beijing, Ohio. The historical data of the CDN bandwidth obtained by the CDN server in the two regions includes: from 9 o 'clock to 18 o' clock of working day, the bandwidth demand data of a certain village of Beijing is 10T, and the bandwidth demand data of a certain view of Beijing is 5T. From 18 o 'clock to 24 o' clock of working day, the bandwidth demand data of a certain village in Beijing is 6T, and the bandwidth demand data of a certain view in Beijing is 9T. And 24 hours in the whole day at weekends, the bandwidth demand data of a certain village in Beijing is 2T, and the bandwidth demand data of a certain view in Beijing is 13T. And the CDN server determines bandwidth allocation weights of the multiple regions in the multiple time intervals according to bandwidth demand data of the multiple regions in the multiple time intervals.
For example, the bandwidth allocation weight of Beijing from 9 o 'clock to 18 o' clock of Yokohamu is 2/3, and the bandwidth allocation weight of Beijing from 9 o 'clock to 18 o' clock of Yokohamu is 1/3. The bandwidth distribution weight of Beijing from 18 o 'clock to 24 o' clock of the country on the working day is 2/5, and the bandwidth distribution weight of Beijing from 18 o 'clock to 24 o' clock on the working day is 3/5. The bandwidth allocation weight of Beijing, Youngu, 24 hours all the day on weekend is 2/15, and the bandwidth allocation weight of Beijing, Youngu, 24 hours all the day on weekend is 13/15.
In this application example, the CDN server determines allocable CDN bandwidths for the multiple regions according to the total bandwidth and the bandwidth allocation weight (step 302). For example, if the total bandwidth of the certain village in beijing and the certain view in beijing is 12T, it may be determined that the allocable CDN bandwidth of the certain village in beijing from 9 o 'clock to 18 o' clock is 12T × 2/3 ═ 8T, the allocable CDN bandwidth of the certain village in beijing from 9 o 'clock to 18 o' clock in workday is 12T × 1/3 ═ 4T, the allocable bandwidth of the certain village in beijing from 18 o 'clock to 24 o' clock in workday is 12T × 2/5 ═ 4.8T, the allocable CDN bandwidth of the certain village in beijing from 18 o 'clock to 24 o' clock in workday is 12T × 3/5 ═ 7.2T, the allocable bandwidth of the certain village in beijing from 24 o 'clock to 24 o' clock in weekend is 12T × 2/15 ═ 1.6T, and the allocable CDN bandwidth of the certain village in beijing in weekend is 12T × 13/15T × 10.4T in 24 hours in weekend.
In this application example, a plurality of regions may be provided with region weights, and the CDN server may determine, according to the total bandwidth, the first allocation weight, and the region weights, a first allocable CDN bandwidth of a first region in a first time interval. For example, if the regional weight of beijing village is 1.2, the allocable CDN bandwidth of beijing village from working day 9 to 18 is 12T × 2/3 × 1.2 ═ 9.6T, and the allocable CDN bandwidth of beijing village from working day 9 to 18 is 12T-9.6T ═ 2.4T (for example, the regional weight of beijing village is 0.6).
According to the embodiment of the disclosure, bandwidth allocation weights of a plurality of regions in a plurality of time intervals can be determined according to historical data of CDN bandwidths of the plurality of regions, and allocable CDN bandwidths of the plurality of regions are determined according to the total bandwidth and the bandwidth allocation weights, so that the utilization rate of the CDN bandwidths is improved.
Fig. 4 is a block diagram illustrating a bandwidth distribution apparatus according to an example embodiment. As shown in fig. 4, the bandwidth allocation apparatus includes:
a weight determining module 41, configured to determine bandwidth allocation weights of multiple regions in multiple time intervals according to historical data of CDN bandwidths of the multiple regions, where the historical data includes bandwidth demand data of the multiple regions in the multiple time intervals;
a bandwidth determining module 42, configured to determine assignable CDN bandwidths for the multiple regions according to the total bandwidth and the bandwidth allocation weight,
wherein the bandwidth allocation weight is positively correlated with the allocable CDN bandwidth.
Fig. 5 is a block diagram illustrating a bandwidth allocation apparatus according to an example embodiment. In one possible implementation, as shown in fig. 5, the plurality of regions includes a first region, the plurality of time intervals includes a first time interval,
wherein the weight determining module 41 comprises:
a first weight determining submodule 411, configured to determine, according to historical data of CDN bandwidths of multiple regions, a first allocation weight of the first region in the first time interval,
wherein the bandwidth determining module 42 comprises:
the first bandwidth determining submodule 421 is configured to determine, according to the total bandwidth and the first allocation weight, a first allocable CDN bandwidth of the first area in a first time interval.
In one possible implementation, the first bandwidth determining submodule 421 includes:
a region weight determination submodule for determining a region weight of the first region in a plurality of regions;
and the second bandwidth determining submodule is used for determining the first allocable CDN bandwidth of the first region in the first time interval according to the total bandwidth, the first allocation weight and the region weight.
Fig. 6 is a block diagram illustrating a bandwidth distribution apparatus according to an example embodiment. For example, the apparatus 1900 may be provided as a server. Referring to FIG. 6, the device 1900 includes a processing component 1922 further including one or more processors and memory resources, represented by memory 1932, for storing instructions, e.g., applications, executable by the processing component 1922. The application programs stored in memory 1932 may include one or more modules that each correspond to a set of instructions. Further, the processing component 1922 is configured to execute instructions to perform the above-described method.
The device 1900 may also include a power component 1926 configured to perform power management of the device 1900, a wired or wireless network interface 1950 configured to connect the device 1900 to a network, and an input/output (I/O) interface 1958. The device 1900 may operate based on an operating system stored in memory 1932, such as Windows Server, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM, or the like.
In an exemplary embodiment, a non-transitory computer readable storage medium, such as the memory 1932, is also provided that includes computer program instructions executable by the processing component 1922 of the apparatus 1900 to perform the above-described methods.
The present disclosure may be systems, methods, and/or computer program products. The computer program product may include a computer-readable storage medium having computer-readable program instructions embodied thereon for causing a processor to implement various aspects of the present disclosure.
The computer readable storage medium may be a tangible device that can hold and store the instructions for use by the instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic memory device, a magnetic memory device, an optical memory device, an electromagnetic memory device, a semiconductor memory device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a Static Random Access Memory (SRAM), a portable compact disc read-only memory (CD-ROM), a Digital Versatile Disc (DVD), a memory stick, a floppy disk, a mechanical coding device, such as punch cards or in-groove projection structures having instructions stored thereon, and any suitable combination of the foregoing. Computer-readable storage media as used herein is not to be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., optical pulses through a fiber optic cable), or electrical signals transmitted through electrical wires.
The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to a respective computing/processing device, or to an external computer or external storage device via a network, such as the internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. The network adapter card or network interface in each computing/processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing/processing device.
The computer program instructions for carrying out operations of the present disclosure may be assembler instructions, Instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, the electronic circuitry that can execute the computer-readable program instructions implements aspects of the present disclosure by utilizing the state information of the computer-readable program instructions to personalize the electronic circuitry, such as a programmable logic circuit, a Field Programmable Gate Array (FPGA), or a Programmable Logic Array (PLA).
Various aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
These computer-readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer-readable medium storing the instructions comprises an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Having described embodiments of the present disclosure, the foregoing description is intended to be exemplary, not exhaustive, and not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terms used herein were chosen in order to best explain the principles of the embodiments, the practical application, or technical improvements to the techniques in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claims (8)

1. A bandwidth allocation method is applied to a Content Delivery Network (CDN) server and comprises the following steps:
determining bandwidth allocation weights of a plurality of regions in a plurality of time intervals according to historical data of CDN bandwidths of the plurality of regions, wherein the historical data comprises bandwidth demand data of the plurality of regions in the plurality of time intervals;
determining an allocable CDN bandwidth for each of the plurality of regions according to the total bandwidth, the region weight of each region, and the bandwidth allocation weight,
the bandwidth allocation weight is positively correlated with the distributable CDN bandwidth, and the region weight is determined according to CDN bandwidth usage purposes of the regions in the same time interval.
2. The method of claim 1, wherein the plurality of regions comprises a first region, wherein the plurality of time intervals comprises a first time interval,
determining bandwidth allocation weights of a plurality of regions in a plurality of time intervals according to historical data of CDN bandwidths of the plurality of regions, wherein the method comprises the following steps:
determining a first allocation weight of the first region in the first time interval according to historical data of CDN bandwidth of a plurality of regions,
determining the distributable CDN bandwidth of each region in the plurality of regions according to the total bandwidth, the region weight of each region and the bandwidth distribution weight, wherein the method comprises the following steps:
and determining a first allocable CDN bandwidth of the first region in a first time interval according to the total bandwidth and the first allocation weight.
3. The method of claim 2, wherein determining a first allocable CDN bandwidth for a first time interval for a first region according to the total bandwidth and the first allocation weight comprises:
determining a region weight of the first region in a plurality of regions;
and determining a first allocable CDN bandwidth of a first region in a first time interval according to the total bandwidth, the first allocation weight and the region weight.
4. A bandwidth distribution device is applied to a Content Delivery Network (CDN) server, and comprises:
the weight determining module is used for determining bandwidth allocation weights of the multiple regions in multiple time intervals according to historical data of CDN bandwidths of the multiple regions, wherein the historical data comprises bandwidth demand data of the multiple regions in the multiple time intervals;
a bandwidth determining module, configured to determine an allocable CDN bandwidth for each of the multiple regions according to the total bandwidth, the region weight of each region, and the bandwidth allocation weight,
the bandwidth allocation weight is positively correlated with the distributable CDN bandwidth, and the region weight is determined according to CDN bandwidth usage purposes of the regions in the same time interval.
5. The apparatus of claim 4, wherein the plurality of regions comprises a first region, wherein the plurality of time intervals comprises a first time interval,
wherein the weight determination module comprises:
a first weight determination submodule, configured to determine a first distribution weight of the first region in the first time interval according to historical data of CDN bandwidths for multiple regions,
wherein the bandwidth determining module comprises:
and the first bandwidth determining submodule is used for determining a first allocable CDN bandwidth of the first region in a first time interval according to the total bandwidth and the first allocation weight.
6. The apparatus of claim 5, wherein the first bandwidth determination submodule comprises:
a region weight determination submodule for determining a region weight of the first region in a plurality of regions;
and the second bandwidth determining submodule is used for determining the first allocable CDN bandwidth of the first region in the first time interval according to the total bandwidth, the first allocation weight and the region weight.
7. A bandwidth distribution apparatus, comprising:
a processor;
a memory for storing processor-executable instructions;
wherein the processor is configured to: performing the method of any one of claims 1-3.
8. A non-transitory computer readable storage medium having computer program instructions stored thereon, wherein the computer program instructions, when executed by a processor, implement the method of any of claims 1-3.
CN201810166063.2A 2018-02-28 2018-02-28 Bandwidth allocation method and device Active CN110213620B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810166063.2A CN110213620B (en) 2018-02-28 2018-02-28 Bandwidth allocation method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810166063.2A CN110213620B (en) 2018-02-28 2018-02-28 Bandwidth allocation method and device

Publications (2)

Publication Number Publication Date
CN110213620A CN110213620A (en) 2019-09-06
CN110213620B true CN110213620B (en) 2021-10-19

Family

ID=67778890

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810166063.2A Active CN110213620B (en) 2018-02-28 2018-02-28 Bandwidth allocation method and device

Country Status (1)

Country Link
CN (1) CN110213620B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112040437B (en) * 2019-11-08 2021-05-11 中兴通讯股份有限公司 Internet of vehicles access method, equipment and storage medium
CN111917479B (en) * 2020-08-14 2022-08-09 深圳市前海多晟科技股份有限公司 5G network distributed edge system based on broadcast and television optical fiber network and control method
CN115134369B (en) * 2021-03-26 2024-01-19 北京金山云网络技术有限公司 CDN node distribution method and device, electronic equipment and storage medium
CN113079045B (en) * 2021-03-26 2022-03-25 北京达佳互联信息技术有限公司 Bandwidth allocation method, device, server and storage medium
CN114338705B (en) * 2021-11-24 2023-12-01 阿里巴巴(中国)有限公司 Resource water level control method, equipment and medium for CDN node of content delivery network
CN114666284B (en) * 2022-05-23 2022-11-15 阿里巴巴(中国)有限公司 Flow control method and device, electronic equipment and readable storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9609370B2 (en) * 2011-05-31 2017-03-28 Alcatel Lucent Video delivery modification based on network availability
CN103067308A (en) * 2012-12-26 2013-04-24 中兴通讯股份有限公司 Method and system for bandwidth distribution
US9729662B2 (en) * 2014-08-11 2017-08-08 Cisco Technology, Inc. Probabilistic lazy-forwarding technique without validation in a content centric network
CN106790409A (en) * 2016-11-30 2017-05-31 哈尔滨学院 Load-balancing method and its system based on the treatment of electric business platform user historical data

Also Published As

Publication number Publication date
CN110213620A (en) 2019-09-06

Similar Documents

Publication Publication Date Title
CN110213620B (en) Bandwidth allocation method and device
US9923784B2 (en) Data transfer using flexible dynamic elastic network service provider relationships
US20200162578A1 (en) Microservices request flow control synchronization
US20180254996A1 (en) Automatic scaling of microservices based on projected demand
US20180352020A1 (en) Perfect application capacity analysis for elastic capacity management of cloud-based applications
US11784885B2 (en) Shared bandwidth speed limiting method, device, and storage medium
CN111373372A (en) Assigning priorities to applications for diagonal scaling in a distributed computing environment
CN109428926B (en) Method and device for scheduling task nodes
US11303712B1 (en) Service management in distributed system
US9609076B1 (en) Criteria-based data push
US11042660B2 (en) Data management for multi-tenancy
CN113254191A (en) Method, electronic device and computer program product for running applications
CN114327918B (en) Method and device for adjusting resource amount, electronic equipment and storage medium
US11962633B2 (en) Autoscaling a distributed streaming platform in an event-driven microservice architecture
US11494239B2 (en) Method for allocating computing resources, electronic device, and computer program product
CN115378878B (en) CDN scheduling method, device, equipment and storage medium
US20210117287A1 (en) Method, device, and computer program product for backing up data
US10983714B2 (en) Distribution from multiple servers to multiple nodes
CN114064403A (en) Task delay analysis processing method and device
CN113918282A (en) Database access method and device, electronic equipment and computer readable medium
CN110213619B (en) Bandwidth allocation method and device
US10417055B2 (en) Runtime movement of microprocess components
CN116760785B (en) Bandwidth allocation method, device, electronic equipment and storage medium
CN113220501A (en) Method, apparatus and computer program product for data backup
CN113127187A (en) Method and apparatus for cluster scale-up

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200427

Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Alibaba (China) Co.,Ltd.

Address before: 100080 Beijing Haidian District city Haidian street A Sinosteel International Plaza No. 8 block 5 layer A, C

Applicant before: Youku network technology (Beijing) Co., Ltd

GR01 Patent grant
GR01 Patent grant