CN108093272B - Video CDN scheduling optimization method and device - Google Patents

Video CDN scheduling optimization method and device Download PDF

Info

Publication number
CN108093272B
CN108093272B CN201711487913.0A CN201711487913A CN108093272B CN 108093272 B CN108093272 B CN 108093272B CN 201711487913 A CN201711487913 A CN 201711487913A CN 108093272 B CN108093272 B CN 108093272B
Authority
CN
China
Prior art keywords
scheduling
video server
area
preset
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711487913.0A
Other languages
Chinese (zh)
Other versions
CN108093272A (en
Inventor
丁浩
何广
吴岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201711487913.0A priority Critical patent/CN108093272B/en
Publication of CN108093272A publication Critical patent/CN108093272A/en
Application granted granted Critical
Publication of CN108093272B publication Critical patent/CN108093272B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • 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

Abstract

The invention provides a video CDN scheduling optimization method and device, which are applied to a scheduling server and used for integrating a target scheduling server requested by a client on the basis of flow control. And the target scheduling server is determined by the client based on the actual downloading speed of the client. Therefore, the video servers are uniformly distributed to the scheduling requests which are not scheduled urgently, the requirements of flow and downloading speed can be met to the greatest extent, and the problem that the scheduling servers cannot give consideration to both the downloading speed and the flow control is relieved and even avoided.

Description

Video CDN scheduling optimization method and device
Technical Field
The invention relates to the technical field of mobile communication, in particular to a video CDN scheduling optimization method and device.
Background
A video CDN (Content Delivery Network) system is a system capable of providing a video streaming service. In a video CDN system, a scheduling server functions to specify a video server for downloading a video file fragment for a user.
At present, there are two scheduling strategies commonly used by a scheduling server, one of the commonly used scheduling strategies is a flow control strategy, and the other scheduling strategy is a scheduling strategy based on a user downloading speed. For the first scheduling strategy, the scheduling server allocates video servers to users according to the flow control proportion in a certain scheduling area, but the client is easy to play and pause because the downloading speed is not considered. For the second scheduling strategy, the scheduling server allocates video servers to users according to the actual download speed, but since strict flow control is not performed, the servers are prone to various faults.
Disclosure of Invention
In view of this, the present invention provides a video CDN scheduling optimization method and apparatus, so as to solve the problem that a scheduling server cannot give consideration to both download speed and flow control by using an existing scheduling policy. The technical scheme is as follows:
a video CDN scheduling optimization method is applied to a scheduling server and comprises the following steps:
when a scheduling request which is sent by a client and carries a target video server label and an emergency parameter is received, determining a target scheduling area where the client is located, wherein the target video server label is used for identifying a video server predetermined by the client, and the emergency parameter is used for representing the scheduling emergency degree;
if the target scheduling area is in a predetermined optimized scheduling area list and the emergency parameter is a first emergency parameter for representing non-emergency scheduling, extracting the scheduling request;
generating a scheduling request queue formed by the scheduling requests;
and distributing a video server for the scheduling request in the scheduling request queue according to a preset flow upper limit value of the video server in the target scheduling area and the target video server label, and sending the distributed label of the video server to the client corresponding to the scheduling request.
Preferably, the process of predetermining the optimized scheduling area list includes:
calling access log data of a video server in a preset scheduling area;
calculating an average downloading speed value and a comprehensive downloading speed evaluation value of the video server in the preset scheduling area according to the access log data;
judging whether the preset scheduling area meets a preset area optimization rule or not according to the average downloading speed value and the comprehensive downloading speed evaluation value;
if the preset scheduling area meets the preset area optimization rule, determining the preset scheduling area as an optimized scheduling area;
and generating an optimized scheduling area list consisting of the optimized scheduling areas.
Preferably, the calculating an average download speed value and a comprehensive download speed evaluation value of the video server in the preset scheduling area according to the access log data includes:
filtering and cleaning the access log data to obtain request data of a legal access request corresponding to the video server in the preset scheduling area;
calculating a downloading speed value of the legal access request according to the request data of the legal access request;
calculating the average downloading speed value of the video server in the preset scheduling area according to the downloading speed value of the legal access request;
and calculating a comprehensive evaluation value of the downloading speed of the video server in the preset scheduling area according to a preset downloading speed grade and the downloading speed value of the legal access request.
Preferably, the allocating a video server to the scheduling request in the scheduling request queue according to the preset traffic upper limit of the video server in the target scheduling area and the target video server tag includes:
calculating a target flow control proportion of the target scheduling area according to a preset flow upper limit value of a video server in the target scheduling area;
selecting a scheduling request with the label content of a target video server not being empty in the scheduling request queue, and distributing a video server for the selected scheduling request according to the target flow control proportion;
and reallocating the video servers to the scheduling requests of the unallocated video servers according to the target flow control proportion, wherein the scheduling requests of the unallocated video servers comprise the scheduling requests which are not selected in the scheduling request queue and the scheduling requests of the unallocated video servers in the selected scheduling requests.
Preferably, the method further comprises the following steps:
and if the target dispatching area is not in the predetermined optimized dispatching area list or the emergency parameter is a second emergency parameter for representing emergency dispatching, distributing a video server to the dispatching request according to a flow control strategy, and sending the label of the distributed video server to the client corresponding to the dispatching request.
A video CDN scheduling optimization device comprises: the system comprises a determining module, an extracting module, a generating module and a first distributing module, wherein the extracting module comprises a list determining unit;
the determining module is used for determining a target scheduling area where a client is located when a scheduling request which is sent by the client and carries a target video server label and an emergency parameter is received, wherein the target video server label is used for identifying a video server predetermined by the client, and the emergency parameter is used for representing the scheduling emergency degree;
the list determining unit is used for determining an optimized scheduling area list in advance;
the extracting module is configured to extract the scheduling request if the target scheduling region is in a predetermined optimized scheduling region list and the emergency parameter is a first emergency parameter for representing non-emergency scheduling;
the generating module is used for generating a scheduling request queue formed by the scheduling requests;
the first distribution module is used for distributing the video servers to the scheduling requests in the scheduling request queue according to the preset flow upper limit value of the video servers in the target scheduling area and the target video server labels, and sending the distributed labels of the video servers to the client corresponding to the scheduling requests.
Preferably, the list determining unit is specifically configured to:
calling access log data of a video server in a preset scheduling area; calculating an average downloading speed value and a comprehensive downloading speed evaluation value of the video server in the preset scheduling area according to the access log data; judging whether the preset scheduling area meets a preset area optimization rule or not according to the average downloading speed value and the comprehensive downloading speed evaluation value; if the preset scheduling area meets the preset area optimization rule, determining the preset scheduling area as an optimized scheduling area; and generating an optimized scheduling area list consisting of the optimized scheduling areas.
Preferably, the list determining unit, configured to calculate an average download speed value and a comprehensive download speed evaluation value of the video server in the preset scheduling area according to the access log data, is specifically configured to:
filtering and cleaning the access log data to obtain request data of a legal access request corresponding to the video server in the preset scheduling area; calculating a downloading speed value of the legal access request according to the request data of the legal access request; calculating the average downloading speed value of the video server in the preset scheduling area according to the downloading speed value of the legal access request; and calculating a comprehensive evaluation value of the downloading speed of the video server in the preset scheduling area according to a preset downloading speed grade and the downloading speed value of the legal access request.
Preferably, the first allocation module is specifically configured to:
calculating a target flow control proportion of the target scheduling area according to a preset flow upper limit value of a video server in the target scheduling area; selecting a scheduling request with the label content of a target video server not being empty in the scheduling request queue, and distributing a video server for the selected scheduling request according to the target flow control proportion; and reallocating the video servers to the scheduling requests of the unallocated video servers according to the target flow control proportion, wherein the scheduling requests of the unallocated video servers comprise the scheduling requests which are not selected in the scheduling request queue and the scheduling requests of the unallocated video servers in the selected scheduling requests.
Preferably, the method further comprises the following steps: a second distribution module;
the second allocating module is configured to allocate a video server to the scheduling request according to a flow control policy if the target invoking area is not in the predetermined optimized scheduling area list or the emergency parameter is a second emergency parameter for representing emergency scheduling, and send a label of the allocated video server to the client corresponding to the scheduling request.
Compared with the prior art, the invention has the following beneficial effects:
the method is applied to a scheduling server, and synthesizes a target scheduling server requested by a client on the basis of flow control. And the target scheduling server is determined by the client based on the actual downloading speed of the client. Therefore, the video servers are uniformly distributed to the scheduling requests which are not scheduled urgently, the requirements of flow and downloading speed can be met to the greatest extent, and the problem that the scheduling servers cannot give consideration to both the downloading speed and the flow control is relieved and even avoided.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the provided drawings without creative efforts.
Fig. 1 is a flowchart of a method for optimizing video CDN scheduling according to an embodiment of the present invention;
fig. 2 is a flowchart of a method of "predetermining an optimized scheduling area list" in step S20 of the video CDN scheduling optimization method according to the embodiment of the present invention;
fig. 3 is a flowchart of a video CDN scheduling optimization method step S202 according to an embodiment of the present invention;
fig. 4 is a flowchart of a video CDN scheduling optimization method step S40 according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of a video CDN scheduling optimization apparatus according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The embodiment of the invention provides a video CDN scheduling optimization method, which is applied to a scheduling server, and the flow chart of the method is shown in FIG. 1, and comprises the following steps:
s10, when a scheduling request which is sent by a client and carries a target video server label and an emergency parameter is received, determining a target scheduling area where the client is located, wherein the target video server label is used for identifying a video server predetermined by the client, and the emergency parameter is used for representing the scheduling emergency degree;
in this embodiment, the predetermined video server is the video server with the highest downloading speed at the angle of the client, and may be determined by the client by using a speed measurement method. The target video server tag content may be null for indicating the video server with the highest uncertain download speed.
The emergency parameter may be determined by the client detecting the video status, for example, in a case where the cached data is sufficient, the client does not need to obtain the video data immediately, the client sets the emergency parameter to a first emergency parameter for representing non-emergency scheduling, for example, to "0", and further, for example, in a case where video is broadcast, the cache is insufficient, or the hiton recovery occurs, the client needs to obtain the video data as soon as possible, and sets the emergency parameter to a second emergency parameter for representing emergency scheduling, for example, to "1", and of course, the emergency parameter may also be empty, and is used to indicate whether emergency processing is uncertain.
Generally, service areas of video servers are generally divided according to geographical locations, for example, the video server a provides services for the west and west telecommunication users, so that the scheduling server can determine a target scheduling area where the client is located based on a target video server tag sent by the client, and of course, the scheduling server can also determine the target scheduling area based on other information, for example, an IP address of the client.
S20, if the target scheduling area is in the predetermined optimized scheduling area list and the emergency parameter is the first emergency parameter for representing non-emergency scheduling, extracting the scheduling request;
in a specific implementation process, in the process of "determining an optimized scheduling area list in advance" in step S20, the following steps may be specifically adopted, and a flowchart of the method is shown in fig. 2:
s201, calling access log data of a video server in a preset scheduling area;
in the process of executing step S201, the access log data is data generated in the process of accessing the video server by the client, and the scheduling server may call the access log data of the video server in the preset scheduling area from the background database by using the IP address of the video server.
S202, calculating an average downloading speed value and a comprehensive downloading speed evaluation value of the video server in a preset scheduling area according to the access log data;
in a specific implementation process, in step S202, "calculating an average download speed value and a download speed comprehensive evaluation value of a video server in a preset scheduling area according to access log data" may specifically adopt the following steps, and a flowchart of the method is shown in fig. 3:
s1001, filtering and cleaning access log data to obtain request data of a legal access request corresponding to a video server in a preset scheduling area;
in the process of executing step S1001, to ensure the validity of the training model data, relevant log data of access requests that do not meet the rules, such as non-user requests (mainly back-source requests of other video servers), requests whose request file size is smaller than a threshold, offline download requests, and spam requests (e.g., network attacks) are filtered from the access log data, and only relevant logs of access requests that are real-time, legal users and have sufficiently large request files are obtained.
S1002, calculating a downloading speed value of the legal access request according to the request data of the legal access request;
in the process of executing step S1002, the screened download speed values of the respective requests may be calculated according to the following formula (1);
Figure BDA0001535083700000071
wherein, V is the request downloading speed value, a is the downloading file data volume, b is the request processing time, and c is the network delay time.
S1003, calculating an average downloading speed value of the video server in a preset scheduling area according to the downloading speed value of the legal access request;
in the process of executing step S1003, the average of the download speed values of the legal access requests may be used as the average download speed value of the video server, and of course, the weight value of the legal access request may also be determined according to the importance degree of the legal access request, and the average download speed value of the video server is further calculated according to the download speed value of the legal access request and the weight value, where the sum of the weight values of the legal access requests is 1. For the process of calculating the average download speed value of the video server, this embodiment is not limited, and may be selected according to actual needs.
S1004, calculating a comprehensive evaluation value of the downloading speed of the video server in the preset scheduling area according to the preset downloading speed grade and the downloading speed value of the legal access request;
in the process of performing step S1004, the download speed comprehensive evaluation value of the video server may be calculated by calculating a percentage of legitimate access requests at a preset download speed level.
For example, the preset download speed level can be divided into four types, namely fluency, high definition, 720P and 1080P, and the download speeds corresponding to the preset download speed level are 50KBps, 100KBps, 200KBps and 400KBps respectively. Firstly, respectively calculating the request percentage of the download speed less than 50Kbps, the request percentage of the download speed less than 100Kbps, the request percentage of the download speed less than 200Kbps and the percentage of the download speed less than 400Kbps, and further calculating the comprehensive evaluation value of the download speed of the video server according to the following formula (2):
W=d*A+e*B+f*C+g*D (2)
w is a comprehensive evaluation value of the download speed, D is a request percentage of the download speed less than 50KBps, e is a request percentage of the download speed less than 100KBps, f is a request percentage of the download speed less than 200KBps, g is a request percentage of the download speed less than 400KBps, A, B, C and D are weighted values corresponding to four download speed levels of fluency, high definition, 720P and 1080P, respectively, and a + B + C + D is 1.
S203, judging whether the preset scheduling area meets the preset area optimization rule or not according to the average downloading speed value and the comprehensive downloading speed evaluation value; if the preset scheduling area meets the preset area optimization rule, executing the step S204;
in this embodiment, the preset area optimization rule may be that the scheduling area where the comprehensive service quality of the video server is similar and the difference in download speed is large is an optimizable optimized scheduling area.
For a certain scheduling area, within a time exceeding n%, the difference value of the comprehensive evaluation values of the download speeds of any two video servers within any statistical time period under a certain granularity is less than m%, and then the comprehensive service quality of the video servers within the scheduling area is considered to be similar. For example, two video servers are in the scheduling area a, and if the two video servers are compared with each other at 5-minute statistical intervals in more than 95% of the year, and the difference between the two video servers is less than 3% in the comparison of the comprehensive evaluation values of the download speed every 5 minutes, the comprehensive service quality of the video servers in the scheduling area a is considered to be similar.
And further judging whether the downloading speed difference of the video servers in the scheduling area A is larger or not on the basis that the scheduling area A meets the condition that the comprehensive service quality of the video servers in the area is similar. If the average downloading speed value requested by a certain client from one of the video servers in the scheduling area A is higher than r% or more of the average downloading speed value requested by another video server, the difference of the downloading speeds of the video servers in the scheduling area A is considered to be large. For example, two video servers in the scheduling area a are present, and the two video servers account for 70% or more of the users with the "download speed difference exceeding 30 KBps" every 5 minutes at statistical intervals of 5 minutes in more than 90% of the time of the year, so that the video server download speed difference in the scheduling area a is considered to be large. And then judging that the calling area A meets the preset area optimization rule.
S204, determining a preset scheduling area as an optimized scheduling area;
s205, generate an optimized scheduling area list composed of the optimized scheduling areas.
S30, generating a scheduling request queue composed of scheduling requests;
in this embodiment, the scheduling request queue includes one or more scheduling requests;
s40, distributing video servers for the scheduling requests in the scheduling request queue according to the preset flow upper limit value of the video servers in the target scheduling area and the target video server labels, and sending the labels of the distributed video servers to the clients corresponding to the scheduling requests;
in a specific implementation process, in the step S40, "allocating a video server to a scheduling request in a scheduling request queue according to a preset traffic upper limit value of a video server in a target scheduling region and a target video server tag", the following steps may be specifically adopted, and a flowchart of the method is as shown in fig. 4:
s401, calculating a target flow control proportion of a target scheduling area according to a preset flow upper limit value of a video server in the target scheduling area;
in the process of executing step S401, assuming that there are two video servers, denoted as M and N, in the target scheduling area, the upper limit value of the traffic of the video server M is 2h, and the upper limit value of the traffic of the video server N is h, the target traffic control ratio of the target scheduling area is 2h: h-2: 1.
S402, selecting a scheduling request with the label content of a target video server not being empty in a scheduling request queue, and distributing a video server for the selected scheduling request according to a target flow control proportion;
in the process of executing step S402, assuming that there are 90 non-emergency scheduling requests in the scheduling request queue, where the target video server tags of 40 scheduling requests are M, the target video server tags of 40 scheduling requests are N, and the target video server tags of other 10 scheduling requests are empty, first selecting 80 scheduling requests whose target video server tags are not empty, allocating all the scheduling requests whose target video server tags are M to the video server M according to the target flow control ratio 2:1 calculated in step S401, extracting 20 scheduling requests whose target video server tags are M from the scheduling requests whose target video server tags are 40 to allocate to the video server N, and at this time, leaving 20 scheduling requests whose target video server tags are N and 10 scheduling requests whose target video server tags are empty.
S403, reallocating the video servers to the scheduling requests of the unallocated video servers according to the target flow control proportion, wherein the scheduling requests of the unallocated video servers comprise unselected scheduling requests in the scheduling request queue and scheduling requests of the unallocated video servers in the selected scheduling requests;
in the process of executing step S403, according to the target flow control ratio 2:1 calculated in step S401, video servers are reallocated for the scheduling request of the unallocated video server in step S402, that is, the scheduling request with 20 entries labeled with a video server label N and the scheduling request with 10 entries labeled with a video server label empty, specifically, 10 scheduling requests with N labels of the 20 entries labeled with a video server label and the scheduling requests with 10 entries labeled with a video server label empty are selected from the scheduling requests with N labels of the 20 entries labeled with a video server label, and the remaining unallocated 10 entries labeled with a video server label N and the scheduling requests with 10 entries labeled with a video server label empty are allocated to the video server M.
In some other embodiments, the video CDN scheduling optimization method provided by the method may further include the following steps:
and if the target scheduling area is not in the predetermined optimized scheduling area list or the emergency parameter is a second emergency parameter for representing emergency scheduling, distributing the video server for the scheduling request according to the flow control strategy, and sending the label of the distributed video server to the client corresponding to the scheduling request.
In this embodiment, the flow control policy is an existing "allocating a video server to a scheduling request according to a flow control ratio in a scheduling area". In addition, the process of predetermining the optimized scheduling area list in this step is consistent with the process of "predetermining the optimized scheduling area list" in step 20, please refer to the specific implementation process of "predetermining the optimized scheduling area list" in step 20, which is not described in detail in this embodiment.
The above steps S201 to S205 are only one preferred implementation manner of the "predetermining an optimized scheduling area list" process in step S20 disclosed in the embodiment of the present application, and the specific implementation manner of the process may be arbitrarily set according to the needs of the user, and is not limited herein.
The above steps S1001 to S1004 are only one preferred implementation manner of the process of "calculating the average download speed value and the comprehensive download speed evaluation value of the video server in the preset scheduling area according to the access log data" in step S202 disclosed in this embodiment, and the specific implementation manner of this process may be arbitrarily set according to the own requirement, and is not limited herein.
The above steps S401 to S403 are only a preferred implementation manner of the process of step S40 "allocating a video server to a scheduling request in a scheduling request queue according to a preset traffic upper limit value of the video server in a target scheduling area and a target video server tag, which is disclosed in this embodiment of the present application, and a specific implementation manner of this process may be arbitrarily set according to a requirement of the process, which is not limited herein.
The video CDN scheduling optimization method provided by the embodiment of the invention integrates the target scheduling server requested by the client on the basis of flow control. And the target scheduling server is determined by the client based on the actual downloading speed of the client. Therefore, the video servers are uniformly distributed to the scheduling requests which are not scheduled urgently, the requirements of flow and downloading speed can be met to the greatest extent, and the problem that the scheduling servers cannot give consideration to both the downloading speed and the flow control is relieved and even avoided.
Based on the video CDN scheduling optimization method provided by the above embodiment, an embodiment of the present invention correspondingly provides a device for executing the video CDN scheduling optimization method, where a schematic structural diagram of the video CDN scheduling optimization device is shown in fig. 5, and the method includes: the system comprises a determining module 10, an extracting module 20, a generating module 30 and a first distributing module 40, wherein the extracting module 20 comprises a list determining unit 201;
the system comprises a determining module 10, a scheduling module and a scheduling module, wherein the determining module is used for determining a target scheduling area where a client is located when a scheduling request which is sent by the client and carries a target video server label and an emergency parameter is received, the target video server label is used for identifying a video server which is predetermined by the client, and the emergency parameter is used for representing the scheduling emergency degree;
a list determining unit 201, configured to determine an optimized scheduling area list in advance;
an extracting module 20, configured to extract a scheduling request if the target scheduling region is in a predetermined optimized scheduling region list and the emergency parameter is a first emergency parameter for representing non-emergency scheduling;
a generating module 30, configured to generate a scheduling request queue composed of scheduling requests;
and the first allocation module 40 is configured to allocate a video server to the scheduling request in the scheduling request queue according to a preset traffic upper limit value of the video server in the target scheduling area and a target video server tag, and send the allocated video server tag to a client corresponding to the scheduling request.
In some other embodiments, the list determining unit 201 is specifically configured to:
calling access log data of a video server in a preset scheduling area; calculating an average downloading speed value and a comprehensive downloading speed evaluation value of the video server in a preset scheduling area according to the access log data; judging whether a preset scheduling area meets a preset area optimization rule or not according to the average downloading speed value and the comprehensive downloading speed evaluation value; if the preset scheduling area meets the preset area optimization rule, determining the preset scheduling area as an optimized scheduling area; and generating an optimized scheduling area list consisting of the optimized scheduling areas.
In some other embodiments, the list determining unit 201, configured to calculate an average download speed value and a comprehensive download speed evaluation value of the video server in the preset scheduling area according to the access log data, is specifically configured to:
filtering and cleaning the access log data to obtain request data of a legal access request corresponding to the video server in a preset scheduling area; calculating a downloading speed value of the legal access request according to the request data of the legal access request; calculating an average downloading speed value of a video server in a preset scheduling area according to the downloading speed value of the legal access request; and calculating a comprehensive evaluation value of the downloading speed of the video server in the preset scheduling area according to the preset downloading speed grade and the downloading speed value of the legal access request.
In some other embodiments, the first distribution module 40 is specifically configured to:
calculating a target flow control proportion of a target scheduling area according to a preset flow upper limit value of a video server in the target scheduling area; selecting a scheduling request with the label content of a target video server not being empty in a scheduling request queue, and distributing a video server for the selected scheduling request according to a target flow control proportion; and reallocating the video servers to the scheduling requests of the unallocated video servers according to the target flow control proportion, wherein the scheduling requests of the unallocated video servers comprise the scheduling requests which are not selected in the scheduling request queue and the scheduling requests of the unallocated video servers in the selected scheduling requests.
In some other embodiments, the video CDN scheduling optimization apparatus provided in this embodiment may further include a second allocation module;
and the second allocating module is used for allocating a video server to the scheduling request according to the flow control strategy and sending the allocated video server label to the client corresponding to the scheduling request if the target scheduling area is not in the predetermined optimized scheduling area list or the emergency parameter is a second emergency parameter for representing emergency scheduling.
The video CDN scheduling optimization device provided by the embodiment of the invention integrates the target scheduling server requested by the client on the basis of flow control. And the target scheduling server is determined by the client based on the actual downloading speed of the client. Therefore, the video servers are uniformly distributed to the scheduling requests which are not scheduled urgently, the requirements of flow and downloading speed can be met to the greatest extent, and the problem that the scheduling servers cannot give consideration to both the downloading speed and the flow control is relieved and even avoided.
The video CDN scheduling optimization method and device provided by the invention are described in detail above, a specific example is applied in the description to explain the principle and the implementation of the invention, and the description of the above embodiment is only used to help understand the method and the core idea of the invention; meanwhile, for a person skilled in the art, according to the idea of the present invention, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present invention.
It should be noted that, in the present specification, the embodiments are all described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments may be referred to each other. The device disclosed by the embodiment corresponds to the method disclosed by the embodiment, so that the description is simple, and the relevant points can be referred to the method part for description.
It is further noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include or include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims (6)

1. A video CDN scheduling optimization method is applied to a scheduling server and comprises the following steps:
when a scheduling request which is sent by a client and carries a target video server label and an emergency parameter is received, determining a target scheduling area where the client is located, wherein the target video server label is used for identifying a video server predetermined by the client, and the emergency parameter is used for representing the scheduling emergency degree;
if the target scheduling area is in a predetermined optimized scheduling area list and the emergency parameter is a first emergency parameter for representing non-emergency scheduling, extracting the scheduling request;
generating a scheduling request queue formed by the scheduling requests;
distributing a video server for the scheduling request in the scheduling request queue according to a preset flow upper limit value of the video server in the target scheduling area and the target video server label, and sending the distributed label of the video server to the client corresponding to the scheduling request;
the process of predetermining the optimized scheduling area list comprises the following steps:
calling access log data of a video server in a preset scheduling area;
calculating an average downloading speed value and a comprehensive downloading speed evaluation value of the video server in the preset scheduling area according to the access log data;
judging whether the preset scheduling area meets a preset area optimization rule or not according to the average downloading speed value and the comprehensive downloading speed evaluation value;
if the preset scheduling area meets the preset area optimization rule, determining the preset scheduling area as an optimized scheduling area;
generating an optimized scheduling area list consisting of the optimized scheduling areas;
wherein, according to the access log data, calculating an average download speed value and a download speed comprehensive evaluation value of the video server in the preset scheduling area, comprises:
filtering and cleaning the access log data to obtain request data of a legal access request corresponding to the video server in the preset scheduling area;
calculating a downloading speed value of the legal access request according to the request data of the legal access request;
calculating the average downloading speed value of the video server in the preset scheduling area according to the downloading speed value of the legal access request;
and calculating a comprehensive evaluation value of the downloading speed of the video server in the preset scheduling area according to a preset downloading speed grade and the downloading speed value of the legal access request.
2. The method according to claim 1, wherein the allocating video servers to the scheduling requests in the scheduling request queue according to the preset traffic upper limit of video servers in the target scheduling region and the target video server tag comprises:
calculating a target flow control proportion of the target scheduling area according to a preset flow upper limit value of a video server in the target scheduling area;
selecting a scheduling request with the label content of a target video server not being empty in the scheduling request queue, and distributing a video server for the selected scheduling request according to the target flow control proportion;
and reallocating the video servers to the scheduling requests of the unallocated video servers according to the target flow control proportion, wherein the scheduling requests of the unallocated video servers comprise the scheduling requests which are not selected in the scheduling request queue and the scheduling requests of the unallocated video servers in the selected scheduling requests.
3. The method of claim 1, further comprising:
and if the target dispatching area is not in the predetermined optimized dispatching area list or the emergency parameter is a second emergency parameter for representing emergency dispatching, distributing a video server to the dispatching request according to a flow control strategy, and sending the label of the distributed video server to the client corresponding to the dispatching request.
4. A video CDN scheduling optimization apparatus, comprising: the system comprises a determining module, an extracting module, a generating module and a first distributing module, wherein the extracting module comprises a list determining unit;
the determining module is used for determining a target scheduling area where a client is located when a scheduling request which is sent by the client and carries a target video server label and an emergency parameter is received, wherein the target video server label is used for identifying a video server predetermined by the client, and the emergency parameter is used for representing the scheduling emergency degree;
the list determining unit is used for determining an optimized scheduling area list in advance;
the extracting module is configured to extract the scheduling request if the target scheduling region is in a predetermined optimized scheduling region list and the emergency parameter is a first emergency parameter for representing non-emergency scheduling;
the generating module is used for generating a scheduling request queue formed by the scheduling requests;
the first distribution module is used for distributing the video servers to the scheduling requests in the scheduling request queue according to the preset flow upper limit value of the video servers in the target scheduling area and the target video server labels, and sending the distributed labels of the video servers to the client corresponding to the scheduling requests;
wherein, the list determining unit is specifically configured to:
calling access log data of a video server in a preset scheduling area; calculating an average downloading speed value and a comprehensive downloading speed evaluation value of the video server in the preset scheduling area according to the access log data; judging whether the preset scheduling area meets a preset area optimization rule or not according to the average downloading speed value and the comprehensive downloading speed evaluation value; if the preset scheduling area meets the preset area optimization rule, determining the preset scheduling area as an optimized scheduling area; generating an optimized scheduling area list consisting of the optimized scheduling areas;
the list determining unit, configured to calculate an average download speed value and a download speed comprehensive evaluation value of the video server in the preset scheduling area according to the access log data, is specifically configured to:
filtering and cleaning the access log data to obtain request data of a legal access request corresponding to the video server in the preset scheduling area; calculating a downloading speed value of the legal access request according to the request data of the legal access request; calculating the average downloading speed value of the video server in the preset scheduling area according to the downloading speed value of the legal access request; and calculating a comprehensive evaluation value of the downloading speed of the video server in the preset scheduling area according to a preset downloading speed grade and the downloading speed value of the legal access request.
5. The apparatus of claim 4, wherein the first allocation module is specifically configured to:
calculating a target flow control proportion of the target scheduling area according to a preset flow upper limit value of a video server in the target scheduling area; selecting a scheduling request with the label content of a target video server not being empty in the scheduling request queue, and distributing a video server for the selected scheduling request according to the target flow control proportion; and reallocating the video servers to the scheduling requests of the unallocated video servers according to the target flow control proportion, wherein the scheduling requests of the unallocated video servers comprise the scheduling requests which are not selected in the scheduling request queue and the scheduling requests of the unallocated video servers in the selected scheduling requests.
6. The apparatus of claim 4, further comprising: a second distribution module;
the second allocating module is configured to allocate a video server to the scheduling request according to a flow control policy if the target invoking area is not in the predetermined optimized scheduling area list or the emergency parameter is a second emergency parameter for representing emergency scheduling, and send a label of the allocated video server to the client corresponding to the scheduling request.
CN201711487913.0A 2017-12-29 2017-12-29 Video CDN scheduling optimization method and device Active CN108093272B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711487913.0A CN108093272B (en) 2017-12-29 2017-12-29 Video CDN scheduling optimization method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711487913.0A CN108093272B (en) 2017-12-29 2017-12-29 Video CDN scheduling optimization method and device

Publications (2)

Publication Number Publication Date
CN108093272A CN108093272A (en) 2018-05-29
CN108093272B true CN108093272B (en) 2020-11-24

Family

ID=62181402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711487913.0A Active CN108093272B (en) 2017-12-29 2017-12-29 Video CDN scheduling optimization method and device

Country Status (1)

Country Link
CN (1) CN108093272B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109639502B (en) * 2018-12-30 2022-04-26 北京奇艺世纪科技有限公司 Return source control method and content distribution network
CN109889569B (en) * 2019-01-03 2022-04-22 网宿科技股份有限公司 CDN service scheduling method and system
CN111225243B (en) * 2020-01-20 2021-02-02 中南大学 Video block scheduling method and system
CN113301072A (en) * 2020-04-13 2021-08-24 阿里巴巴集团控股有限公司 Service scheduling method and system, scheduling equipment and client
CN114866799B (en) * 2022-05-11 2024-04-05 北京奇艺世纪科技有限公司 Server scheduling method and device

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1606301A (en) * 2004-07-09 2005-04-13 清华大学 A resource access shared scheduling and controlling method and apparatus
CN102281202A (en) * 2011-09-02 2011-12-14 苏州阔地网络科技有限公司 Dispatching method, server and system
CN103532873A (en) * 2013-11-08 2014-01-22 北京邮电大学 Flow control policy applied to distributed file system
CN103825975A (en) * 2014-02-26 2014-05-28 北京太阳庄科技有限公司 Cdn node distribution server and system
CN104852934A (en) * 2014-02-13 2015-08-19 阿里巴巴集团控股有限公司 Method for realizing flow distribution based on front-end scheduling, device and system thereof
CN105959405A (en) * 2016-06-24 2016-09-21 北京兰云科技有限公司 CDN video scheduling system and method, CDN scheduling server and client
CN106131158A (en) * 2016-06-30 2016-11-16 上海天玑科技股份有限公司 Resource scheduling device based on cloud tenant's credit rating under a kind of cloud data center environment
CN106792139A (en) * 2017-02-24 2017-05-31 腾讯科技(深圳)有限公司 A kind of data dispatching method and data dispatch equipment
CN107172220A (en) * 2017-07-26 2017-09-15 上海鋆创信息技术有限公司 The switching dispatching method and equipment of many CDN services

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9756142B2 (en) * 2013-03-14 2017-09-05 The Regents Of The University Of California System and method for delivering video data from a server in a wireless network by caching the video data

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1606301A (en) * 2004-07-09 2005-04-13 清华大学 A resource access shared scheduling and controlling method and apparatus
CN102281202A (en) * 2011-09-02 2011-12-14 苏州阔地网络科技有限公司 Dispatching method, server and system
CN103532873A (en) * 2013-11-08 2014-01-22 北京邮电大学 Flow control policy applied to distributed file system
CN104852934A (en) * 2014-02-13 2015-08-19 阿里巴巴集团控股有限公司 Method for realizing flow distribution based on front-end scheduling, device and system thereof
CN103825975A (en) * 2014-02-26 2014-05-28 北京太阳庄科技有限公司 Cdn node distribution server and system
CN105959405A (en) * 2016-06-24 2016-09-21 北京兰云科技有限公司 CDN video scheduling system and method, CDN scheduling server and client
CN106131158A (en) * 2016-06-30 2016-11-16 上海天玑科技股份有限公司 Resource scheduling device based on cloud tenant's credit rating under a kind of cloud data center environment
CN106792139A (en) * 2017-02-24 2017-05-31 腾讯科技(深圳)有限公司 A kind of data dispatching method and data dispatch equipment
CN107172220A (en) * 2017-07-26 2017-09-15 上海鋆创信息技术有限公司 The switching dispatching method and equipment of many CDN services

Also Published As

Publication number Publication date
CN108093272A (en) 2018-05-29

Similar Documents

Publication Publication Date Title
CN108093272B (en) Video CDN scheduling optimization method and device
CN108184149B (en) Video CDN scheduling optimization method and device
CN110661879B (en) Node scheduling method, device and system, scheduling server and terminal equipment
CN109525602B (en) Method, mobile terminal and system for accessing network based on flow-free platform
KR101923706B1 (en) Stochastic throttling
US20230388361A1 (en) Network address resolution
US11822453B2 (en) Methods and systems for status determination
US20200128352A1 (en) Methods And Systems For Communication Management
CN108833450B (en) Method and device for preventing server from being attacked
CN110545450B (en) Node distribution method, system, electronic equipment and storage medium
CN110457128B (en) Task allocation method, device and system
CN107733805B (en) Service load scheduling method and device
CN108777805B (en) Detection method and device for illegal access request, central control server and system
CN108282668B (en) Video acquisition method and system
CN108600147B (en) Downloading speed prediction method and device
CN107734475B (en) Short message sending method based on short message link and service platform
CN108055596B (en) Method and system for guaranteeing specific user flow
CN113612841B (en) Task scheduling method, device, computer equipment and storage medium
CN108769107B (en) Video scheduling method and device and electronic equipment
CN107948343B (en) Method and system for determining scheduling area
CN112491939B (en) Multimedia resource scheduling method and system
CN110691143B (en) File pushing method and device, electronic equipment and medium
CN113660290A (en) Signaling transmission method, device, equipment and storage medium
CN107103079B (en) Live broadcast method and system for dynamic website
CN108174286B (en) Video code stream processing method and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant