WO2022242498A1 - Cdn的调度方法、装置、设备及存储介质 - Google Patents

Cdn的调度方法、装置、设备及存储介质 Download PDF

Info

Publication number
WO2022242498A1
WO2022242498A1 PCT/CN2022/091835 CN2022091835W WO2022242498A1 WO 2022242498 A1 WO2022242498 A1 WO 2022242498A1 CN 2022091835 W CN2022091835 W CN 2022091835W WO 2022242498 A1 WO2022242498 A1 WO 2022242498A1
Authority
WO
WIPO (PCT)
Prior art keywords
scheduling
cdn
matrix
probability
target
Prior art date
Application number
PCT/CN2022/091835
Other languages
English (en)
French (fr)
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 WO2022242498A1 publication Critical patent/WO2022242498A1/zh

Links

Images

Classifications

    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2181Source of audio or video content, e.g. local disk arrays comprising remotely distributed storage units, e.g. when movies are replicated over a plurality of video servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23103Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints

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 ensure the maximum 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
  • the performance parameter matrix acquisition module is configured to determine the performance parameters corresponding to each of the plurality of CDNs for each of the multiple feature groups, and obtain a performance parameter matrix;
  • the candidate scheduling probability matrix acquisition module is configured to initialize the scheduling probability of each feature group on each CDN, and obtain multiple candidate scheduling probability matrices;
  • a target probability matrix determination module configured to determine a target probability matrix from the plurality of candidate scheduling probability matrices according to the performance parameter matrix
  • a CDN scheduling module configured to schedule the multiple CDNs based on the target scheduling probability matrix.
  • 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 region, 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 performance parameter can reflect the performance of the feature group on the CDN. Assuming that feature groups include m and the number of CDNs includes n, the performance parameter matrix includes m*n elements. Assuming that the performance parameter matrix is represented by Q, and the elements in the performance parameter matrix are Q ij , then Q ij represents the performance parameter of the i-th feature group on the j-th CDN.
  • the method of determining the performance parameters of the multiple feature groups corresponding to each CDN in the multiple CDNs 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 Group performance parameters on each CDN separately.
  • the operating parameters include the 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 parameters of multiple feature groups on each CDN according to the historical operating parameters can be: call the set linear equation to linearly solve the historical operating parameters, and obtain the performance parameters of multiple feature groups on each CDN Performance parameters; or, call the set nonlinear equation to solve the historical operation parameters with gradient descent, and obtain the performance parameters of multiple feature groups on each CDN.
  • Set linear equations and set 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 scheduling probability matrix can be composed of the scheduling probability of each feature group on each CDN.
  • the scheduling probability matrix is represented by P, and the element in the scheduling probability matrix is P ij , then P ij means that the i-th feature group is at Scheduling probabilities on j CDNs.
  • the following conditions ie constraints
  • the scheduling probabilities of the feature group on multiple CDNs The sum is 1; the range of the scheduling probability is: 0 ⁇ scheduling probability ⁇ 1; for each CDN, the total scheduling probability of multiple feature groups on the CDN is equal to the set value.
  • the set value can be the traffic ratio between different CDNs initially agreed by the video provider.
  • the formula for calculating the total scheduling probability of multiple feature groups on one CDN is as follows: Among them, P j represents the total scheduling probability of the j-th CDN, p ij represents the scheduling probability of the i-th characteristic group on the j-th CDN, u i represents the number of users contained in the i-th characteristic group.
  • S140 Determine a target probability matrix from multiple candidate scheduling probability matrices according to the performance parameter matrix.
  • the manner of determining the target probability matrix from multiple candidate scheduling probability matrices according to the performance parameter matrix may be: determining the target probability matrix from the multiple candidate scheduling probability matrices according to the performance parameter matrix by using a linear programming method.
  • the way to determine the target probability matrix from multiple candidate scheduling probability matrices according to the performance parameter matrix can be: calculate the overall scheduling performance according to the performance parameter matrix and each candidate scheduling probability matrix; determine the candidate scheduling probability matrix corresponding to the maximum overall scheduling performance as Target scheduling probability matrix.
  • the method of calculating the overall scheduling performance according to the performance parameter matrix and each candidate scheduling probability matrix may be: performing point multiplication between the performance parameter matrix and each candidate scheduling probability matrix to obtain the overall scheduling performance.
  • the multiple candidate scheduling probability matrices and the performance parameter matrices are input into the calculation formula of the above-mentioned overall scheduling performance, and the multiple candidate scheduling probability matrices respectively corresponding to The overall scheduling performance, and finally the candidate scheduling probability matrix corresponding to the maximum overall scheduling performance is determined as the target scheduling probability matrix.
  • the target scheduling probability matrix represents the scheduling probability of multiple feature groups on each CDN.
  • the process of scheduling multiple CDNs based on the target scheduling probability matrix can be: when receiving the data request of the target user, determine the characteristic group where the target user is located; determine the characteristic group where the target user is located according to the target scheduling probability matrix.
  • CDN_A is scheduled with a probability of 20%
  • CDN_B with a probability of 30%
  • CDN_C with a probability of 50%
  • multiple users are divided into multiple feature groups according to the set feature information; performance parameters corresponding to each of the multiple CDNs in the multiple feature groups are determined, and a performance parameter matrix is obtained;
  • the CDN scheduling method provided by the embodiments of the present disclosure determines the target probability matrix based on the performance parameter matrix determined by the performance parameters of multiple feature groups corresponding to each CDN and multiple candidate scheduling probability matrices, and the target probability matrix is based on the target scheduling probability matrix.
  • Multiple CDNs are scheduled, and CDNs can be scheduled flexibly to ensure maximum CDN performance.
  • FIG. 2 is a schematic structural diagram of a CDN scheduling device provided by an embodiment of the present disclosure. As shown in FIG. 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 parameter matrix acquisition module 220 is configured to determine the relationship between the plurality of characteristic groups and each CDN in the plurality of CDNs respectively. The corresponding performance parameter obtains the performance parameter matrix; the candidate scheduling probability matrix acquisition module 230 is set to initialize the scheduling probability of each feature group on each CDN, and obtains multiple candidate scheduling probability matrices; the target probability matrix determination module 240, It is configured to determine a target probability matrix from multiple candidate scheduling probability matrices according to the performance parameter matrix; the CDN scheduling module 250 is configured to schedule multiple CDNs based on the target scheduling probability matrix.
  • the target probability matrix determination module 240 is set to:
  • the overall scheduling performance is calculated according to the performance parameter matrix and each candidate scheduling probability matrix; the candidate scheduling probability matrix corresponding to the maximum overall scheduling performance is determined as the target scheduling probability matrix.
  • the target probability matrix determination module 240 is configured to calculate the overall scheduling performance according to the performance parameter matrix and each candidate scheduling probability matrix in the following manner, including:
  • the performance parameter matrix is dot-multiplied by each candidate scheduling probability matrix to obtain the overall scheduling performance.
  • the performance parameter matrix acquisition 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 parameters on each CDN.
  • the performance parameter matrix acquisition module 220 is configured to determine the performance parameters of multiple feature groups on each CDN according to historical operating parameters in the following manner:
  • the candidate scheduling probability matrix satisfies the following conditions:
  • the sum of the scheduling probabilities of each feature group on multiple CDNs is 1; the range of scheduling probability is: 0 ⁇ scheduling probability ⁇ 1; The total scheduling probability on each CDN is equal to the set value.
  • the CDN scheduling module 250 is set to:
  • determine the feature group where the target user is located When receiving the data request of the target user, determine the feature group where the target user is located; determine the target scheduling probability of the feature group where the target user is located in each CDN according to the target scheduling probability matrix; Scheduling multiple CDNs.
  • 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 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 The plurality of characteristic groups are respectively associated with the performance parameters corresponding to each CDN in the plurality of CDNs, and the performance parameter matrix is obtained; the scheduling probability of each characteristic group on each CDN is initialized, and a plurality of candidate scheduling probability matrices are obtained; according to The performance parameter matrix determines a target probability matrix from the multiple candidate scheduling probability matrices; and schedules the multiple CDNs based on the target scheduling probability matrix.
  • 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 a target probability matrix from the plurality of candidate scheduling probability matrices according to the performance parameter matrix includes:
  • the candidate scheduling probability matrix corresponding to the maximum overall scheduling performance is determined as the target scheduling probability matrix.
  • Calculating the overall scheduling performance according to the performance parameter matrix and each candidate scheduling probability matrix including:
  • Determining the performance parameters corresponding to each of the multiple CDNs in the multiple feature groups including:
  • the operating parameters include first frame time, freeze information, code rate, bandwidth and round-trip delay;
  • Determining the performance parameters of the plurality of feature groups on each CDN according to the historical operation parameters including:
  • the candidate scheduling probability matrix satisfies the following conditions:
  • the sum of the scheduling probabilities of each feature group on the multiple CDNs is 1;
  • the range of the scheduling probability is: 0 ⁇ scheduling probability ⁇ 1;
  • the total scheduling probability of the multiple feature groups on each CDN is equal to a set value.
  • Scheduling the multiple CDNs based on the target scheduling probability matrix includes:

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Operations Research (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种CDN的调度方法、装置、设备及存储介质。CDN的调度方法包括:根据设定特征信息将多个用户划分为多个特征群组;确定多个特征群组分别与多个CDN中每个CDN对应的性能参数,获得性能参数矩阵;初始化每个特征群组在每个CDN上的调度概率,获得多个候选调度概率矩阵;根据性能参数矩阵从多个候选调度概率矩阵中确定目标调度概率矩阵;基于目标调度概率矩阵对多个CDN进行调度。

Description

CDN的调度方法、装置、设备及存储介质
本申请要求在2021年05月21日提交中国专利局、申请号为202110560298.1的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。
技术领域
本公开涉及数据处理技术领域,例如涉及一种内容分发网络(Content Delivery Network,CDN)的调度方法、装置、设备及存储介质。
背景技术
对于以视频业务为主的应用程序来说,底层的互联网流量是惊人的。为了能够给数以亿计的用户提供视频播放服务,视频提供方往往会将用户上传的视频经过编码处理后转存到CDN上。当用户请求视频播放时,视频平台将会返回一个在CDN上下载该视频的地址。用户将直接从CDN上下载视频。
对于大型的视频提供方,由于数据量巨大,以及需要服务的地区众多。在市面上任何一家CDN厂商提供的CDN都难以单独支撑起所有的视频流量。因此,对于视频提供方来说,唯一的选择就是同时采用多家CDN厂商提供的CDN进行视频的传输,且每家CDN厂商提供的CDN被分配一定比例的CDN流量。所有的CDN厂商提供的CDN承担100%的视频业务方的流量。
在相关技术中,主要采用按照CDN购买流量比例随机分配CDN的调度算法。这种方式无法将CDN的性能发挥至最优。
发明内容
本公开提供一种CDN的调度方法、装置、设备及存储介质,可以灵活地调度CDN,保证CDN性能最大化。
本公开提供了一种CDN的调度方法,包括:
根据设定特征信息将多个用户划分为多个特征群组;
确定所述多个特征群组分别与多个CDN中每个CDN对应的性能参数,获得性能参数矩阵;
初始化每个特征群组在每个CDN上的调度概率,获得多个候选调度概率矩阵;
根据所述性能参数矩阵从所述多个候选调度概率矩阵中确定目标概率矩 阵;
基于所述目标调度概率矩阵对所述多个CDN进行调度。
本公开还提供了一种CDN的调度装置,包括:
特征群组划分模块,设置为根据设定特征信息将多个用户划分为多个特征群组;
性能参数矩阵获取模块,设置为确定所述多个特征群组分别与多个CDN中每个CDN对应的性能参数,获得性能参数矩阵;
候选调度概率矩阵获取模块,设置为初始化每个特征群组在每个CDN上的调度概率,获得多个候选调度概率矩阵;
目标概率矩阵确定模块,设置为根据所述性能参数矩阵从所述多个候选调度概率矩阵中确定目标概率矩阵;
CDN调度模块,设置为基于所述目标调度概率矩阵对所述多个CDN进行调度。
本公开还提供了一种电子设备,所述电子设备包括:
一个或多个处理装置;
存储装置,设置为存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现上述的CDN的调度方法。
本公开还提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现上述的CDN的调度方法。
附图说明
图1是本公开实施例提供的一种CDN的调度方法的流程图;
图2是本公开实施例提供的一种CDN的调度装置的结构示意图;
图3是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图描述本公开的实施例。虽然附图中显示了本公开的一些实施例,然而,本公开可以通过多种形式来实现,提供这些实施例是为了理解本公开。本公开的附图及实施例仅用于示例性作用。
本公开的方法实施方式中记载的多个步骤可以按照不同的顺序执行,和/或 并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
相关技术中,主要采用按照CDN购买流量比例随机分配CDN的调度算法。譬如说三家CDN厂商CDN_A,CDN_B,CDN_C,约定各自流量的占比为20%,50%,30%。当出现一个新的用户请求的时候,则以20%的概率返回CDN_A,50%的概率返回CDN_B,以及30%的概率返回CDN_C。当用户数量足够大时,整体的流量比例就会符合约定的流量占比。
相关技术存在如下缺陷:1、尽管这样的分配比例能够保证整体的分配比例符合最初给定的CDN流量配比,但忽略了CDN在不同地区的性能是不同的。通常情况下,由于不同CDN厂商设定的Edge-CDN节点的地理位置不同,不同Edge-CDN节点的服务器中央处理器(Central Processing Unit,CPU)、带宽性能不同。不同CDN厂商提供的CDN在同一地区提供服务时,性能不总是相等的。由于相关技术中采用的是基于约定流量配比分配CDN的方式,没有考虑到如何利用上述信息实现在整体上为用户提供更好的CDN性能。2、不同的用户请求的重要性是不一样的,譬如说用户打开应用程序(Application,APP)的第一个视频时由于没有缓存,所以出现卡顿的风险更高,为用户配置一个性能较好的CDN会对整体的性能指标有所提升。此外,不同人群的播放体验对视频提供方的重要性也不一样,譬如说新用户对APP的粘性相较于老用户对APP的粘性更低,因此较小的播放质量问题就可能导致新用户不使用该APP,所以应该为新用户分配性能更优的CDN以确保更流畅的播放体验。
图1是本公开实施例提供的一种CDN的调度方法的流程图,本实施例可适用于对CDN进行调度的情况,该方法可以由CDN的调度装置来执行,该装置 可由硬件和/或软件组成,并一般可集成在具有CDN的调度功能的设备中,该设备可以是服务器、移动终端或服务器集群等电子设备。如图1所示,该方法包括:
S110,根据设定特征信息将多个用户划分为多个特征群组。
用户可以理解为使用当前APP的所有用户。设定特征信息可以包括用户所在地区,互联网服务提供商(Internet Service Provider,ISP)、使用的网络类型(WiFi或者移动网络)等。可以根据设定特征信息对多个用户进行聚类划分,获得多个特征群组。本实施例中,可以将相同设定特征信息超过设定比例的用户划分为同一个特征群组。示例性的,假设设定特征信息共有N个,将具有相同设定特征信息超过80%N的用户归为同一特征群组。
S120,确定多个特征群组分别与多个CDN中每个CDN对应的性能参数,获得性能参数矩阵。
性能参数可以反映特征群组在CDN上的性能。假设特征群组包括m个,CDN的数量包括n个,则性能参数矩阵包含m*n个元素。假设性能参数矩阵由Q表征,性能参数矩阵中的元素为Q ij,则Q ij表示第i个特征群组在第j个CDN上的性能参数。
确定多个特征群组分别与多个CDN中每个CDN对应的性能参数的方式可以是:获取多个特征群组分别在每个CDN上的历史运行参数;根据历史运行参数确定多个特征群组分别在每个CDN上的性能参数。
运行参数包括首帧时间、卡顿信息、码率、带宽及往返时延。历史运行参数可以是在设定历史时间段内采集的每个特征群组在每个CDN上运行时的参数的平均值。设定历史时间段可以是近一周或者近一个月等。采集参数时可以采用每隔设定时长为一个周期进行采集,例如:每隔5分钟采集一次。
根据历史运行参数确定多个特征群组分别在每个CDN上的性能参数的方式可以是:调用设定线性方程对历史运行参数进行线性求解,获得多个特征群组分别在每个CDN上的性能参数;或者,调用设定非线性方程对历史运行参数进行梯度下降求解,获得多个特征群组分别在每个CDN上的性能参数。
设定线性方程和设定非线性方程可以从函数库中进行调用。本实施例中,对于线性方程和非线性方程不做限定。
S130,初始化每个特征群组在每个CDN上的调度概率,获得多个候选调度概率矩阵。
调度概率矩阵可以是由每个特征群组在每个CDN上的调度概率组成,假设 调度概率矩阵由P表示,调度概率矩阵中元素为P ij,则P ij表示第i个特征群组在第j个CDN上的调度概率。本实施例中,在初始化每个特征群组在每个CDN上的调度概率时,需要满足如下条件(即约束条件):对于每个特征群组,特征群组在多个CDN上的调度概率之和为1;调度概率的范围为:0≤调度概率≤1;对于每个CDN,多个特征群组在CDN上的总调度概率等于设定值。
设定值可以是视频提供方初始约定的不同CDN间的流量比例。多个特征群组在一个CDN上的总调度概率的计算公式如下:
Figure PCTCN2022091835-appb-000001
其中,P j表示第j个CDN的总调度概率,p ij表示第i个特征群组在第j个CDN上的调度概率,u i表示第i个特征群组包含的用户数。
S140,根据性能参数矩阵从多个候选调度概率矩阵中确定目标概率矩阵。
根据性能参数矩阵从多个候选调度概率矩阵中确定目标概率矩阵的方式可以是:根据性能参数矩阵利用线性规划的方法从多个候选调度概率矩阵中确定目标概率矩阵。
根据性能参数矩阵从多个候选调度概率矩阵中确定目标概率矩阵的方式可以是:根据性能参数矩阵和每个候选调度概率矩阵计算整体调度性能;将最大整体调度性能对应的候选调度概率矩阵确定为目标调度概率矩阵。
根据性能参数矩阵和每个候选调度概率矩阵计算整体调度性能的方式可以是:将性能参数矩阵和每个候选调度概率矩阵进行点乘,获得整体调度性能。本实施例中,可以按照如下公式计算整体调度性能:N=∑I·Q·U·P;其中,I为单位矩阵;Q为性能参数矩阵,由元素Q ij组成,且Q ij表示第i个特征群组在第j个CDN上的性能参数;U为用户数量向量,由元素U i组成,且U i表示第i个特征群组包含的用户数量;P表示候选概率矩阵,由元素P ij组成,且P ij表示第i个特征群组在第j个CDN上的调度概率。
本实施例中,在根据上述约束条件初始化出多个候选调度概率矩阵后,将多个候选调度概率矩阵和性能参数矩阵输入上述整体调度性能的计算公式,获得多个候选调度概率矩阵分别对应的整体调度性能,最后将最大整体调度性能对应的候选调度概率矩阵确定为目标调度概率矩阵。
S150,基于目标调度概率矩阵对多个CDN进行调度。
目标调度概率矩阵表征了多个特征群组在每个CDN上的调度概率。
基于目标调度概率矩阵对多个CDN进行调度的过程可以是:当接收到目标用户的数据请求时,确定目标用户所在的特征群组;根据目标调度概率矩阵确 定目标用户所在的特征群组在每个CDN的目标调度概率;根据每个目标调度概率为目标用户调度多个CDN。
示例性的,假设有三个CDN,分别为CDN_A,CDN_B和CDN_C,根据目标调度概率矩阵可以确定目标用户所在特征群组在这三个CDN的目标调度概率分别为20%、30%和50%,则对于目标用户的数据请求,以20%的概率调度CDN_A,30%的概率调度CDN_B,以及50%的概率调度CDN_C。
本公开实施例的技术方案,根据设定特征信息将多个用户划分为多个特征群组;确定多个特征群组分别与多个CDN中每个CDN对应的性能参数,获得性能参数矩阵;初始化每个特征群组在每个CDN上的调度概率,获得多个候选调度概率矩阵;根据性能参数矩阵从多个候选调度概率矩阵中确定目标概率矩阵;基于目标调度概率矩阵对多个CDN进行调度。本公开实施例提供的CDN的调度方法,基于由多个特征群组分别与每个CDN对应的性能参数确定的性能参数矩阵以及多个候选调度概率矩阵确定目标概率矩阵,基于目标调度概率矩阵对多个CDN进行调度,可以灵活地调度CDN,保证CDN性能最大化。
图2是本公开实施例提供的一种CDN的调度装置的结构示意图,如图2所示,该装置包括:
特征群组划分模块210,设置为根据设定特征信息将多个用户划分为多个特征群组;性能参数矩阵获取模块220,设置为确定多个特征群组分别与多个CDN中每个CDN对应的性能参数,获得性能参数矩阵;候选调度概率矩阵获取模块230,设置为初始化每个特征群组在每个CDN上的调度概率,获得多个候选调度概率矩阵;目标概率矩阵确定模块240,设置为根据性能参数矩阵从多个候选调度概率矩阵中确定目标概率矩阵;CDN调度模块250,设置为基于目标调度概率矩阵对多个CDN进行调度。
可选的,目标概率矩阵确定模块240,设置为:
根据性能参数矩阵和每个候选调度概率矩阵计算整体调度性能;将最大整体调度性能对应的候选调度概率矩阵确定为目标调度概率矩阵。
可选的,目标概率矩阵确定模块240设置为通过如下方式根据性能参数矩阵和每个候选调度概率矩阵计算整体调度性能,包括:
将性能参数矩阵和每个候选调度概率矩阵进行点乘,获得整体调度性能。
可选的,性能参数矩阵获取模块220,设置为:
获取多个特征群组分别在每个CDN上的历史运行参数;其中,运行参数包括首帧时间、卡顿信息、码率、带宽及往返时延;根据历史运行参数确定多个特征群组分别在每个CDN上的性能参数。
可选的,性能参数矩阵获取模块220设置为通过如下方式根据历史运行参数确定多个特征群组分别在每个CDN上的性能参数:
调用设定线性方程对历史运行参数进行线性求解,获得多个特征群组分别在每个CDN上的性能参数;或者,调用设定非线性方程对历史运行参数进行梯度下降求解,获得多个特征群组分别在每个CDN上的性能参数。
可选的,候选调度概率矩阵满足如下条件:
对于每个特征群组,每个特征群组在多个CDN上的调度概率之和为1;调度概率的范围为:0≤调度概率≤1;对于每个CDN,多个特征群组在每个CDN上的总调度概率等于设定值。
可选的,CDN调度模块250,设置为:
当接收到目标用户的数据请求时,确定目标用户所在的特征群组;根据目标调度概率矩阵确定目标用户所在的特征群组在每个CDN的目标调度概率;根据每个目标调度概率为目标用户调度多个CDN。
上述装置可执行本公开前述所有实施例所提供的方法,具备执行上述方法相应的功能模块和效果。未在本实施例中详尽描述的技术细节,可参见本公开前述所有实施例所提供的方法。
下面参考图3,其示出了适于用来实现本公开实施例的电子设备300的结构示意图。本公开实施例中的电子设备300可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(Personal Digital Assistant,PDA)、平板电脑(PAD)、便携式多媒体播放器(Portable Media Player,PMP)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字电视(Television,TV)、台式计算机等等的固定终端,或者多种形式的服务器,如独立服务器或者服务器集群。图3示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图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。
通常,以下装置可以连接至I/O接口305:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置306;包括例如液晶显 示器(Liquid Crystal Display,LCD)、扬声器、振动器等的输出装置307;包括例如磁带、硬盘等的存储装置308;以及通信装置309。通信装置309可以允许电子设备300与其他设备进行无线或有线通信以交换数据。虽然图3示出了具有多种装置的电子设备300,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行词语的推荐方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置309从网络上被下载和安装,或者从存储装置308被安装,或者从ROM 302被安装。在该计算机程序被处理装置301执行时,执行本公开实施例的方法中限定的上述功能。
本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、RAM、ROM、可擦式可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如超文本传输协议(HyperText Transfer Protocol,HTTP)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(Local Area Network,LAN),广域网(Wide Area Network,WAN),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:根据设定特征信息将多个用户划分为多个特征群组;确定所述多个特征群组分别与多个CDN中每个CDN对应的性能参数,获得性能参数矩阵;初始化每个特征群组在每个CDN上的调度概率,获得多个候选调度概率矩阵;根据所述性能参数矩阵从所述多个候选调度概率矩阵中确定目标概率矩阵;基于所述目标调度概率矩阵对所述多个CDN进行调度。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括LAN或WAN—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开多种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在一种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(Field Programmable Gate Array,FPGA)、专用集成电路(Application Specific  Integrated Circuit,ASIC)、专用标准产品(Application Specific Standard Parts,ASSP)、片上系统(System on Chip,SOC)、复杂可编程逻辑设备(Complex Programmable Logic Device,CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、RAM、ROM、EPROM或快闪存储器、光纤、CD-ROM、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开实施例的一个或多个实施例,本公开实施例公开了一种CDN的调度方法,包括:
根据设定特征信息将多个用户划分为多个特征群组;
确定所述多个特征群组分别与多个CDN中每个CDN对应的性能参数,获得性能参数矩阵;
初始化每个特征群组在每个CDN上的调度概率,获得多个候选调度概率矩阵;
根据所述性能参数矩阵从所述多个候选调度概率矩阵中确定目标概率矩阵;
基于所述目标调度概率矩阵对所述多个CDN进行调度。
根据所述性能参数矩阵从所述多个候选调度概率矩阵中确定目标概率矩阵,包括:
根据所述性能参数矩阵和每个候选调度概率矩阵计算整体调度性能;
将最大整体调度性能对应的候选调度概率矩阵确定为所述目标调度概率矩阵。
根据所述性能参数矩阵和每个候选调度概率矩阵计算整体调度性能,包括:
将所述性能参数矩阵和所述每个候选调度概率矩阵进行点乘,获得所述整体调度性能。
确定所述多个特征群组分别与多个CDN中每个CDN对应的性能参数,包括:
获取所述多个特征群组分别在每个CDN上的历史运行参数;其中,运行参数包括首帧时间、卡顿信息、码率、带宽及往返时延;
根据所述历史运行参数确定所述多个特征群组分别在所述每个CDN上的性能参数。
根据所述历史运行参数确定所述多个特征群组分别在所述每个CDN上的性能参数,包括:
调用设定线性方程对所述历史运行参数进行线性求解,获得所述多个特征群组分别在所述每个CDN上的性能参数;或者,
调用设定非线性方程对所述历史运行参数进行梯度下降求解,获得所述多个特征群组分别在所述每个CDN上的性能参数。
所述候选调度概率矩阵满足如下条件:
对于每个特征群组,所述每个特征群组在所述多个CDN上的调度概率之和为1;
所述调度概率的范围为:0≤调度概率≤1;
对于每个CDN,所述多个特征群组在所述每个CDN上的总调度概率等于设定值。
基于所述目标调度概率矩阵对所述多个CDN进行调度,包括:
当接收到目标用户的数据请求时,确定所述目标用户所在的特征群组;
根据目标调度概率矩阵确定所述目标用户所在的特征群组在每个CDN的目标调度概率;
根据每个目标调度概率为所述目标用户调度所述多个CDN。

Claims (10)

  1. 一种内容分发网络CDN的调度方法,包括:
    根据设定特征信息将多个用户划分为多个特征群组;
    确定所述多个特征群组分别与多个CDN中每个CDN对应的性能参数,获得性能参数矩阵;
    初始化每个特征群组在每个CDN上的调度概率,获得多个候选调度概率矩阵;
    根据所述性能参数矩阵从所述多个候选调度概率矩阵中确定目标概率矩阵;
    基于所述目标调度概率矩阵对所述多个CDN进行调度。
  2. 根据权利要求1所述的方法,其中,所述根据所述性能参数矩阵从所述多个候选调度概率矩阵中确定目标概率矩阵,包括:
    根据所述性能参数矩阵和每个候选调度概率矩阵计算整体调度性能;
    将最大整体调度性能对应的候选调度概率矩阵确定为所述目标调度概率矩阵。
  3. 根据权利要求2所述的方法,其中,所述根据所述性能参数矩阵和每个候选调度概率矩阵计算整体调度性能,包括:
    将所述性能参数矩阵和所述每个候选调度概率矩阵进行点乘,获得所述整体调度性能。
  4. 根据权利要求1所述的方法,其中,所述确定所述多个特征群组分别与多个CDN中每个CDN对应的性能参数,包括:
    获取所述多个特征群组分别在每个CDN上的历史运行参数;其中,运行参数包括首帧时间、卡顿信息、码率、带宽及往返时延;
    根据所述历史运行参数确定所述多个特征群组分别在所述每个CDN上的性能参数。
  5. 根据权利要求4所述的方法,其中,所述根据所述历史运行参数确定所述多个特征群组分别在所述每个CDN上的性能参数,包括:
    调用设定线性方程对所述历史运行参数进行线性求解,获得所述多个特征群组分别在所述每个CDN上的性能参数;或者,
    调用设定非线性方程对所述历史运行参数进行梯度下降求解,获得所述多个特征群组分别在所述每个CDN上的性能参数。
  6. 根据权利要求1所述的方法,其中,所述候选调度概率矩阵满足如下条 件:
    对于每个特征群组,所述每个特征群组在所述多个CDN上的调度概率之和为1;
    所述调度概率大于或等于0且小于或等于1;
    对于每个CDN,所述多个特征群组在所述每个CDN上的总调度概率等于设定值。
  7. 根据权利要求1所述的方法,其中,所述基于所述目标调度概率矩阵对所述多个CDN进行调度,包括:
    在接收到目标用户的数据请求的情况下,确定所述目标用户所在的特征群组;
    根据目标调度概率矩阵确定所述目标用户所在的特征群组在每个CDN的目标调度概率;
    根据每个目标调度概率为所述目标用户调度所述多个CDN。
  8. 一种内容分发网络CDN的调度装置,包括:
    特征群组划分模块,设置为根据设定特征信息将多个用户划分为多个特征群组;
    性能参数矩阵获取模块,设置为确定所述多个特征群组分别与多个CDN中每个CDN对应的性能参数,获得性能参数矩阵;
    候选调度概率矩阵获取模块,设置为初始化每个特征群组在每个CDN上的调度概率,获得多个候选调度概率矩阵;
    目标概率矩阵确定模块,设置为根据所述性能参数矩阵从所述多个候选调度概率矩阵中确定目标概率矩阵;
    CDN调度模块,设置为基于所述目标调度概率矩阵对所述多个CDN进行调度。
  9. 一种电子设备,包括:
    至少一个处理装置;
    存储装置,设置为存储至少一个程序;
    当所述至少一个程序被所述至少一个处理装置执行,使得所述至少一个处理装置实现如权利要求1-7中任一项所述的内容分发网络CDN的调度方法。
  10. 一种计算机可读介质,存储有计算机程序,其中,所述程序被处理装 置执行时实现如权利要求1-7中任一项所述的内容分发网络CDN的调度方法。
PCT/CN2022/091835 2021-05-21 2022-05-10 Cdn的调度方法、装置、设备及存储介质 WO2022242498A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110560298.1 2021-05-21
CN202110560298.1A CN115379243B (zh) 2021-05-21 2021-05-21 Cdn的调度方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
WO2022242498A1 true WO2022242498A1 (zh) 2022-11-24

Family

ID=84059633

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/091835 WO2022242498A1 (zh) 2021-05-21 2022-05-10 Cdn的调度方法、装置、设备及存储介质

Country Status (2)

Country Link
CN (1) CN115379243B (zh)
WO (1) WO2022242498A1 (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104320672A (zh) * 2014-09-24 2015-01-28 中国人民解放军理工大学 Cdn-p2p混合架构下的直播流媒体系统资源调度方法
CN107948004A (zh) * 2017-12-29 2018-04-20 北京奇艺世纪科技有限公司 一种视频cdn调取优化方法及装置
CN109040190A (zh) * 2018-07-02 2018-12-18 咪咕文化科技有限公司 一种调度方法、装置及计算机可读存储介质
CN109802847A (zh) * 2017-11-17 2019-05-24 阿里巴巴集团控股有限公司 一种网络传输服务质量的分析方法、装置
CN110278254A (zh) * 2019-06-12 2019-09-24 深圳梨享计算有限公司 用于FogCDN场景的调度方法及调度端
CN110753250A (zh) * 2019-10-30 2020-02-04 烽火通信科技股份有限公司 一种内容分发网络的就近调度方法及系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104348798B (zh) * 2013-07-31 2019-03-15 深圳市腾讯计算机系统有限公司 一种分配网络的方法、装置、调度服务器和系统
CN107231436B (zh) * 2017-07-14 2021-02-02 网宿科技股份有限公司 一种进行业务调度的方法和装置
CN110191186A (zh) * 2019-06-04 2019-08-30 湖北五五互联科技有限公司 Cdn服务器调度方法、设备及计算机可读存储介质
CN111209478A (zh) * 2020-01-03 2020-05-29 京东数字科技控股有限公司 任务推送方法及装置、存储介质及电子设备
CN112506669B (zh) * 2021-01-29 2021-06-18 浙江大华技术股份有限公司 任务分配方法和装置、存储介质及电子设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104320672A (zh) * 2014-09-24 2015-01-28 中国人民解放军理工大学 Cdn-p2p混合架构下的直播流媒体系统资源调度方法
CN109802847A (zh) * 2017-11-17 2019-05-24 阿里巴巴集团控股有限公司 一种网络传输服务质量的分析方法、装置
CN107948004A (zh) * 2017-12-29 2018-04-20 北京奇艺世纪科技有限公司 一种视频cdn调取优化方法及装置
CN109040190A (zh) * 2018-07-02 2018-12-18 咪咕文化科技有限公司 一种调度方法、装置及计算机可读存储介质
CN110278254A (zh) * 2019-06-12 2019-09-24 深圳梨享计算有限公司 用于FogCDN场景的调度方法及调度端
CN110753250A (zh) * 2019-10-30 2020-02-04 烽火通信科技股份有限公司 一种内容分发网络的就近调度方法及系统

Also Published As

Publication number Publication date
CN115379243B (zh) 2024-02-27
CN115379243A (zh) 2022-11-22

Similar Documents

Publication Publication Date Title
CN110264262B (zh) 基于用户行为的数据处理方法、装置及电子设备
WO2021082649A1 (zh) 榜单更新方法、装置、可读介质和电子设备
WO2021139383A1 (zh) 直播间礼物资源更新方法、装置、介质及电子设备
CN112637287B (zh) 负载均衡方法及设备
CN110535661B (zh) 基于区块链的业务处理方法、装置、电子设备和存储介质
WO2023000888A1 (zh) 云应用的实现方法、装置、电子设备和存储介质
CN111580974B (zh) Gpu实例分配方法、装置、电子设备和计算机可读介质
CN112954354A (zh) 视频的转码方法、装置、设备和介质
WO2022228390A1 (zh) 媒体内容处理方法、装置、设备和存储介质
WO2022242470A1 (zh) Cdn的调度方法、装置、设备及存储介质
WO2022057727A1 (zh) 网络质量确定方法、装置、电子设备和可读存储介质
WO2021114981A1 (zh) 视频播放页面显示方法、装置、电子设备和介质
WO2022242498A1 (zh) Cdn的调度方法、装置、设备及存储介质
WO2023197811A1 (zh) 视频下载、传输方法、装置、终端设备、服务器及介质
CN112561301A (zh) 工单分配方法、装置、设备和计算机可读介质
CN116594568A (zh) 一种数据存储方法、装置、电子设备及存储介质
JP2023031248A (ja) エッジコンピューティングネットワーク、データ伝送方法、装置、機器、及び記憶媒体
CN112100211B (zh) 数据存储方法、装置、电子设备和计算机可读介质
CN111756833B (zh) 节点处理方法、装置、电子设备及计算机可读介质
CN110119364B (zh) 一种输入/输出批量提交的方法和系统
CN114760506B (zh) 视频转码的评估方法、装置、设备及存储介质
CN112685455B (zh) 实时数据分类显示方法、装置、电子设备和可读介质
WO2022237428A1 (zh) 网络请求信息的处理方法、装置、设备及存储介质
CN115348460B (zh) 视频的预加载方法、装置、设备及存储介质
CN116319322B (zh) 电力设备节点通信连接方法、装置、设备和计算机介质

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: 22803820

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE