WO2022242470A1 - Cdn scheduling method, apparatus and device, and storage medium - Google Patents

Cdn scheduling method, apparatus and device, and storage medium Download PDF

Info

Publication number
WO2022242470A1
WO2022242470A1 PCT/CN2022/091350 CN2022091350W WO2022242470A1 WO 2022242470 A1 WO2022242470 A1 WO 2022242470A1 CN 2022091350 W CN2022091350 W CN 2022091350W WO 2022242470 A1 WO2022242470 A1 WO 2022242470A1
Authority
WO
WIPO (PCT)
Prior art keywords
cdn
token
target
determining
performance value
Prior art date
Application number
PCT/CN2022/091350
Other languages
French (fr)
Chinese (zh)
Inventor
黄胜兰
李孟杰
黄跃龙
张宓
李小成
马茜
严冰
Original Assignee
北京字跳网络技术有限公司
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 北京字跳网络技术有限公司 filed Critical 北京字跳网络技术有限公司
Publication of WO2022242470A1 publication Critical patent/WO2022242470A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/215Flow control; Congestion control using token-bucket
    • 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/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2747Remote storage of video programs received via the downstream path, e.g. from the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content

Definitions

  • the present disclosure relates to the technical field of data processing, for example, to a content delivery network (Content Delivery Network, CDN) scheduling method, device, device and storage medium.
  • CDN Content Delivery Network
  • CDN provided by any CDN manufacturer on the market it is difficult for the CDN provided by any CDN manufacturer on the market to support all video traffic alone. Therefore, for the video provider, the only option is to use the CDN provided by multiple CDN vendors for video transmission at the same time, and the CDN provided by each CDN vendor is allocated a certain percentage of CDN traffic. The CDN provided by all CDN vendors undertakes 100% of the video traffic.
  • the present disclosure provides a CDN scheduling method, device, equipment and storage medium, which can flexibly schedule the CDN and maximize the performance of the CDN.
  • the present disclosure provides a CDN scheduling method, including:
  • the present disclosure also provides a CDN scheduling device, including:
  • the feature group division module is configured to divide multiple users into multiple feature groups according to the set feature information
  • a performance value determination module configured to determine the performance values corresponding to each of the multiple CDNs for the multiple feature groups
  • the token delivery module is set to deliver the token corresponding to each CDN into the token bucket according to the set ratio;
  • the target token determining module is configured to determine the target token from the token bucket according to the performance value, and schedule the CDN corresponding to the target token.
  • the present disclosure also provides an electronic device, the electronic device comprising:
  • a storage device configured to store one or more programs
  • the one or more processing devices When the one or more programs are executed by the one or more processing devices, the one or more processing devices implement the above CDN scheduling method.
  • the present disclosure also provides a computer-readable medium on which a computer program is stored, and when the program is executed by a processing device, the above CDN scheduling method is implemented.
  • FIG. 1 is a flowchart of a CDN scheduling method provided by an embodiment of the present disclosure
  • FIG. 2 is a schematic structural diagram of a CDN scheduling device provided by an embodiment of the present disclosure
  • Fig. 3 is a schematic structural diagram of an electronic device provided by an embodiment of the present disclosure.
  • the term “comprise” and its variations are open-ended, ie “including but not limited to”.
  • the term “based on” is “based at least in part on”.
  • the term “one embodiment” means “at least one embodiment”; the term “another embodiment” means “at least one further embodiment”; the term “some embodiments” means “at least some embodiments.” Relevant definitions of other terms will be given in the description below.
  • a scheduling algorithm that randomly allocates CDNs according to the proportion of CDN purchased traffic is mainly used.
  • CDN_A, CDN_B, and CDN_C agree that their respective traffic ratios are 20%, 50%, and 30%.
  • CDN_A is returned with a 20% probability
  • CDN_B is returned with a 50% probability
  • CDN_C is returned with a 30% probability.
  • the overall traffic ratio will meet the agreed traffic ratio.
  • the related technology has the following defects: 1. Although such an allocation ratio can ensure that the overall allocation ratio conforms to the initially given CDN traffic ratio, it ignores that the performance of CDNs in different regions is different. Usually, due to the different geographic locations of Edge-CDN nodes set by different CDN vendors, the server central processing unit (Central Processing Unit, CPU) and bandwidth performance of different Edge-CDN nodes are different. When CDNs provided by different CDN vendors provide services in the same area, their performance is not always equal. Since the method of allocating the CDN based on the agreed traffic ratio is adopted in the related art, it does not take into account how to use the above information to provide users with better CDN performance as a whole. 2. The importance of different user requests is different.
  • CPU Central Processing Unit
  • the playback experience of different groups of people is of different importance to the video provider. For example, new users are less sticky to the APP than old users, so minor playback quality problems may cause new users The APP is not used, so new users should be assigned a CDN with better performance to ensure a smoother playback experience.
  • Fig. 1 is a flowchart of a CDN scheduling method provided by an embodiment of the present disclosure. This embodiment is applicable to the situation of CDN scheduling, and the method can be executed by a CDN scheduling device, which can be implemented by hardware and/or It consists of software, and generally can be integrated into a device with CDN scheduling function, which can be an electronic device such as a server, a mobile terminal, or a server cluster. As shown in Figure 1, the method includes:
  • the setting feature information may include the region where the user is located, the Internet Service Provider (Internet Service Provider, ISP), the type of network used (WiFi or mobile network), etc.
  • ISP Internet Service Provider
  • WiFi Wireless Fidelity
  • Multiple users can be clustered and divided according to the set feature information to obtain multiple feature groups.
  • users with the same set characteristic information exceeding the set ratio can be divided into the same characteristic group.
  • users with more than 80% N of the same set feature information are classified into the same feature group.
  • the CDN may be a CDN provided by multiple CDN vendors for the current application.
  • the performance value can reflect the performance of the feature group on the CDN.
  • the method of determining the performance values corresponding to each of the multiple CDNs for the multiple feature groups may be: obtaining the historical operating parameters of the multiple feature groups on each CDN; determining the multiple feature groups according to the historical operating parameters The performance value of the group on each CDN respectively.
  • Running parameters can include first frame time, freeze information, bit rate, bandwidth, and round-trip delay.
  • the historical running parameters may be the average value of the parameters of each feature group collected in a set historical time period when running on each CDN.
  • the set historical time period may be the last week or the last month. When collecting parameters, it can be collected every set period of time, for example, every 5 minutes.
  • the way to determine the performance values of multiple feature groups on each CDN according to the historical operating parameters can be: call the first equation to linearly solve the historical operating parameters to obtain the performance of multiple feature groups on each CDN value; or, call the second equation to solve the gradient descent of the historical operating parameters to obtain the performance values of multiple feature groups on each CDN.
  • the first equation may be a linear equation and the second equation may be a non-linear equation.
  • Linear equations and nonlinear equations can be called from the function library. In this embodiment, no limitation is imposed on the linear equation and the nonlinear equation.
  • the method of determining the performance values of multiple feature groups on each CDN according to the historical operating parameters can also be: input the historical operating parameters into the trained tree machine learning model to obtain multiple feature groups Performance values on each CDN respectively.
  • the tree-type machine learning model can be obtained by training based on operating parameters such as the first frame time, freeze information, bit rate, bandwidth, and round-trip delay.
  • the set ratio may be the traffic ratio of CDN provided by multiple CDN vendors purchased by the video provider. Assuming that the video provider purchased the CDNs of three CDN manufacturers, namely CDN_A, CDN_B, and CDN_C, and agreed that the respective traffic ratios are 20%, 50%, and 30%, then 2:5:3 is the set ratio.
  • each token corresponds to a CDN, and the ratio of CDN tokens is set. Assuming that the setting ratio is 2:5:3, the token data of CDN_A is 20%*X, the token amount of CDN_B is 50%*X, and the token amount of CDN_C is 30*X.
  • S140 Determine the target token from the token bucket according to the performance value, and schedule the CDN corresponding to the target token.
  • first determine the remaining CDN tokens in the current token bucket then determine the feature group where the user who initiated the data request is located, and then determine that the feature group where the user is located is on the CDN corresponding to the remaining CND tokens A performance value of , and a target token is determined according to the performance value.
  • the way to determine the target token from the token bucket according to the performance value can be: when receiving the data request sent by the user, obtain the CDN corresponding to the remaining token in the current token bucket, and determine it as the remaining CDN; determine the target where the user is located For the feature group, the performance value of the target feature group on each of the remaining CDNs is normalized; and the target token is determined according to the normalized performance value.
  • the sum of the performance values of the normalized CDN is 1.
  • the CDNs corresponding to the remaining tokens in the token bucket include CDN_A, CDN_B, and CDN_C
  • the performance values of the user’s target feature group on CDN_A, CDN_B, and CDN_C are 0.4, 0.8, and 0.6 respectively.
  • the performance values are: 2/9, 4/9 and 3/9.
  • the target token is determined according to the normalized performance value.
  • the method of determining the target token according to the normalized performance value may be: dividing the set value range into at least one sub-range according to the normalized performance value; One-to-one correspondence; generate a random number within the set value range, and determine the target sub-range in which the random number falls; determine the CDN token corresponding to the target sub-range as the target token.
  • the set value range can be a range between 0-1.
  • the sub-ranges may be divided according to the proportion of the normalized performance value in the total performance value.
  • the normalized performance values of CDN_A, CDN_B, and CDN_C are respectively: 2/9, 4/9, and 3/9, and the sub-ranges divided between 0-1 are: (0, 2 /9], (2/9, 6/9], (6/9, 1].
  • the sub-range corresponding to CDN_A is (0, 2/9]
  • the sub-range corresponding to CDN_B is (2/9, 6/ 9]
  • the sub-range corresponding to CDN_C is (6/9, 1].
  • the random number function can be used to generate a random number between 0-1, for example: if the generated random number is 0.5, it falls into (2/9, 6/9], then the determined target token is the token of CDN_B , so as to schedule CDN_B for the current user.
  • the manner of determining the target token according to the normalized performance value may also be: determining the CDN token with the highest normalized performance value as the target token.
  • the normalized performance values of CDN_A, CDN_B, and CDN_C are: 2/9, 4/9, and 3/9, respectively. Then the normalized performance value of CDN_B is the largest, and the determined target token is the token of CDN_B, so that CDN_B is scheduled for the current user.
  • the target token from the token bucket after determining the target token from the token bucket according to the performance value, it also includes: extracting the target token from the token bucket; The operation of putting cards into the token bucket according to the set ratio.
  • the target token needs to be extracted from the token bucket. Assuming that the target token is the token of CDN_A, the token of CDN_A is extracted from the token bucket, and when there is no CDN_A in the token bucket, the target token is determined according to the remaining CDN tokens in the token bucket. After all the tokens in the token bucket are extracted, the tokens corresponding to each CDN need to be put into the token bucket according to the set ratio again, so as to realize the scheduling of the CDN.
  • multiple users are divided into multiple feature groups according to the set feature information; the performance values corresponding to each CDN of the multiple feature groups are determined; the tokens corresponding to each CDN are divided according to Set the ratio and put it into the token bucket; determine the target token from the token bucket according to the performance value, and schedule the CDN corresponding to the target token.
  • the CDN scheduling method provided by the embodiments of the present disclosure determines the target token from the token bucket according to the performance value corresponding to the feature group and each CDN, so as to schedule the CDN corresponding to the target token, which can flexibly schedule the CDN and ensure that the CDN Maximize performance.
  • Fig. 2 is a schematic structural diagram of a CDN scheduling device provided by an embodiment of the present disclosure. As shown in Figure 2, the device includes:
  • the characteristic group division module 210 is configured to divide multiple users into a plurality of characteristic groups according to the set characteristic information; the performance value determination module 220 is configured to determine that the plurality of characteristic groups correspond to each CDN in the plurality of CDNs respectively performance value; the token placement module 230 is set to put the token corresponding to each CDN into the token bucket according to the set ratio; the target token determination module 240 is set to determine the target from the token bucket according to the performance value Token, and dispatch the CDN corresponding to the target token.
  • the target token determination module 240 is set to:
  • the target token determining module 240 is configured to determine the target token according to the normalized performance value in the following manner:
  • the target token determining module 240 is configured to determine the target token according to the normalized performance value in the following manner:
  • the CDN token with the highest normalized performance value is determined as the target token.
  • the performance value determination module 220 is set to:
  • the operating parameters include the first frame time, freeze information, bit rate, bandwidth, and round-trip delay; determine the multiple feature groups according to the historical operating parameters Performance value on each CDN.
  • the performance value determination module 220 is configured to determine the performance values of multiple feature groups on each CDN according to historical operating parameters in the following manner:
  • a token extraction module set to:
  • the above-mentioned device can execute the methods provided by all the foregoing embodiments of the present disclosure, and has corresponding functional modules and effects for executing the above-mentioned methods.
  • the above-mentioned device can execute the methods provided by all the foregoing embodiments of the present disclosure, and has corresponding functional modules and effects for executing the above-mentioned methods.
  • FIG. 3 it shows a schematic structural diagram of an electronic device 300 suitable for implementing an embodiment of the present disclosure.
  • the electronic device 300 in the embodiment of the present disclosure may include but not limited to mobile phones, notebook computers, digital broadcast receivers, personal digital assistants (Personal Digital Assistant, PDA), tablet computers (PAD), portable multimedia players (Portable Media Player, PMP), mobile terminals such as vehicle-mounted terminals (such as vehicle-mounted navigation terminals), fixed terminals such as digital television (Television, TV), desktop computers, etc., or various forms of servers, such as independent servers or server clusters.
  • PDA Personal Digital Assistant
  • PMP portable multimedia players
  • mobile terminals such as vehicle-mounted terminals (such as vehicle-mounted navigation terminals), fixed terminals such as digital television (Television, TV), desktop computers, etc.
  • servers such as independent servers or server clusters.
  • the electronic device 300 shown in FIG. 3 is only an example, and should not limit the functions and scope of use of the embodiments of the present disclosure.
  • an electronic device 300 may include a processing device (such as a central processing unit, a graphics processing unit, etc.)
  • the device 308 loads programs in the random access storage device (Random Access Memory, RAM) 303 to perform various appropriate actions and processes.
  • RAM Random Access Memory
  • various programs and data necessary for the operation of the electronic device 300 are also stored.
  • the processing device 301, ROM 302, and RAM 303 are connected to each other through a bus 304.
  • An input/output (Input/Output, I/O) interface 305 is also connected to the bus 304 .
  • an input device 306 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; including, for example, a liquid crystal display (Liquid Crystal Display, LCD) , an output device 307 such as a speaker, a vibrator, etc.; a storage device 308 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 309.
  • the communication means 309 may allow the electronic device 300 to perform wireless or wired communication with other devices to exchange data.
  • FIG. 3 shows electronic device 300 having various means, it is not a requirement to implement or possess all of the means shown. More or fewer means may alternatively be implemented or provided.
  • embodiments of the present disclosure include a computer program product comprising a computer program carried on a computer readable medium, the computer program comprising program code for performing a word recommendation method.
  • the computer program may be downloaded and installed from a network via communication means 309, or from storage means 308, or from ROM 302.
  • the processing device 301 When the computer program is executed by the processing device 301, the above-mentioned functions defined in the methods of the embodiments of the present disclosure are performed.
  • the computer-readable medium mentioned above in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination of the above two.
  • a computer readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof.
  • Examples of computer readable storage media may include, but are not limited to: electrical connections with one or more wires, portable computer disks, hard disks, RAM, ROM, Erasable Programmable Read-Only Memory (EPROM) or flash memory), optical fiber, portable compact disk read-only memory (Compact Disc Read-Only Memory, CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above.
  • a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
  • a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave carrying computer-readable program code therein. Such propagated data signals may take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing.
  • a computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, which can transmit, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device .
  • the program code contained on the computer readable medium can be transmitted by any appropriate medium, including but not limited to: electric wire, optical cable, radio frequency (Radio Frequency, RF), etc., or any suitable combination of the above.
  • the client and the server can communicate using any currently known or future network protocols such as Hypertext Transfer Protocol (HyperText Transfer Protocol, HTTP), and can communicate with digital data in any form or medium
  • the communication eg, communication network
  • Examples of communication networks include local area networks (Local Area Network, LAN), wide area networks (Wide Area Network, WAN), internetworks (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently existing networks that are known or developed in the future.
  • the above-mentioned computer-readable medium may be included in the above-mentioned electronic device, or may exist independently without being incorporated into the electronic device.
  • the above-mentioned computer-readable medium carries one or more programs, and when the above-mentioned one or more programs are executed by the electronic device, the electronic device: divides multiple users into multiple feature groups according to the set feature information; determines A plurality of feature groups are respectively associated with the performance values corresponding to each CDN in the plurality of CDNs; the token corresponding to each CDN is put into the token bucket according to the set ratio; Determine the target token, and schedule the CDN corresponding to the target token.
  • Computer program code for carrying out operations of the present disclosure may be written in one or more programming languages, or combinations thereof, including but not limited to object-oriented programming languages—such as Java, Smalltalk, C++, and Includes conventional procedural programming languages - such as the "C" language or similar programming languages.
  • the program code 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.
  • the remote computer can be connected to the user computer through any kind of network, including a LAN or WAN, or it can be connected to an external computer (eg via the Internet using an Internet Service Provider).
  • each block in a flowchart or block diagram may represent a module, program segment, or portion of code that contains one or more logical functions for implementing specified executable instructions.
  • 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 they may sometimes be executed in the reverse order, depending upon the functionality involved.
  • each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations can be implemented by a dedicated hardware-based system that performs the specified functions or operations , or may be implemented by a combination of dedicated hardware and computer instructions.
  • the units involved in the embodiments described in the present disclosure may be implemented by software or by hardware. Wherein, the name of the unit does not constitute a limitation of the unit itself in one case.
  • exemplary types of hardware logic components include: Field Programmable Gate Arrays (Field Programmable Gate Arrays, FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (Application Specific Standard Parts, ASSP), System on Chip (System on Chip, SOC), Complex Programmable Logic Device (Complex Programmable Logic Device, CPLD) and so on.
  • a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device.
  • a machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium.
  • a machine-readable medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. Examples of machine-readable storage media would include one or more wire-based electrical connections, portable computer disks, hard drives, RAM, ROM, EPROM or flash memory, optical fibers, CD-ROMs, optical storage devices, magnetic storage devices, or Any suitable combination of the above.
  • the embodiments of the present disclosure disclose a CDN scheduling method, including:
  • Determining the target token from the token bucket according to the performance value includes:
  • the target token is determined based on the normalized performance value.
  • Determining said target token according to the normalized performance value comprising:
  • Determining said target token according to the normalized performance value comprising:
  • the CDN token with the highest normalized performance value is determined as the target token.
  • Determining the performance values corresponding to each of the multiple CDNs for the multiple feature groups including:
  • the operating parameters include first frame time, freeze information, code rate, bandwidth and round-trip delay;
  • Determining performance values of the multiple feature groups on each CDN according to the historical operating parameters including:

Abstract

Disclosed herein are a CDN scheduling method, apparatus and device, and a storage medium. The CDN scheduling method comprises: dividing, according to set feature information, multiple users into multiple feature groups; determining the multiple feature groups to be corresponding to a performance value corresponding to each CDN among multiple CDNs, respectively; inputting a token corresponding to each CDN into a token bucket according to a set ratio; and determining a target token from the token bucket according to the performance value, and scheduling a CDN corresponding to the target token.

Description

CDN的调度方法、装置、设备及存储介质CDN scheduling method, device, equipment and storage medium
本申请要求在2021年05月21日提交中国专利局、申请号为202110560471.8的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application with application number 202110560471.8 submitted to the China Patent Office on May 21, 2021, the entire content of which is incorporated by reference in this application.
技术领域technical field
本公开涉及数据处理技术领域,例如涉及一种内容分发网络(Content Delivery Network,CDN)的调度方法、装置、设备及存储介质。The present disclosure relates to the technical field of data processing, for example, to a content delivery network (Content Delivery Network, CDN) scheduling method, device, device and storage medium.
背景技术Background technique
对于以视频业务为主的应用程序来说,底层的互联网流量是惊人的。为了能够给数以亿计的用户提供视频播放服务,视频提供方往往会将用户上传的视频经过编码处理后转存到CDN上。当用户请求视频播放时,视频平台将会返回一个在CDN上下载该视频的地址。用户将直接从CDN上下载视频。For video-centric applications, the underlying Internet traffic is staggering. In order to provide video playback services to hundreds of millions of users, video providers often encode videos uploaded by users and then transfer them to CDN. When a user requests to play a video, the video platform will return an address to download the video on the CDN. Users will download videos directly from CDN.
对于大型的视频提供方,由于数据量巨大,以及需要服务的地区众多。在市面上任何一家CDN厂商提供的CDN都难以单独支撑起所有的视频流量。因此,对于视频提供方来说,唯一的选择就是同时采用多家CDN厂商提供的CDN进行视频的传输,且每家CDN厂商提供的CDN被分配一定比例的CDN流量。所有的CDN厂商提供的CDN承担100%的视频业务方的流量。For large-scale video providers, due to the huge amount of data and the large number of regions that need to serve. It is difficult for the CDN provided by any CDN manufacturer on the market to support all video traffic alone. Therefore, for the video provider, the only option is to use the CDN provided by multiple CDN vendors for video transmission at the same time, and the CDN provided by each CDN vendor is allocated a certain percentage of CDN traffic. The CDN provided by all CDN vendors undertakes 100% of the video traffic.
在相关技术中,主要采用按照CDN购买流量比例随机分配CDN的调度算法。这种方式无法将CDN的性能发挥至最优。In related technologies, a scheduling algorithm that randomly allocates CDNs according to the proportion of CDN purchased traffic is mainly used. This method cannot maximize the performance of the CDN.
发明内容Contents of the invention
本公开提供一种CDN的调度方法、装置、设备及存储介质,可以灵活的调度CDN,使得CDN性能最大化。The present disclosure provides a CDN scheduling method, device, equipment and storage medium, which can flexibly schedule the CDN and maximize the performance of the CDN.
本公开提供了一种CDN的调度方法,包括:The present disclosure provides a CDN scheduling method, including:
根据设定特征信息将多个用户划分为多个特征群组;Divide multiple users into multiple feature groups according to the set feature information;
确定所述多个特征群组分别与多个CDN中每个CDN对应的性能值;determining performance values corresponding to each of the multiple CDNs for the multiple feature groups;
将每个CDN对应的令牌按照设定比例投放至令牌桶中;Put the token corresponding to each CDN into the token bucket according to the set ratio;
根据所述性能值从所述令牌桶中确定目标令牌,并调度所述目标令牌对应的CDN。Determine the target token from the token bucket according to the performance value, and schedule the CDN corresponding to the target token.
本公开还提供了一种CDN的调度装置,包括:The present disclosure also provides a CDN scheduling device, including:
特征群组划分模块,设置为根据设定特征信息将多个用户划分为多个特征群组;The feature group division module is configured to divide multiple users into multiple feature groups according to the set feature information;
性能值确定模块,设置为确定所述多个特征群组分别与多个CDN中每个CDN对应的性能值;A performance value determination module, configured to determine the performance values corresponding to each of the multiple CDNs for the multiple feature groups;
令牌投放模块,设置为将每个CDN对应的令牌按照设定比例投放至令牌桶中;The token delivery module is set to deliver the token corresponding to each CDN into the token bucket according to the set ratio;
目标令牌确定模块,设置为根据所述性能值从所述令牌桶中确定目标令牌,并调度所述目标令牌对应的CDN。The target token determining module is configured to determine the target token from the token bucket according to the performance value, and schedule the CDN corresponding to the target token.
本公开还提供了一种电子设备,所述电子设备包括:The present disclosure also provides an electronic device, the electronic device comprising:
一个或多个处理装置;one or more processing devices;
存储装置,设置为存储一个或多个程序;a storage device configured to store one or more programs;
当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现上述的CDN的调度方法。When the one or more programs are executed by the one or more processing devices, the one or more processing devices implement the above CDN scheduling method.
本公开还提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现上述的CDN的调度方法。The present disclosure also provides a computer-readable medium on which a computer program is stored, and when the program is executed by a processing device, the above CDN scheduling method is implemented.
附图说明Description of drawings
图1是本公开实施例提供的一种CDN的调度方法的流程图;FIG. 1 is a flowchart of a CDN scheduling method provided by an embodiment of the present disclosure;
图2是本公开实施例提供的一种CDN的调度装置的结构示意图;FIG. 2 is a schematic structural diagram of a CDN scheduling device provided by an embodiment of the present disclosure;
图3是本公开实施例提供的一种电子设备的结构示意图。Fig. 3 is a schematic structural diagram of an electronic device provided by an embodiment of the present disclosure.
具体实施方式Detailed ways
下面将参照附图描述本公开的实施例。虽然附图中显示了本公开的一些实施例,然而,本公开可以通过多种形式来实现,提供这些实施例是为了理解本公开。本公开的附图及实施例仅用于示例性作用。Embodiments of the present disclosure will be described below with reference to the accompanying drawings. Although some embodiments of the present disclosure are shown in the drawings, the present disclosure can be embodied in various forms, and these embodiments are provided for understanding of the present disclosure. The drawings and embodiments of the present disclosure are for illustrative purposes only.
本公开的方法实施方式中记载的多个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。Multiple steps described in the method implementations of the present disclosure may be executed in different orders, and/or executed in parallel. Additionally, method embodiments may include additional steps and/or omit performing illustrated steps. The scope of the present disclosure is not limited in this respect.
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。As used herein, the term "comprise" and its variations are open-ended, ie "including but not limited to". The term "based on" is "based at least in part on". The term "one embodiment" means "at least one embodiment"; the term "another embodiment" means "at least one further embodiment"; the term "some embodiments" means "at least some embodiments." Relevant definitions of other terms will be given in the description below.
本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。Concepts such as "first" and "second" mentioned in this disclosure are only used to distinguish different devices, modules or units, and are not used to limit the sequence or interdependence of the functions performed by these devices, modules or units relation.
本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有指出,否则应该理解为“一个或多个”。The modifications of "one" and "plurality" mentioned in the present disclosure are illustrative but not restrictive, and those skilled in the art should understand that unless the context indicates otherwise, it should be understood as "one or more".
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。The names of messages or information exchanged between multiple devices in the embodiments of the present disclosure are used for illustrative purposes only, and are not used to limit the scope of these messages or information.
相关技术中,主要采用按照CDN购买流量比例随机分配CDN的调度算法。譬如说三家CDN厂商CDN_A,CDN_B,CDN_C,约定各自流量的占比为20%,50%,30%。当出现一个新的用户请求的时候,则以20%的概率返回CDN_A,50%的概率返回CDN_B,以及30%的概率返回CDN_C。当用户数量足够大时,整体的流量比例就会符合约定的流量占比。In related technologies, a scheduling algorithm that randomly allocates CDNs according to the proportion of CDN purchased traffic is mainly used. For example, three CDN vendors, CDN_A, CDN_B, and CDN_C, agree that their respective traffic ratios are 20%, 50%, and 30%. When a new user request occurs, CDN_A is returned with a 20% probability, CDN_B is returned with a 50% probability, and CDN_C is returned with a 30% probability. When the number of users is large enough, the overall traffic ratio will meet the agreed traffic ratio.
相关技术存在如下缺陷:1、尽管这样的分配比例能够保证整体的分配比例符合最初给定的CDN流量配比,但忽略了CDN在不同地区的性能是不同的。通常情况下,由于不同CDN厂商设定的Edge-CDN节点的地理位置不同,不同Edge-CDN节点的服务器中央处理器(Central Processing Unit,CPU)、带宽性能不同。不同家CDN厂商提供的CDN在同一地区提供服务时,性能不总是相等的。由于相关技术中采用的是基于约定流量配比分配CDN的方式,没有考虑到如何利用上述信息实现在整体上为用户提供更好的CDN性能。2、不同的用户请求的重要性是不一样的,譬如说用户打开应用程序(Application,APP)的第一个视频时由于没有缓存,所以出现卡顿的风险更高,为用户配置一个性能较好的CDN会对整体的性能指标有所提升。此外,不同人群的播放体验对视频提供方的重要性也不一样,譬如说新用户对APP的粘性相较于老用户对APP的粘性更低,因此较小的播放质量问题就可能导致新用户不使用该APP,所以应该为新用户分配性能更优的CDN以确保更流畅的播放体验。The related technology has the following defects: 1. Although such an allocation ratio can ensure that the overall allocation ratio conforms to the initially given CDN traffic ratio, it ignores that the performance of CDNs in different regions is different. Usually, due to the different geographic locations of Edge-CDN nodes set by different CDN vendors, the server central processing unit (Central Processing Unit, CPU) and bandwidth performance of different Edge-CDN nodes are different. When CDNs provided by different CDN vendors provide services in the same area, their performance is not always equal. Since the method of allocating the CDN based on the agreed traffic ratio is adopted in the related art, it does not take into account how to use the above information to provide users with better CDN performance as a whole. 2. The importance of different user requests is different. For example, when the user opens the first video of the application (Application, APP), there is no cache, so there is a higher risk of freezing. A good CDN will improve the overall performance indicators. In addition, the playback experience of different groups of people is of different importance to the video provider. For example, new users are less sticky to the APP than old users, so minor playback quality problems may cause new users The APP is not used, so new users should be assigned a CDN with better performance to ensure a smoother playback experience.
图1是本公开实施例提供的一种CDN的调度方法的流程图,本实施例可适用于对CDN进行调度的情况,该方法可以由CDN的调度装置来执行,该装置可由硬件和/或软件组成,并一般可集成在具有CDN的调度功能的设备中,该设备可以是服务器、移动终端或服务器集群等电子设备。如图1所示,该方法包括:Fig. 1 is a flowchart of a CDN scheduling method provided by an embodiment of the present disclosure. This embodiment is applicable to the situation of CDN scheduling, and the method can be executed by a CDN scheduling device, which can be implemented by hardware and/or It consists of software, and generally can be integrated into a device with CDN scheduling function, which can be an electronic device such as a server, a mobile terminal, or a server cluster. As shown in Figure 1, the method includes:
S110,根据设定特征信息将多个用户划分为多个特征群组。S110. Divide multiple users into multiple feature groups according to the set feature information.
用户可以理解为使用当前APP的所有用户。设定特征信息可以包括用户所在地区,互联网服务提供商(Internet Service Provider,ISP)、使用的网络类型 (WiFi或者移动网络)等。可以根据设定特征信息对多个用户进行聚类划分,获得多个特征群组。本实施例中,可以将相同设定特征信息超过设定比例的用户划分为同一个特征群组。示例性的,假设设定特征信息共有N个,将具有相同设定特征信息超过80%N的用户归为同一特征群组。Users can be understood as all users using the current APP. The setting feature information may include the region where the user is located, the Internet Service Provider (Internet Service Provider, ISP), the type of network used (WiFi or mobile network), etc. Multiple users can be clustered and divided according to the set feature information to obtain multiple feature groups. In this embodiment, users with the same set characteristic information exceeding the set ratio can be divided into the same characteristic group. Exemplarily, assuming that there are N sets of feature information in total, users with more than 80% N of the same set feature information are classified into the same feature group.
S120,确定多个特征群组分别与多个CDN中每个CDN对应的性能值。S120. Determine performance values corresponding to each of the multiple CDNs in the multiple feature groups.
CDN可以是多个CDN厂商为当前应用程序提供的CDN。性能值可以反映特征群组在CDN上的性能。The CDN may be a CDN provided by multiple CDN vendors for the current application. The performance value can reflect the performance of the feature group on the CDN.
确定多个特征群组分别与多个CDN中每个CDN对应的性能值的方式可以是:获取多个特征群组分别在每个CDN上的历史运行参数;根据历史运行参数确定多个特征群组分别在每个CDN上的性能值。The method of determining the performance values corresponding to each of the multiple CDNs for the multiple feature groups may be: obtaining the historical operating parameters of the multiple feature groups on each CDN; determining the multiple feature groups according to the historical operating parameters The performance value of the group on each CDN respectively.
运行参数可以包括首帧时间、卡顿信息、码率、带宽及往返时延。历史运行参数可以是在设定历史时间段内采集的每个特征群组在每个CDN上运行时的参数的平均值。设定历史时间段可以是近一周或者近一个月等。采集参数时可以采用每隔设定时长为一个周期进行采集,例如:每隔5分钟采集一次。Running parameters can include first frame time, freeze information, bit rate, bandwidth, and round-trip delay. The historical running parameters may be the average value of the parameters of each feature group collected in a set historical time period when running on each CDN. The set historical time period may be the last week or the last month. When collecting parameters, it can be collected every set period of time, for example, every 5 minutes.
根据历史运行参数确定多个特征群组分别在每个CDN上的性能值的方式可以是:调用第一方程对历史运行参数进行线性求解,获得多个特征群组分别在每个CDN上的性能值;或者,调用第二方程对历史运行参数进行梯度下降求解,获得多个特征群组分别在每个CDN上的性能值。The way to determine the performance values of multiple feature groups on each CDN according to the historical operating parameters can be: call the first equation to linearly solve the historical operating parameters to obtain the performance of multiple feature groups on each CDN value; or, call the second equation to solve the gradient descent of the historical operating parameters to obtain the performance values of multiple feature groups on each CDN.
第一方程可以是线性方程,第二方程可以是非线性方程。线性方程和非线性方程可以从函数库中进行调用。本实施例中,对于线性方程和非线性方程不做限定。The first equation may be a linear equation and the second equation may be a non-linear equation. Linear equations and nonlinear equations can be called from the function library. In this embodiment, no limitation is imposed on the linear equation and the nonlinear equation.
可选的,根据历史运行参数确定多个特征群组分别在每个CDN上的性能值的方式还可以是:将历史运行参数输入训练好的树型机器学习模型中,获得多个特征群组分别在每个CDN上的性能值。其中,树型机器学习模型可以是基于首帧时间、卡顿信息、码率、带宽及往返时延等运行参数训练获得的。Optionally, the method of determining the performance values of multiple feature groups on each CDN according to the historical operating parameters can also be: input the historical operating parameters into the trained tree machine learning model to obtain multiple feature groups Performance values on each CDN respectively. Among them, the tree-type machine learning model can be obtained by training based on operating parameters such as the first frame time, freeze information, bit rate, bandwidth, and round-trip delay.
S130,将每个CDN对应的令牌按照设定比例投放至令牌桶中。S130. Put the token corresponding to each CDN into the token bucket according to the set ratio.
设定比例可以是视频供应方购买的多家CDN厂商提供的CDN的流量比例。假设视频供应方购买了三家CDN厂商的CDN,分别为CDN_A,CDN_B,CDN_C,约定各自流量的占比为20%,50%,30%,则2:5:3就是设定比例。The set ratio may be the traffic ratio of CDN provided by multiple CDN vendors purchased by the video provider. Assuming that the video provider purchased the CDNs of three CDN manufacturers, namely CDN_A, CDN_B, and CDN_C, and agreed that the respective traffic ratios are 20%, 50%, and 30%, then 2:5:3 is the set ratio.
获取一定数量X的令牌,每个令牌对应一种CDN,且放入CDN令牌的比例为设定比例。假设设定比例为2:5:3,则CDN_A的令牌数据为20%*X,CDN_B的令牌数量为50%*X,CDN_C的令牌数量为30*X。Obtain a certain amount of X tokens, each token corresponds to a CDN, and the ratio of CDN tokens is set. Assuming that the setting ratio is 2:5:3, the token data of CDN_A is 20%*X, the token amount of CDN_B is 50%*X, and the token amount of CDN_C is 30*X.
S140,根据性能值从令牌桶中确定目标令牌,并调度目标令牌对应的CDN。S140. Determine the target token from the token bucket according to the performance value, and schedule the CDN corresponding to the target token.
本实施例中,首先确定当前令牌桶中剩余的CDN令牌,然后在确定发起数据请求的用户所在的特征群组,再然后确定该用户所在特征群组在剩余CND令牌对应的CDN上的性能值,根据该性能值确定出一个目标令牌。In this embodiment, first determine the remaining CDN tokens in the current token bucket, then determine the feature group where the user who initiated the data request is located, and then determine that the feature group where the user is located is on the CDN corresponding to the remaining CND tokens A performance value of , and a target token is determined according to the performance value.
根据性能值从令牌桶中确定目标令牌的方式可以是:当接收到用户发送的数据请求时,获取当前令牌桶中剩余令牌对应的CDN,确定为剩余CDN;确定用户所在的目标特征群组,将目标特征群组在剩余CDN中的每个CDN上的性能值进行归一化处理;根据归一化的性能值确定目标令牌。The way to determine the target token from the token bucket according to the performance value can be: when receiving the data request sent by the user, obtain the CDN corresponding to the remaining token in the current token bucket, and determine it as the remaining CDN; determine the target where the user is located For the feature group, the performance value of the target feature group on each of the remaining CDNs is normalized; and the target token is determined according to the normalized performance value.
本实施例中,由于令牌桶中的令牌是被不断抽取的,因此在确定目标令牌之前需要确定当前令牌桶中剩余的令牌所对应的CDN。In this embodiment, since the tokens in the token bucket are continuously extracted, it is necessary to determine the CDN corresponding to the remaining tokens in the current token bucket before determining the target token.
归一化处理的结果是使得归一化后的CDN的性能值相加和为1。假设:令牌桶中当前剩余的令牌对应的CDN包括CDN_A,CDN_B,CDN_C,用户所在目标特征群组在CDN_A,CDN_B,CDN_C上的性能值分别为0.4、0.8、0.6,则归一化后的性能值分别为:2/9、4/9和3/9。最后根据归一化后的性能值确定出目标令牌。As a result of the normalization processing, the sum of the performance values of the normalized CDN is 1. Assumption: the CDNs corresponding to the remaining tokens in the token bucket include CDN_A, CDN_B, and CDN_C, and the performance values of the user’s target feature group on CDN_A, CDN_B, and CDN_C are 0.4, 0.8, and 0.6 respectively. After normalization The performance values are: 2/9, 4/9 and 3/9. Finally, the target token is determined according to the normalized performance value.
根据归一化的性能值确定目标令牌的方式可以是:根据归一化的性能值将设定数值范围划分为至少一个子范围;建立剩余CDN中的至少一个CDN与至少一个子范围的一一对应关系;在设定数值范围内生成一随机数,并确定随机数落入的目标子范围;将目标子范围对应的CDN的令牌确定为目标令牌。The method of determining the target token according to the normalized performance value may be: dividing the set value range into at least one sub-range according to the normalized performance value; One-to-one correspondence; generate a random number within the set value range, and determine the target sub-range in which the random number falls; determine the CDN token corresponding to the target sub-range as the target token.
设定数值范围可以是0-1之间的范围。可以根据归一化的性能值在总的性能值中的比例划分子范围。示例性的,基于上述实例,CDN_A,CDN_B,CDN_C归一化后的性能值分别为:2/9、4/9和3/9,则在0-1划分的子范围为:(0,2/9]、(2/9,6/9]、(6/9,1]。则CDN_A对应的子范围为(0,2/9],CDN_B对应的子范围为(2/9,6/9],CDN_C对应的子范围为(6/9,1]。The set value range can be a range between 0-1. The sub-ranges may be divided according to the proportion of the normalized performance value in the total performance value. Exemplarily, based on the above example, the normalized performance values of CDN_A, CDN_B, and CDN_C are respectively: 2/9, 4/9, and 3/9, and the sub-ranges divided between 0-1 are: (0, 2 /9], (2/9, 6/9], (6/9, 1]. The sub-range corresponding to CDN_A is (0, 2/9], and the sub-range corresponding to CDN_B is (2/9, 6/ 9], the sub-range corresponding to CDN_C is (6/9, 1].
可以利用随机数函数产生一个0-1之间的随机数,例如:假设产生的随机数为0.5,则落入(2/9,6/9],则确定的目标令牌为CDN_B的令牌,从而为当前用户调度CDN_B。You can use the random number function to generate a random number between 0-1, for example: if the generated random number is 0.5, it falls into (2/9, 6/9], then the determined target token is the token of CDN_B , so as to schedule CDN_B for the current user.
根据归一化的性能值确定目标令牌的方式还可以是:将归一化后的性能值最高的CDN令牌确定为目标令牌。The manner of determining the target token according to the normalized performance value may also be: determining the CDN token with the highest normalized performance value as the target token.
基于上述实例,CDN_A,CDN_B,CDN_C归一化后的性能值分别为:2/9、4/9和3/9。则CDN_B的归一化后的性能值最大,则确定的目标令牌为CDN_B的令牌,从而为当前用户调度CDN_B。Based on the above example, the normalized performance values of CDN_A, CDN_B, and CDN_C are: 2/9, 4/9, and 3/9, respectively. Then the normalized performance value of CDN_B is the largest, and the determined target token is the token of CDN_B, so that CDN_B is scheduled for the current user.
可选的,在根据性能值从令牌桶中确定目标令牌之后,还包括:将目标令 牌从令牌桶中抽出;当令牌桶为空时,返回执行将每个CDN对应的令牌按照设定比例投放至令牌桶中的操作。Optionally, after determining the target token from the token bucket according to the performance value, it also includes: extracting the target token from the token bucket; The operation of putting cards into the token bucket according to the set ratio.
本实施例中,每确定出一个目标令牌,就需要将目标令牌从令牌桶中抽出。假设目标令牌为CDN_A的令牌,则将CDN_A的令牌从令牌桶中抽出,当令牌桶中没有CDN_A时,则根据令牌桶中剩余的CDN令牌确定目标令牌。当令牌桶中的所有令牌被抽取出后,需要重新按照设定比例将每个CDN对应的令牌投放至令牌桶中,从而实现CDN的调度。In this embodiment, every time a target token is determined, the target token needs to be extracted from the token bucket. Assuming that the target token is the token of CDN_A, the token of CDN_A is extracted from the token bucket, and when there is no CDN_A in the token bucket, the target token is determined according to the remaining CDN tokens in the token bucket. After all the tokens in the token bucket are extracted, the tokens corresponding to each CDN need to be put into the token bucket according to the set ratio again, so as to realize the scheduling of the CDN.
本公开实施例的技术方案,根据设定特征信息将多个用户划分为多个特征群组;确定多个特征群组分别与每个CDN对应的性能值;将每个CDN对应的令牌按照设定比例投放至令牌桶中;根据性能值从令牌桶中确定目标令牌,并调度目标令牌对应的CDN。本公开实施例提供的CDN的调度方法,根据特征群组与每个CDN对应的性能值从令牌桶中确定目标令牌,以调度目标令牌对应的CDN,可以灵活地调度CDN,保证CDN性能最大化。According to the technical solution of the embodiment of the present disclosure, multiple users are divided into multiple feature groups according to the set feature information; the performance values corresponding to each CDN of the multiple feature groups are determined; the tokens corresponding to each CDN are divided according to Set the ratio and put it into the token bucket; determine the target token from the token bucket according to the performance value, and schedule the CDN corresponding to the target token. The CDN scheduling method provided by the embodiments of the present disclosure determines the target token from the token bucket according to the performance value corresponding to the feature group and each CDN, so as to schedule the CDN corresponding to the target token, which can flexibly schedule the CDN and ensure that the CDN Maximize performance.
图2是本公开实施例提供的一种CDN的调度装置的结构示意图。如图2所示,该装置包括:Fig. 2 is a schematic structural diagram of a CDN scheduling device provided by an embodiment of the present disclosure. As shown in Figure 2, the device includes:
特征群组划分模块210,设置为根据设定特征信息将多个用户划分为多个特征群组;性能值确定模块220,设置为确定多个特征群组分别与多个CDN中每个CDN对应的性能值;令牌投放模块230,设置为将每个CDN对应的令牌按照设定比例投放至令牌桶中;目标令牌确定模块240,设置为根据性能值从令牌桶中确定目标令牌,并调度目标令牌对应的CDN。The characteristic group division module 210 is configured to divide multiple users into a plurality of characteristic groups according to the set characteristic information; the performance value determination module 220 is configured to determine that the plurality of characteristic groups correspond to each CDN in the plurality of CDNs respectively performance value; the token placement module 230 is set to put the token corresponding to each CDN into the token bucket according to the set ratio; the target token determination module 240 is set to determine the target from the token bucket according to the performance value Token, and dispatch the CDN corresponding to the target token.
可选的,目标令牌确定模块240,设置为:Optionally, the target token determination module 240 is set to:
当接收到用户发送的数据请求时,获取当前令牌桶中剩余令牌对应的CDN,确定为剩余CDN;确定用户所在的目标特征群组,将目标特征群组在剩余CDN中的每个CDN上的性能值进行归一化处理;根据归一化的性能值确定目标令牌。When receiving the data request sent by the user, obtain the CDN corresponding to the remaining tokens in the current token bucket, and determine it as the remaining CDN; determine the target feature group where the user is located, and put the target feature group in each CDN in the remaining CDN The performance value above is normalized; the target token is determined according to the normalized performance value.
可选的,目标令牌确定模块240,设置为通过如下方式根据归一化的性能值确定目标令牌:Optionally, the target token determining module 240 is configured to determine the target token according to the normalized performance value in the following manner:
根据归一化的性能值将设定数值范围划分为至少一个子范围;建立剩余CDN中的至少一个CDN与至少一个子范围的一一对应关系;在设定数值范围内生成一随机数,并确定随机数落入的目标子范围;将目标子范围对应的CDN的令牌确定为目标令牌。Divide the set numerical range into at least one subrange according to the normalized performance value; establish a one-to-one correspondence between at least one CDN in the remaining CDNs and at least one subrange; generate a random number within the set numerical range, and Determine the target sub-range where the random number falls into; determine the CDN token corresponding to the target sub-range as the target token.
可选的,目标令牌确定模块240,设置为通过如下方式根据归一化的性能值确定目标令牌:Optionally, the target token determining module 240 is configured to determine the target token according to the normalized performance value in the following manner:
将归一化后的性能值最高的CDN的令牌确定为目标令牌。The CDN token with the highest normalized performance value is determined as the target token.
可选的,性能值确定模块220,设置为:Optionally, the performance value determination module 220 is set to:
获取多个特征群组分别在每个CDN上的历史运行参数;其中,运行参数包括首帧时间、卡顿信息、码率、带宽及往返时延;根据历史运行参数确定多个特征群组分别在每个CDN上的性能值。Obtain the historical operating parameters of multiple feature groups on each CDN; the operating parameters include the first frame time, freeze information, bit rate, bandwidth, and round-trip delay; determine the multiple feature groups according to the historical operating parameters Performance value on each CDN.
可选的,性能值确定模块220,设置为通过如下方式根据历史运行参数确定多个特征群组分别在每个CDN上的性能值:Optionally, the performance value determination module 220 is configured to determine the performance values of multiple feature groups on each CDN according to historical operating parameters in the following manner:
调用第一方程对历史运行参数进行线性求解,获得多个特征群组分别在每个CDN上的性能值;或者,调用第二方程对历史运行参数进行梯度下降求解,获得多个特征群组分别在每个CDN上的性能值。Call the first equation to linearly solve the historical operating parameters to obtain the performance values of multiple feature groups on each CDN; or call the second equation to solve the historical operating parameters with gradient descent to obtain multiple feature groups respectively. Performance value on each CDN.
可选的,还包括:令牌抽取模块,设置为:Optionally, also include: a token extraction module, set to:
将目标令牌从令牌桶中抽出;当令牌桶为空时,返回执行将每个CDN对应的令牌按照设定比例投放至令牌桶中的操作。Extract the target token from the token bucket; when the token bucket is empty, return to execute the operation of putting the token corresponding to each CDN into the token bucket according to the set ratio.
上述装置可执行本公开前述所有实施例所提供的方法,具备执行上述方法相应的功能模块和效果。未在本实施例中详尽描述的技术细节,可参见本公开前述所有实施例所提供的方法。The above-mentioned device can execute the methods provided by all the foregoing embodiments of the present disclosure, and has corresponding functional modules and effects for executing the above-mentioned methods. For technical details not described in detail in this embodiment, reference may be made to the methods provided in all the foregoing embodiments of the present disclosure.
下面参考图3,其示出了适于用来实现本公开实施例的电子设备300的结构示意图。本公开实施例中的电子设备300可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(Personal Digital Assistant,PDA)、平板电脑(PAD)、便携式多媒体播放器(Portable Media Player,PMP)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字电视(Television,TV)、台式计算机等等的固定终端,或者多种形式的服务器,如独立服务器或者服务器集群。图3示出的电子设备300仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。Referring now to FIG. 3 , it shows a schematic structural diagram of an electronic device 300 suitable for implementing an embodiment of the present disclosure. The electronic device 300 in the embodiment of the present disclosure may include but not limited to mobile phones, notebook computers, digital broadcast receivers, personal digital assistants (Personal Digital Assistant, PDA), tablet computers (PAD), portable multimedia players (Portable Media Player, PMP), mobile terminals such as vehicle-mounted terminals (such as vehicle-mounted navigation terminals), fixed terminals such as digital television (Television, TV), desktop computers, etc., or various forms of servers, such as independent servers or server clusters. The electronic device 300 shown in FIG. 3 is only an example, and should not limit the functions and scope of use of the embodiments of the present disclosure.
如图3所示,电子设备300可以包括处理装置(例如中央处理器、图形处理器等)301,其可以根据存储在只读存储装置(Read-Only Memory,ROM)302中的程序或者从存储装置308加载到随机访问存储装置(Random Access Memory,RAM)303中的程序而执行多种适当的动作和处理。在RAM 303中,还存储有电子设备300操作所需的多种程序和数据。处理装置301、ROM 302以及RAM 303通过总线304彼此相连。输入/输出(Input/Output,I/O)接口305也连接至总线304。As shown in FIG. 3 , an electronic device 300 may include a processing device (such as a central processing unit, a graphics processing unit, etc.) The device 308 loads programs in the random access storage device (Random Access Memory, RAM) 303 to perform various appropriate actions and processes. In the RAM 303, various programs and data necessary for the operation of the electronic device 300 are also stored. The processing device 301, ROM 302, and RAM 303 are connected to each other through a bus 304. An input/output (Input/Output, I/O) interface 305 is also connected to the bus 304 .
通常,以下装置可以连接至I/O接口305:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置306;包括例如液晶显示器(Liquid Crystal Display,LCD)、扬声器、振动器等的输出装置307;包括 例如磁带、硬盘等的存储装置308;以及通信装置309。通信装置309可以允许电子设备300与其他设备进行无线或有线通信以交换数据。虽然图3示出了具有多种装置的电子设备300,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。Generally, the following devices can be connected to the I/O interface 305: an input device 306 including, for example, a touch screen, a touchpad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; including, for example, a liquid crystal display (Liquid Crystal Display, LCD) , an output device 307 such as a speaker, a vibrator, etc.; a storage device 308 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 309. The communication means 309 may allow the electronic device 300 to perform wireless or wired communication with other devices to exchange data. Although FIG. 3 shows electronic device 300 having various means, it is not a requirement to implement or possess all of the means shown. More or fewer means may alternatively be implemented or provided.
根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行词语的推荐方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置309从网络上被下载和安装,或者从存储装置308被安装,或者从ROM 302被安装。在该计算机程序被处理装置301执行时,执行本公开实施例的方法中限定的上述功能。According to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program carried on a computer readable medium, the computer program comprising program code for performing a word recommendation method. In such an embodiment, the computer program may be downloaded and installed from a network via communication means 309, or from storage means 308, or from ROM 302. When the computer program is executed by the processing device 301, the above-mentioned functions defined in the methods of the embodiments of the present disclosure are performed.
本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、RAM、ROM、可擦式可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。The computer-readable medium mentioned above in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination of the above two. A computer readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. Examples of computer readable storage media may include, but are not limited to: electrical connections with one or more wires, portable computer disks, hard disks, RAM, ROM, Erasable Programmable Read-Only Memory (EPROM) or flash memory), optical fiber, portable compact disk read-only memory (Compact Disc Read-Only Memory, CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. In the present disclosure, however, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave carrying computer-readable program code therein. Such propagated data signals may take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, which can transmit, propagate, or transmit a program for use by or in conjunction with an instruction execution system, apparatus, or device . The program code contained on the computer readable medium can be transmitted by any appropriate medium, including but not limited to: electric wire, optical cable, radio frequency (Radio Frequency, RF), etc., or any suitable combination of the above.
在一些实施方式中,客户端、服务器可以利用诸如超文本传输协议(HyperText Transfer Protocol,HTTP)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(Local Area Network,LAN),广域网(Wide Area Network,WAN),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。In some embodiments, the client and the server can communicate using any currently known or future network protocols such as Hypertext Transfer Protocol (HyperText Transfer Protocol, HTTP), and can communicate with digital data in any form or medium The communication (eg, communication network) interconnections. Examples of communication networks include local area networks (Local Area Network, LAN), wide area networks (Wide Area Network, WAN), internetworks (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently existing networks that are known or developed in the future.
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。The above-mentioned computer-readable medium may be included in the above-mentioned electronic device, or may exist independently without being incorporated into the electronic device.
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:根据设定特征信息将多个用户划分为多个特征群组;确定多个特征群组分别与多个CDN中每个CDN对应的性能值;将每个CDN对应的令牌按照设定比例投放至令牌桶中;根据所述性能值从所述令牌桶中确定目标令牌,并调度所述目标令牌对应的CDN。The above-mentioned computer-readable medium carries one or more programs, and when the above-mentioned one or more programs are executed by the electronic device, the electronic device: divides multiple users into multiple feature groups according to the set feature information; determines A plurality of feature groups are respectively associated with the performance values corresponding to each CDN in the plurality of CDNs; the token corresponding to each CDN is put into the token bucket according to the set ratio; Determine the target token, and schedule the CDN corresponding to the target token.
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括LAN或WAN—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。Computer program code for carrying out operations of the present disclosure may be written in one or more programming languages, or combinations thereof, including but not limited to object-oriented programming languages—such as Java, Smalltalk, C++, and Includes conventional procedural programming languages - such as the "C" language or similar programming languages. The program code 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. Where a remote computer is involved, the remote computer can be connected to the user computer through any kind of network, including a LAN or WAN, or it can be connected to an external computer (eg via the Internet using an Internet Service Provider).
附图中的流程图和框图,图示了按照本公开多种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。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 a flowchart or block diagram may represent a module, program segment, or portion of code that contains one or more logical functions for implementing specified executable instructions. It should also be noted that, 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 they may sometimes be executed in the reverse order, depending upon the functionality involved. It should also be noted that each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations, can be implemented by a dedicated hardware-based system that performs the specified functions or operations , or may be implemented by a combination of dedicated hardware and computer instructions.
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在一种情况下并不构成对该单元本身的限定。The units involved in the embodiments described in the present disclosure may be implemented by software or by hardware. Wherein, the name of the unit does not constitute a limitation of the unit itself in one case.
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(Field Programmable Gate Array,FPGA)、专用集成电路(Application Specific Integrated Circuit,ASIC)、专用标准产品(Application Specific Standard Parts,ASSP)、片上***(System on Chip,SOC)、复杂可编程逻辑设备(Complex  Programmable Logic Device,CPLD)等等。The functions described herein above may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: Field Programmable Gate Arrays (Field Programmable Gate Arrays, FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (Application Specific Standard Parts, ASSP), System on Chip (System on Chip, SOC), Complex Programmable Logic Device (Complex Programmable Logic Device, CPLD) and so on.
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行***、装置或设备使用或与指令执行***、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体***、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、RAM、ROM、EPROM或快闪存储器、光纤、CD-ROM、光学储存设备、磁储存设备、或上述内容的任何合适组合。In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. Examples of machine-readable storage media would include one or more wire-based electrical connections, portable computer disks, hard drives, RAM, ROM, EPROM or flash memory, optical fibers, CD-ROMs, optical storage devices, magnetic storage devices, or Any suitable combination of the above.
根据本公开实施例的一个或多个实施例,本公开实施例公开了一种CDN的调度方法,包括:According to one or more embodiments of the embodiments of the present disclosure, the embodiments of the present disclosure disclose a CDN scheduling method, including:
根据设定特征信息将多个用户划分为多个特征群组;Divide multiple users into multiple feature groups according to the set feature information;
确定所述多个特征群组分别与多个CDN中每个CDN对应的性能值;determining performance values corresponding to each of the multiple CDNs for the multiple feature groups;
将每个CDN对应的令牌按照设定比例投放至令牌桶中;Put the token corresponding to each CDN into the token bucket according to the set ratio;
根据所述性能值从所述令牌桶中确定目标令牌,并调度所述目标令牌对应的CDN。Determine the target token from the token bucket according to the performance value, and schedule the CDN corresponding to the target token.
根据所述性能值从所述令牌桶中确定目标令牌,包括:Determining the target token from the token bucket according to the performance value includes:
当接收到用户发送的数据请求时,获取所述令牌桶中剩余令牌对应的CDN,确定为剩余CDN;When receiving the data request sent by the user, obtain the CDN corresponding to the remaining token in the token bucket, and determine it as the remaining CDN;
确定所述用户所在的目标特征群组,将所述目标特征群组在所述剩余CDN中的每个CDN上的性能值进行归一化处理;determining the target feature group where the user is located, and normalizing the performance value of the target feature group on each of the remaining CDNs;
根据归一化的性能值确定所述目标令牌。The target token is determined based on the normalized performance value.
根据归一化的性能值确定所述目标令牌,包括:Determining said target token according to the normalized performance value, comprising:
根据所述归一化的性能值将设定数值范围划分为至少一个子范围;dividing the set numerical range into at least one sub-range according to the normalized performance value;
建立所述剩余CDN中的至少一个CDN与所述至少一个子范围的一一对应关系;establishing a one-to-one correspondence between at least one CDN in the remaining CDNs and the at least one sub-range;
在所述设定数值范围内生成一随机数,并确定所述随机数落入的目标子范围;generating a random number within the set value range, and determining a target subrange within which the random number falls;
将所述目标子范围对应的CDN的令牌确定为所述目标令牌。Determining the token of the CDN corresponding to the target sub-range as the target token.
根据归一化的性能值确定所述目标令牌,包括:Determining said target token according to the normalized performance value, comprising:
将归一化后的性能值最高的CDN的令牌确定为所述目标令牌。The CDN token with the highest normalized performance value is determined as the target token.
确定所述多个特征群组分别与多个CDN中每个CDN对应的性能值,包括:Determining the performance values corresponding to each of the multiple CDNs for the multiple feature groups, including:
获取所述多个特征群组分别在每个CDN上的历史运行参数;其中,运行参数包括首帧时间、卡顿信息、码率、带宽及往返时延;Obtain the historical operating parameters of the plurality of feature groups on each CDN respectively; wherein, the operating parameters include first frame time, freeze information, code rate, bandwidth and round-trip delay;
根据所述历史运行参数确定所述多个特征群组分别在所述每个CDN上的性能值。Determining performance values of the plurality of feature groups on each of the CDNs according to the historical operating parameters.
根据所述历史运行参数确定所述多个特征群组分别在所述每个CDN上的性能值,包括:Determining performance values of the multiple feature groups on each CDN according to the historical operating parameters, including:
调用第一方程对所述历史运行参数进行线性求解,获得所述多个特征群组分别在所述每个CDN上的性能值;或者,Calling the first equation to linearly solve the historical operating parameters to obtain the performance values of the multiple feature groups on each of the CDNs; or,
调用第二方程对所述历史运行参数进行梯度下降求解,获得所述多个特征群组分别在所述每个CDN上的性能值。Invoking the second equation to perform a gradient descent solution on the historical operating parameters to obtain performance values of the plurality of feature groups on each of the CDNs.
在根据所述性能值从所述令牌桶中确定目标令牌之后,还包括:After determining the target token from the token bucket according to the performance value, it also includes:
将所述目标令牌从所述令牌桶中抽出;extracting the target token from the token bucket;
当令牌桶为空时,返回执行所述将每个CDN对应的令牌按照设定比例投放至令牌桶中的操作。When the token bucket is empty, return to execute the operation of putting the token corresponding to each CDN into the token bucket according to the set ratio.

Claims (10)

  1. 一种内容分发网络CDN的调度方法,包括:A scheduling method for a content distribution network CDN, comprising:
    根据设定特征信息将多个用户划分为多个特征群组;Divide multiple users into multiple feature groups according to the set feature information;
    确定所述多个特征群组分别与多个CDN中每个CDN对应的性能值;determining performance values corresponding to each of the multiple CDNs for the multiple feature groups;
    将每个CDN对应的令牌按照设定比例投放至令牌桶中;Put the token corresponding to each CDN into the token bucket according to the set ratio;
    根据所述性能值从所述令牌桶中确定目标令牌,并调度所述目标令牌对应的CDN。Determine the target token from the token bucket according to the performance value, and schedule the CDN corresponding to the target token.
  2. 根据权利要求1所述的方法,其中,所述根据所述性能值从所述令牌桶中确定目标令牌,包括:The method according to claim 1, wherein said determining the target token from the token bucket according to the performance value comprises:
    在接收到用户发送的数据请求的情况下,获取所述令牌桶中剩余令牌对应的CDN,确定为剩余CDN;In the case of receiving the data request sent by the user, obtain the CDN corresponding to the remaining token in the token bucket, and determine it as the remaining CDN;
    确定所述用户所在的目标特征群组,将所述目标特征群组在所述剩余CDN中的每个CDN上的性能值进行归一化处理;determining the target feature group where the user is located, and normalizing the performance value of the target feature group on each of the remaining CDNs;
    根据归一化的性能值确定所述目标令牌。The target token is determined based on the normalized performance value.
  3. 根据权利要求2所述的方法,其中,所述根据归一化的性能值确定所述目标令牌,包括:The method according to claim 2, wherein said determining said target token according to a normalized performance value comprises:
    根据所述归一化的性能值将设定数值范围划分为至少一个子范围;dividing the set numerical range into at least one sub-range according to the normalized performance value;
    建立所述剩余CDN中的至少一个CDN与所述至少一个子范围的一一对应关系;establishing a one-to-one correspondence between at least one CDN in the remaining CDNs and the at least one sub-range;
    在所述设定数值范围内生成一随机数,并确定所述随机数落入的目标子范围;generating a random number within the set value range, and determining a target subrange within which the random number falls;
    将所述目标子范围对应的CDN的令牌确定为所述目标令牌。Determining the token of the CDN corresponding to the target sub-range as the target token.
  4. 根据权利要求2所述的方法,其中,所述根据归一化的性能值确定所述目标令牌,包括:The method according to claim 2, wherein said determining said target token according to a normalized performance value comprises:
    将归一化后的性能值最高的CDN的令牌确定为所述目标令牌。The CDN token with the highest normalized performance value is determined as the target token.
  5. 根据权利要求1所述的方法,其中,所述确定所述多个特征群组分别与多个CDN中每个CDN对应的性能值,包括:The method according to claim 1, wherein the determining the performance values corresponding to each of the plurality of CDNs respectively for the plurality of feature groups comprises:
    获取所述多个特征群组分别在每个CDN上的历史运行参数;其中,运行参数包括首帧时间、卡顿信息、码率、带宽及往返时延;Acquiring historical operating parameters of the plurality of feature groups on each CDN respectively; wherein, the operating parameters include first frame time, freeze information, code rate, bandwidth and round-trip delay;
    根据所述历史运行参数确定所述多个特征群组分别在所述每个CDN上的性能值。Determining performance values of the plurality of feature groups on each of the CDNs according to the historical operating parameters.
  6. 根据权利要求5所述的方法,其中,所述根据所述历史运行参数确定所述多个特征群组分别在所述每个CDN上的性能值,包括:The method according to claim 5, wherein said determining the respective performance values of said plurality of feature groups on said each CDN according to said historical operating parameters comprises:
    调用第一方程对所述历史运行参数进行线性求解,获得所述多个特征群组分别在所述每个CDN上的性能值;或者,Calling the first equation to linearly solve the historical operating parameters to obtain the performance values of the multiple feature groups on each of the CDNs; or,
    调用第二方程对所述历史运行参数进行梯度下降求解,获得所述多个特征群组分别在所述每个CDN上的性能值。Invoking the second equation to perform a gradient descent solution on the historical operating parameters to obtain performance values of the plurality of feature groups on each of the CDNs.
  7. 根据权利要求1所述的方法,在所述根据所述性能值从所述令牌桶中确定目标令牌之后,还包括:The method according to claim 1, after determining the target token from the token bucket according to the performance value, further comprising:
    将所述目标令牌从所述令牌桶中抽出;extracting the target token from the token bucket;
    在所述令牌桶为空的情况下,返回执行所述将每个CDN对应的令牌按照设定比例投放至令牌桶中的操作。In the case that the token bucket is empty, return to the operation of putting the token corresponding to each CDN into the token bucket according to the set ratio.
  8. 一种内容分发网络CDN的调度装置,包括:A scheduling device for a content distribution network CDN, comprising:
    特征群组划分模块,设置为根据设定特征信息将多个用户划分为多个特征群组;The feature group division module is configured to divide multiple users into multiple feature groups according to the set feature information;
    性能值确定模块,设置为确定所述多个特征群组分别与多个CDN中每个CDN对应的性能值;A performance value determination module, configured to determine the performance values corresponding to each of the multiple CDNs for the multiple feature groups;
    令牌投放模块,设置为将每个CDN对应的令牌按照设定比例投放至令牌桶中;The token delivery module is set to deliver the token corresponding to each CDN into the token bucket according to the set ratio;
    目标令牌确定模块,设置为根据所述性能值从所述令牌桶中确定目标令牌,并调度所述目标令牌对应的CDN。The target token determining module is configured to determine the target token from the token bucket according to the performance value, and schedule the CDN corresponding to the target token.
  9. 一种电子设备,包括:An electronic device comprising:
    至少一个处理装置;at least one processing device;
    存储装置,设置为存储至少一个程序;a storage device configured to store at least one program;
    当所述至少一个程序被所述至少一个处理装置执行,使得所述至少一个处理装置实现如权利要求1-7中任一项所述的内容分发网络CDN的调度方法。When the at least one program is executed by the at least one processing device, the at least one processing device implements the CDN scheduling method according to any one of claims 1-7.
  10. 一种计算机可读介质,存储有计算机程序,其中,所述程序被处理装置执行时实现如权利要求1-7中任一项所述的内容分发网络CDN的调度方法。A computer-readable medium storing a computer program, wherein when the program is executed by a processing device, the CDN scheduling method according to any one of claims 1-7 is realized.
PCT/CN2022/091350 2021-05-21 2022-05-07 Cdn scheduling method, apparatus and device, and storage medium WO2022242470A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110560471.8 2021-05-21
CN202110560471.8A CN115378878B (en) 2021-05-21 2021-05-21 CDN scheduling method, device, equipment and storage medium

Publications (1)

Publication Number Publication Date
WO2022242470A1 true WO2022242470A1 (en) 2022-11-24

Family

ID=84059764

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/091350 WO2022242470A1 (en) 2021-05-21 2022-05-07 Cdn scheduling method, apparatus and device, and storage medium

Country Status (2)

Country Link
CN (1) CN115378878B (en)
WO (1) WO2022242470A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116723339A (en) * 2023-08-11 2023-09-08 腾讯科技(深圳)有限公司 Content data distribution method and device, storage medium and electronic equipment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102651033A (en) * 2012-04-09 2012-08-29 百度在线网络技术(北京)有限公司 Method and device for recommending online resource
CN107911722A (en) * 2017-10-31 2018-04-13 链家网(北京)科技有限公司 A kind of content distributing network dispatching method and device
CN109167812A (en) * 2018-08-02 2019-01-08 网宿科技股份有限公司 Evaluation services quality, the method for determining adjustable strategies, server and storage medium
CN110858844A (en) * 2018-08-22 2020-03-03 阿里巴巴集团控股有限公司 Service request processing method, control method, device, system and electronic equipment
US20200380050A1 (en) * 2019-06-03 2020-12-03 Wangsu Science & Technology Co., Ltd. Method for acquiring service data and converged cdn system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102143184B (en) * 2011-03-31 2013-08-28 华为技术有限公司 Authentication method, authentication device and authentication system for realizing CND (content delivery network) intercommunication
US9648125B2 (en) * 2013-10-04 2017-05-09 Akamai Technologies, Inc. Systems and methods for caching content with notification-based invalidation
CN106301966B (en) * 2016-10-25 2019-08-06 北京云端智度科技有限公司 A method of the proportional assignment flow based on domain name
TWI640194B (en) * 2017-04-17 2018-11-01 中華電信股份有限公司 Content delivery network audio and video service anti-theft connection method
KR102172056B1 (en) * 2019-10-11 2020-10-30 강원대학교산학협력단 Control method, apparatus and program of token-based caching system including icn router and content provider terminal
CN111290858B (en) * 2020-05-11 2020-08-11 腾讯科技(深圳)有限公司 Input/output resource management method, device, computer equipment and storage medium
CN112311597B (en) * 2020-10-28 2023-01-31 南京尚网网络科技有限公司 Message pushing method and device
CN112528262A (en) * 2020-12-10 2021-03-19 平安科技(深圳)有限公司 Application program access method, device, medium and electronic equipment based on token
CN112600761B (en) * 2020-12-11 2024-04-09 腾讯科技(深圳)有限公司 Resource allocation method, device and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102651033A (en) * 2012-04-09 2012-08-29 百度在线网络技术(北京)有限公司 Method and device for recommending online resource
CN107911722A (en) * 2017-10-31 2018-04-13 链家网(北京)科技有限公司 A kind of content distributing network dispatching method and device
CN109167812A (en) * 2018-08-02 2019-01-08 网宿科技股份有限公司 Evaluation services quality, the method for determining adjustable strategies, server and storage medium
CN110858844A (en) * 2018-08-22 2020-03-03 阿里巴巴集团控股有限公司 Service request processing method, control method, device, system and electronic equipment
US20200380050A1 (en) * 2019-06-03 2020-12-03 Wangsu Science & Technology Co., Ltd. Method for acquiring service data and converged cdn system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116723339A (en) * 2023-08-11 2023-09-08 腾讯科技(深圳)有限公司 Content data distribution method and device, storage medium and electronic equipment
CN116723339B (en) * 2023-08-11 2023-11-14 腾讯科技(深圳)有限公司 Content data distribution method and device, storage medium and electronic equipment

Also Published As

Publication number Publication date
CN115378878A (en) 2022-11-22
CN115378878B (en) 2023-11-14

Similar Documents

Publication Publication Date Title
JP7127010B2 (en) Resource allocation methods, apparatus, electronic equipment, computer readable media and computer programs
US20170126583A1 (en) Method and electronic device for bandwidth allocation based on online media services
CN110264262B (en) Data processing method and device based on user behavior and electronic equipment
WO2021082649A1 (en) List update method and apparatus, readable medium, and electronic device
CN110263276B (en) Message distribution method, device, equipment and storage medium
WO2023000888A1 (en) Cloud application implementing method and apparatus, electronic device, and storage medium
WO2022242470A1 (en) Cdn scheduling method, apparatus and device, and storage medium
CN114466226B (en) Bandwidth duration duty cycle determination method, device, equipment and computer readable medium
CN108764866B (en) Method and equipment for allocating resources and drawing resources
CN111371882B (en) Data sharing and releasing control method and device, electronic equipment and computer readable medium
JP2023031248A (en) Edge computing network, data transmission method, apparatus, device, and storage medium
CN111161072A (en) Block chain-based random number generation method, equipment and storage medium
WO2022242498A1 (en) Cdn scheduling method and apparatus, device and storage medium
WO2022048490A1 (en) Data processing method and apparatus, and electronic device
CN109614137B (en) Software version control method, device, equipment and medium
WO2022237428A1 (en) Method and apparatus for processing network request information, and device and storage medium
CN112307071A (en) Monitoring data acquisition method and device, electronic equipment and computer readable medium
CN113127550A (en) Information processing method, information processing device, electronic equipment and storage medium
CN112561301A (en) Work order distribution method, device, equipment and computer readable medium
CN113448717A (en) Resource scheduling method and device
CN111930331A (en) Information display method and device, electronic equipment and computer readable medium
CN112685455B (en) Real-time data classification display method and device, electronic equipment and readable medium
CN113190745B (en) Information sending method, information sending device, electronic equipment and computer readable medium
CN116319322B (en) Power equipment node communication connection method, device, equipment and computer medium
CN115002133B (en) Data transmission determining method and device based on multiple interfaces

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22803794

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE