CN109600642B - CDN resource scheduling method and device - Google Patents

CDN resource scheduling method and device Download PDF

Info

Publication number
CN109600642B
CN109600642B CN201811543468.XA CN201811543468A CN109600642B CN 109600642 B CN109600642 B CN 109600642B CN 201811543468 A CN201811543468 A CN 201811543468A CN 109600642 B CN109600642 B CN 109600642B
Authority
CN
China
Prior art keywords
cdn
available
target
stream
determining
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
CN201811543468.XA
Other languages
Chinese (zh)
Other versions
CN109600642A (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.)
Guangzhou Cubesili Information Technology Co Ltd
Original Assignee
Guangzhou Huaduo Network 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 Guangzhou Huaduo Network Technology Co Ltd filed Critical Guangzhou Huaduo Network Technology Co Ltd
Priority to CN201811543468.XA priority Critical patent/CN109600642B/en
Publication of CN109600642A publication Critical patent/CN109600642A/en
Application granted granted Critical
Publication of CN109600642B publication Critical patent/CN109600642B/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/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
    • H04N21/26216Content 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 involving the channel capacity, e.g. network bandwidth
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • 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/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

The invention provides a CDN resource scheduling method and a device, wherein the method comprises the following steps: s1: after a stream pushing instruction sent by a new user side entering a current channel is obtained, determining each available CDN according to the available stream pushing number and the available transcoding stream number of each CDN; s2: determining a target CDN according to the available bandwidth ratio of each available CDN; s3: and configuring the target CDN as a live broadcast and watching line, so that the anchor end pushes the stream through the target CDN, and the new user end pulls the stream through the target CDN. The invention evaluates whether the CDN is available or not through the index parameters of each CDN, and further selects a line for live broadcast viewing according to the available bandwidth ratio of each available CDN so as to realize the push flow of a main broadcasting end and the pull flow of a user end.

Description

CDN resource scheduling method and device
Technical Field
The invention relates to the technical field of network live broadcast, in particular to a CDN resource scheduling method and device.
Background
With the development of the network live broadcast technology, the live broadcast service content and the user quantity are greatly improved, and the requirements on the audio and video back-end server are increased. On the other hand, most live broadcast platforms select the CDN as content delivery, so that the pressure of a platform server can be reduced, and the cost of audio and video live broadcast is well controlled; on the other hand, for live broadcast viewing, an alternative transmission line is provided, and a better disaster recovery method is provided.
In the prior art, CDNs of various manufacturers exist in a distributed node manner, and after a certain user enters a certain live channel, a server randomly selects an available CDN in a CDN cluster for use by the user, so that a main broadcasting end performs video streaming on the user through the CDN.
However, in the live broadcast process, thousands of hundreds of users watch the live broadcast, and randomly selecting a CDN of one manufacturer for use by one user may occupy CDN resources of multiple manufacturers, which may cause unreasonable allocation of CDN resources and low usage efficiency of CDN resources.
Disclosure of Invention
The embodiment of the invention provides a CDN resource scheduling method and device, which can realize the optimization of the use efficiency of CDN resources under a main broadcasting scene through feedback.
According to an aspect of the present invention, a CDN resource scheduling method is provided, including:
s1: after a stream pushing instruction sent by a new user side entering a current channel is obtained, determining each available CDN according to the available stream pushing number and the available transcoding stream number of each CDN;
s2: determining a target CDN according to the available bandwidth ratio of each available CDN;
s3: and configuring the target CDN as a live broadcast and watching line, so that a main broadcasting end pushes flow through the target CDN, and the new user end pulls flow through the target CDN.
Preferably, the determining, according to the available number of push streams and the available number of transcoding streams of each CDN, each available CDN specifically is:
t1: obtaining the number of available plug streams and the number of available transcoding streams of each CDN;
t2: determining a current CDN, judging whether the current CDN meets the condition that the available push stream number is not less than a preset first numerical value and the available transcoding stream number is not less than a preset second numerical value, if so, determining the current CDN as the available CDN, and if not, rejecting the current CDN;
t3: and determining the next CDN as the current CDN, and re-executing T2 until the judgment of each CDN is finished, and determining each available CDN.
Preferably, the determining a target CDN according to the available bandwidth percentage of each available CDN specifically is:
s21: obtaining available bandwidth of each available CDN, and sequentially calculating the proportion of each available CDN bandwidth to the sum of the available bandwidth of all available CDNs to obtain the available bandwidth ratio of each available CDN;
s22: and randomly drawing according to a preset drawing strategy in each available CDN to determine a target CDN, wherein the preset drawing strategy is a corresponding relation between the drawn probability of each CDN and the available bandwidth ratio of each available CDN.
Preferably, the preset extraction policy is that the probability of each available CDN being extracted is equal to the available bandwidth ratio of each available CDN.
Preferably, configuring the target CDN as a live broadcast and viewing line, so that an anchor end performs push streaming through the target CDN, and after performing pull streaming through the target CDN, the new user end further includes:
s4: and acquiring quality information fed back by the new user side in real time, judging whether the quality information meets preset qualified conditions, if so, executing the step S4 again, and if not, rejecting the target CDN and executing the step S2 again.
Preferably, the CDN resource scheduling method provided by the present invention further includes:
s5: after a stream pulling instruction sent by a new user side entering a current channel is obtained, determining each available CDN according to the available stream pulling number of each CDN;
s6: determining a target CDN according to the number of access users of each available CDN;
s7: and configuring the target CDN as a live broadcast and watching line, so that the new user side can call back pull stream through the target CDN.
Preferably, the determining the target CDN according to the number of access users of each available CDN specifically is:
and acquiring the number of access users of each available CDN, and determining the available CDN corresponding to the maximum number of access users as a target CDN.
According to another aspect of the present invention, there is provided a CDN resource scheduling device, including:
the first determining module is used for determining each available CDN according to the available push stream number and the available transcoding stream number of each CDN after a push stream instruction sent by a new user side entering a current channel is obtained;
a second determining module, configured to determine a target CDN according to an available bandwidth proportion of each available CDN;
and the configuration module is used for configuring the target CDN into a line for live broadcasting and watching, so that a main broadcasting end pushes the stream through the target CDN, and the new user end pulls the stream through the target CDN.
According to another aspect of the present invention, there is provided an electronic device comprising a processor and a memory, the memory having stored thereon computer program instructions which, when executed by the processor, implement the CDN resource scheduling method as described above.
According to another aspect of the present invention, there is provided a computer readable storage medium having stored thereon computer program instructions which, when executed by a processor, implement the CDN resource scheduling method as described above.
According to the technical scheme, the embodiment of the invention has the following advantages:
the invention provides a CDN resource scheduling method and a device, wherein the method comprises the following steps: s1: after a stream pushing instruction sent by a new user side entering a current channel is obtained, determining each available CDN according to the available stream pushing number and the available transcoding stream number of each CDN; s2: determining a target CDN according to the available bandwidth ratio of each available CDN; s3: and configuring the target CDN as a live broadcast and watching line, so that the anchor end pushes the stream through the target CDN, and the new user end pulls the stream through the target CDN. The invention evaluates whether the CDN is available or not through the index parameters of each CDN, and further selects a line for live broadcast viewing according to the available bandwidth ratio of each available CDN so as to realize the push flow of a main broadcasting end and the pull flow of a user end.
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, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to these drawings without inventive exercise.
Fig. 1 is a schematic flowchart of an embodiment of a CDN resource scheduling method provided in the present invention;
fig. 2 is a schematic flowchart of another embodiment of a CDN resource scheduling method according to the present invention;
fig. 3 is a schematic flowchart of a CDN resource scheduling method according to another embodiment of the present invention;
fig. 4 is a schematic structural diagram of an embodiment of a CDN resource scheduling device provided in the present invention.
Detailed Description
The embodiment of the invention provides a CDN resource scheduling method and device, which can realize the optimization of the use efficiency of CDN resources under a main broadcasting scene through feedback.
In order to make the objects, features and advantages of the present invention more obvious and understandable, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention, and it is obvious that the embodiments described below 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.
Referring to fig. 1, an embodiment of a CDN resource scheduling method provided in the present invention includes:
101. after a stream pushing instruction sent by a new user side entering a current channel is obtained, determining each available CDN according to the available stream pushing number and the available transcoding stream number of each CDN;
in this embodiment, if a new user side enters a current channel, after a stream pushing instruction sent by the user side is obtained (it should be noted that the stream pushing instruction may be a mode instruction for watching a live broadcast selected by a user, that is, a mode for pushing a stream through a main broadcast), each available CDN needs to be determined according to the number of available stream pushing and the number of available transcoded streams of each CDN, and it can be understood that each CDN refers to a CDN of each vendor, and upper and lower limits of parameters of each CDN itself are configured by each vendor. Since a plurality of CDNs are distributed in a live broadcast network, a plurality of live broadcast channels are live broadcast at the same time, a plurality of users are watching live broadcast in each channel, and a part of the number of push streams of the CDNs (for use by the anchor push stream, if the number of push streams of a certain CDN is 3, the CDN can be used by three anchor terminals to push streams, that is, it can be used as a live broadcast line of three channels, when the number of available push streams is 0, the CDN is unavailable) and the number of transcoding streams (as in the foregoing example, when an anchor terminal pushes streams through the CDN, a video stream with a low bit rate converted from a video stream is usually provided to a video center for a user to pull streams, and when the number of available transcoding streams is 0, the CDN is proved to be unavailable), each available CDN needs to be determined according to the number of available push streams and the number of available transcoding streams of each CDN.
102. Determining a target CDN according to the available bandwidth ratio of each available CDN;
after each available CDN is determined, because multiple available CDNs usually exist in a live broadcast network, in order to avoid the problem of low CDN resource utilization efficiency caused by random selection in the prior art, in the embodiment of the present invention, a target CDN is determined according to an available bandwidth proportion of each available CDN, it should be noted that the available bandwidth proportion of each available CDN is a ratio of an available bandwidth of each available CDN to a sum of available bandwidths of all available CDNs. The determination of the target CDN is equivalent to the final determination of a live broadcast and watching used line in an available CDN cluster, so that most live broadcast channels, user terminals and anchor terminals are concentrated in the same CDN as much as possible, and the problem of low use efficiency of some CDN resources caused by random CDN distribution can be avoided.
103. And configuring the target CDN as a live broadcast and watching line, so that the anchor end pushes the stream through the target CDN, and the new user end pulls the stream through the target CDN.
After the target CDN is determined, the target CDN is configured into a line for live broadcasting and watching, so that the anchor end pushes the stream through the target CDN, and the new user end pulls the stream through the target CDN. It can be understood that the pushing of the video stream by the anchor terminal through the target CDN is to push the video stream to the live center, and then the pulling of the new user terminal through the target CDN is performed in the video center to realize the viewing.
The invention evaluates whether the CDN is available or not through the index parameters of each CDN, and further selects a line for live broadcast viewing according to the available bandwidth ratio of each available CDN so as to realize the push flow of a main broadcasting end and the pull flow of a user end.
To describe the above embodiment of the CDN resource scheduling method more specifically, the following provides another embodiment of the CDN resource scheduling method, and referring to fig. 2, the another embodiment of the CDN resource scheduling method provided by the present invention includes:
201. acquiring a stream pushing instruction sent by a new user side entering a current channel;
in this embodiment, if a new user side enters the current channel, after the stream pushing instruction sent by the user side is obtained, it should be noted that the stream pushing instruction may be a mode instruction for watching live broadcast selected by the user, that is, a mode for performing stream pushing through the anchor broadcast. In addition, the user terminal to be used may also trigger another live broadcast watching mode, and the present invention will be described in detail in the following embodiments, which are not specifically described in this embodiment.
202. Obtaining the number of available plug streams and the number of available transcoding streams of each CDN;
determining each available CDN according to the available number of push streams and the available number of transcoding streams of each CDN, where each CDN refers to a CDN of each vendor, and upper and lower limits of a parameter of each CDN are configured by each vendor. Because a plurality of CDNs are distributed in a live broadcast network, a plurality of live broadcast channels are live broadcast at the same time, a plurality of users are watching live broadcast in each channel, and the number of push streams and the number of transcoding streams of some CDNs are used up, that is, the CDNs are unavailable, it is necessary to determine each available CDN according to the number of available push streams and the number of available transcoding streams of each CDN.
203. Determining a current CDN, judging whether the current CDN meets the condition that the available push stream number is not less than a preset first numerical value and the available transcoding stream number is not less than a preset second numerical value, if so, determining the current CDN as the available CDN, and if not, rejecting the current CDN;
generally, all CDNs may be determined one by one, CDNs in a CDN cluster may be sequenced, then a current CDN is determined, whether the CDN meets the condition that the number of available push streams is not less than a preset first value (which may be generally set to 1) and the number of available transcoding streams is not less than a preset second value (which may be generally set to 1) is determined, if yes, the current CDN is determined to be an available CDN, and if not, the current CDN is rejected, which is equivalent to regarding the current CDN as an unavailable CDN.
204. Determining the next CDN as the current CDN, and re-executing 202 until the judgment of each CDN is completed, and determining each available CDN;
after the current CDN is judged, the next CDN may be judged as above until the judgment of each CDN is completed, and then each available CDN may be finally determined.
205. Obtaining the available bandwidth of each available CDN, and calculating the proportion of each available CDN bandwidth to the sum of the available bandwidths of all available CDNs in sequence to obtain the available bandwidth ratio of each available CDN;
after each available CDN is determined, the available bandwidth of each available CDN needs to be acquired, and the ratio of each available CDN bandwidth to the sum of the available bandwidths of all available CDNs is sequentially calculated to obtain the available bandwidth ratio of each available CDN.
206. Randomly extracting and determining a target CDN in each available CDN according to a preset extraction strategy, wherein the preset extraction strategy is a corresponding relation between the extracted probability of each CDN and the available bandwidth ratio of each available CDN;
then, random drawing may be performed on each available CDN according to a preset drawing policy to determine a target CDN, where it should be noted that random drawing refers to drawing with a certain probability, that is, the preset drawing policy is that the probability that each available CDN is drawn is equal to the available bandwidth proportion of each available CDN, if three available CDNs are A, B and C respectively, and the corresponding available bandwidth proportions are 50%, 30%, and 20%, the probability that a is drawn as the target CDN is 50%, and similarly, B and C. Therefore, the CDN with a high available bandwidth ratio has a high probability of being preferentially allocated for use, and CDN resources can be reasonably used in a centralized manner.
207. Configuring the target CDN as a line for live broadcasting and watching, so that the anchor end pushes flow through the target CDN, and the new user end pulls flow through the target CDN;
after the target CDN is determined, the target CDN is configured into a line for live broadcasting and watching, so that the anchor end pushes the stream through the target CDN, and the new user end pulls the stream through the target CDN. It can be understood that the pushing of the video stream by the anchor terminal through the target CDN is to push the video stream to the live center, and then the pulling of the new user terminal through the target CDN is performed in the video center to realize the viewing.
208. And acquiring quality information fed back by the new user side in real time, judging whether the quality information meets preset qualified conditions, if so, executing the step 208 again, otherwise, rejecting the target CDN, and executing the step 206 again.
In the live broadcast process, quality information fed back by a new user side can be obtained in real time, it should be noted that the quality information is usually network quality information and may include information such as delay, stuck and the like, if the information meets preset qualified conditions (such as whether the delay is qualified or not), monitoring of the CDN is continuously performed, if the information does not meet the preset qualified conditions, the currently used target CDN is regarded as unqualified, the target CDN is rejected as an unavailable CDN, and a new target CDN is selected from the available CDNs again.
The invention provides a feedback-based CDN resource scheduling method, which determines an available CDN through various index parameters of the CDN and determines a target CDN according to the available bandwidth ratio so as to centralize a live broadcast channel, a main broadcast end and a user end in most of the available CDN to realize effective regulation and control of CDN resources.
Both the above two embodiments are detailed descriptions of selecting the first mode after the user enters the live channel, and another mode will be described below, referring to fig. 3, another embodiment of the CDN resource scheduling method provided by the present invention includes:
301. acquiring a pull stream instruction sent by a new user side entering a current channel;
in this embodiment, if a new user enters a current channel, after acquiring a pull stream instruction sent by the user, it should be noted that the pull stream instruction may be a mode instruction for watching live broadcast selected by the user, that is, the new user realizes a live broadcast watching mode by calling back the pull stream mode.
302. Determining each available CDN according to the available pull number of each CDN;
it should be noted that, in this mode, it is required to determine that the CDN has an available pull flow number, and generally, the available pull flow number is greater than 0, which indicates that a new user side can pull through the CDN. Therefore, if the number of available pulling flows of the CDN is greater than 0, the CDN is available.
303. Determining a target CDN according to the number of access users of each available CDN;
different from another mode, in this embodiment, an available CDN corresponding to the maximum number of access users is determined as the target CDN by obtaining the number of access users of each available CDN. It can be understood that, in a line where a current channel is docked (i.e., multiple CDNs), the number of users using each CDN is usually different, and in order to centrally regulate and control CDN resources, in the embodiment of the present invention, a target CDN used by a new user side is set as a CDN having the largest number of access users, so as to improve the use efficiency of CDN resources.
304. And configuring the target CDN as a live broadcast and watching line, so that the new user side can call back the pull stream through the target CDN.
After the target CDN is determined, the target CDN is configured to be a line for live broadcasting and watching, so that the new user side performs call back pull flow through the target CDN, where a process of call back pull flow is common general knowledge of those skilled in the art, and is not specifically described here.
The above is a detailed description of a CDN resource scheduling method provided by the present invention, and the following is a description of a structure and a connection relationship of a CDN resource scheduling device provided by the present invention, please refer to fig. 4, where an embodiment of a CDN resource scheduling device provided by the present invention includes:
a first determining module 401, configured to determine, after obtaining a stream pushing instruction sent by a new user terminal entering a current channel, each available CDN according to an available stream pushing number and an available transcoding stream number of each CDN;
a second determining module 402, configured to determine a target CDN according to an available bandwidth proportion of each available CDN;
a configuration module 403, configured to configure the target CDN as a live broadcast and viewing line, so that the anchor end performs push streaming through the target CDN, and the new user end performs pull streaming through the target CDN.
Further, the first determining module 401 includes:
the acquisition submodule is used for acquiring a stream pushing instruction sent by a new user side entering a current channel;
the determining submodule is used for determining each available CDN according to the available push stream number and the available transcoding stream number of each CDN;
the determination submodule includes:
the obtaining unit is used for obtaining the number of available push streams and the number of available transcoding streams of each CDN;
the judging unit is used for determining the current CDN, judging whether the current CDN meets the condition that the available push stream number is not less than a preset first numerical value and the available transcoding stream number is not less than a preset second numerical value, if so, determining the current CDN as the available CDN, and if not, rejecting the current CDN;
and the circulating unit is used for determining the next CDN as the current CDN, re-triggering the judging unit until the judgment of each CDN is completed, and determining each available CDN.
Still further, the second determining module 402 includes:
the calculation sub-module is used for acquiring the available bandwidth of each available CDN, and calculating the proportion of each available CDN bandwidth to the sum of the available bandwidths of all available CDNs in sequence to obtain the available bandwidth ratio of each available CDN;
and the extraction sub-module is used for randomly extracting and determining the target CDN in each available CDN according to a preset extraction strategy, wherein the preset extraction strategy is a corresponding relation between the extracted probability of each CDN and the available bandwidth ratio of each available CDN.
Further, the preset extraction policy is such that the probability of each available CDN being extracted is equal to the available bandwidth share of each available CDN.
Furthermore, the CDN resource scheduling device provided by the present invention further includes:
and the feedback module is configured to obtain quality information fed back by the new user side in real time, determine whether the quality information meets a preset qualified condition, re-trigger the feedback unit if the quality information meets the preset qualified condition, and reject the target CDN and re-trigger the second determining module 402 if the quality information does not meet the preset qualified condition.
Furthermore, the CDN resource scheduling device provided by the present invention further includes:
the third determining module is used for determining each available CDN according to the available pull number of each CDN after acquiring a pull instruction sent by a new user side entering a current channel;
the fourth determining module is used for determining the target CDN according to the number of access users of each available CDN;
and the callback module is used for configuring the target CDN into a line for live broadcasting and watching so that the new user side can carry out callback pull flow through the target CDN.
Furthermore, the fourth determining module is further configured to obtain the number of access users of each available CDN, and determine the available CDN corresponding to the maximum number of access users as the target CDN.
The invention also relates to an electronic device comprising a processor and a memory, on which computer program instructions are stored, which when executed by the processor implement the CDN resource scheduling method as described above.
The present invention also relates to a computer readable storage medium having stored thereon computer program instructions which, when executed by a processor, implement the CDN resource scheduling method as described above.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium and includes instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present invention. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
The above-mentioned embodiments are only used for illustrating the technical solutions of the present invention, and not for limiting the same; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.

Claims (8)

1. A CDN resource scheduling method is characterized by comprising the following steps:
s1: after a stream pushing instruction sent by a new user side entering a current channel is obtained, determining each available CDN according to the available stream pushing number and the available transcoding stream number of each CDN; the stream pushing instruction is a mode instruction for pushing stream through a main broadcasting end;
s2: determining a target CDN according to the available bandwidth ratio of each available CDN;
s3: configuring the target CDN into a line for live broadcasting and watching, so that a main broadcasting end pushes flow through the target CDN, and the new user end pulls flow through the target CDN;
wherein, step S2 includes:
s21: obtaining available bandwidth of each available CDN, and sequentially calculating the proportion of each available CDN bandwidth to the sum of the available bandwidth of all available CDNs to obtain the available bandwidth ratio of each available CDN;
s22: randomly extracting and determining a target CDN according to a preset extraction strategy in each available CDN, wherein the preset extraction strategy is a corresponding relation between the extracted probability of each CDN and the available bandwidth ratio of each available CDN; the preset extraction strategy is that the probability of each available CDN being extracted is equal to the available bandwidth ratio of each available CDN.
2. The CDN resource scheduling method of claim 1, wherein the determining, according to the number of available push streams and the number of available transcoding streams for each CDN, each available CDN is specifically:
t1: obtaining the number of available plug streams and the number of available transcoding streams of each CDN;
t2: determining a current CDN, judging whether the current CDN meets the condition that the available push stream number is not less than a preset first numerical value and the available transcoding stream number is not less than a preset second numerical value, if so, determining the current CDN as the available CDN, and if not, rejecting the current CDN;
t3: and determining the next CDN as the current CDN, and re-executing T2 until the judgment of each CDN is finished, and determining each available CDN.
3. The CDN resource scheduling method of any one of claims 1 to 2, wherein the configuring the target CDN as a live and viewing route enables a main broadcasting end to perform push streaming through the target CDN, and wherein after the new user end performs pull streaming through the target CDN, the method further comprises:
s4: and acquiring quality information fed back by the new user side in real time, judging whether the quality information meets preset qualified conditions, if so, executing the step S4 again, and if not, rejecting the target CDN and executing the step S2 again.
4. The CDN resource scheduling method of claim 1, further comprising:
s5: after a stream pulling instruction sent by a new user side entering a current channel is obtained, determining each available CDN according to the available stream pulling number of each CDN;
s6: determining a target CDN according to the number of access users of each available CDN;
s7: and configuring the target CDN as a live broadcast and watching line, so that the new user side can call back pull stream through the target CDN.
5. The CDN resource scheduling method of claim 4, wherein the determining a target CDN according to the number of access users of each available CDN specifically comprises:
and acquiring the number of access users of each available CDN, and determining the available CDN corresponding to the maximum number of access users as a target CDN.
6. A CDN resource scheduling device, comprising:
the first determining module is used for determining each available CDN according to the available push stream number and the available transcoding stream number of each CDN after a push stream instruction sent by a new user side entering a current channel is obtained; the stream pushing instruction is a mode instruction for pushing stream through a main broadcasting end;
a second determining module, configured to determine a target CDN according to an available bandwidth proportion of each available CDN;
the configuration module is used for configuring the target CDN into a line for live broadcasting and watching, so that a main broadcasting end pushes flow through the target CDN, and the new user end pulls flow through the target CDN;
wherein the second determining module comprises:
the calculation sub-module is used for acquiring the available bandwidth of each available CDN, and calculating the proportion of each available CDN bandwidth to the sum of the available bandwidths of all available CDNs in sequence to obtain the available bandwidth ratio of each available CDN;
the extraction sub-module is used for randomly extracting and determining a target CDN in each available CDN according to a preset extraction strategy, wherein the preset extraction strategy is a corresponding relation between the extracted probability of each CDN and the available bandwidth ratio of each available CDN; the preset extraction strategy is that the probability of each available CDN being extracted is equal to the available bandwidth ratio of each available CDN.
7. An electronic device comprising a processor and a memory, the memory having stored thereon computer program instructions that, when executed by the processor, implement the CDN resource scheduling method of any one of claim 1 through claim 5.
8. A computer-readable storage medium having stored thereon computer program instructions which, when executed by a processor, implement the CDN resource scheduling method of any one of claim 1 through claim 5.
CN201811543468.XA 2018-12-17 2018-12-17 CDN resource scheduling method and device Active CN109600642B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811543468.XA CN109600642B (en) 2018-12-17 2018-12-17 CDN resource scheduling method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811543468.XA CN109600642B (en) 2018-12-17 2018-12-17 CDN resource scheduling method and device

Publications (2)

Publication Number Publication Date
CN109600642A CN109600642A (en) 2019-04-09
CN109600642B true CN109600642B (en) 2020-10-30

Family

ID=65963908

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811543468.XA Active CN109600642B (en) 2018-12-17 2018-12-17 CDN resource scheduling method and device

Country Status (1)

Country Link
CN (1) CN109600642B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111510734B (en) * 2020-04-17 2021-12-24 广州虎牙科技有限公司 CDN scheduling method, device, storage medium and equipment
CN112738445B (en) * 2020-12-23 2023-06-02 北京大米科技有限公司 Multi-line plug flow method and device, storage medium and electronic equipment
CN112752111B (en) * 2020-12-24 2023-05-16 广州博冠信息科技有限公司 Live stream processing method and device, computer readable storage medium and electronic equipment
CN112752115B (en) * 2020-12-29 2023-09-08 广州博冠信息科技有限公司 Live broadcast data transmission method, device, equipment and medium
CN112866413A (en) * 2021-02-19 2021-05-28 北京金山云网络技术有限公司 Data transmission method and device, electronic equipment and computer readable storage medium
CN113038191B (en) * 2021-02-26 2022-09-23 北京百度网讯科技有限公司 Live stream scheduling method and device, electronic equipment and readable storage medium
CN114679593B (en) * 2022-02-09 2023-09-22 上海哔哩哔哩科技有限公司 Live broadcast transcoding processing method, device and system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012168356A1 (en) * 2011-06-08 2012-12-13 Koninklijke Kpn N.V. Locating and retrieving segmented content
CN104881325A (en) * 2015-05-05 2015-09-02 中国联合网络通信集团有限公司 Resource scheduling method and resource scheduling system
CN106851427A (en) * 2015-12-04 2017-06-13 腾讯科技(深圳)有限公司 A kind of transfer control method and device of live video of playing
CN108012159A (en) * 2017-12-05 2018-05-08 广州华多网络科技有限公司 live video push control method, device and corresponding terminal
CN108260034A (en) * 2018-02-13 2018-07-06 中国联合网络通信集团有限公司 It is a kind of to obtain the method and device for accessing net loaded professional ability

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8099757B2 (en) * 2007-10-15 2012-01-17 Time Warner Cable Inc. Methods and apparatus for revenue-optimized delivery of content in a network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012168356A1 (en) * 2011-06-08 2012-12-13 Koninklijke Kpn N.V. Locating and retrieving segmented content
CN104881325A (en) * 2015-05-05 2015-09-02 中国联合网络通信集团有限公司 Resource scheduling method and resource scheduling system
CN106851427A (en) * 2015-12-04 2017-06-13 腾讯科技(深圳)有限公司 A kind of transfer control method and device of live video of playing
CN108012159A (en) * 2017-12-05 2018-05-08 广州华多网络科技有限公司 live video push control method, device and corresponding terminal
CN108260034A (en) * 2018-02-13 2018-07-06 中国联合网络通信集团有限公司 It is a kind of to obtain the method and device for accessing net loaded professional ability

Also Published As

Publication number Publication date
CN109600642A (en) 2019-04-09

Similar Documents

Publication Publication Date Title
CN109600642B (en) CDN resource scheduling method and device
CN104394441B (en) A kind of dispatching method, the apparatus and system of video content distribution
JP6442507B2 (en) How to allocate available network bandwidth during ongoing traffic sessions performed by devices on the network, corresponding devices
US10652360B2 (en) Access scheduling method and apparatus for terminal, and computer storage medium
CN114501073B (en) Live broadcast source returning method and device
CN113038191A (en) Live stream scheduling method and device, electronic equipment and readable storage medium
JP2017504995A5 (en)
CN111061560A (en) Cloud rendering resource scheduling method and device, electronic equipment and storage medium
CN108965884B (en) Distribution method of transcoding tasks, scheduling device and transcoding device
CN106020777B (en) A kind of data processing method, apparatus and system
CN102893603B (en) Video conferencing processing method, apparatus and communication system
CN108881972A (en) Code rate allocation method, device, equipment and storage medium
CN110784731B (en) Data stream transcoding method, device, equipment and medium
CN114466194A (en) Video coding adjusting method and device, storage medium and electronic equipment
CN112202755B (en) Server distribution method, device, equipment and medium
CN109412977A (en) A kind of domain name bandwidth adjustment method and relevant device
CN111107393A (en) Video transcoding method, transcoder, electronic device and storage medium
CN114679592A (en) Edge cluster scheduling method and device
US8694641B2 (en) Image delivery management server and image delivery management system
CN105049220A (en) MCU resource scheduling method based on television video conference
CN109951723B (en) Method, device and storage medium for adjusting root node in peer-to-peer network live broadcast system
CN111654526A (en) Load balancing method and system for streaming media server
CN112260946B (en) Link failure processing method and device, terminal equipment and storage medium
CN115209189B (en) Video stream transmission method, system, server and storage medium
CN109660826B (en) Video transmission method, device, equipment and storage medium

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210114

Address after: 510000 3108, 79 Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Patentee after: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 28th floor, block B1, Wanda Plaza, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Patentee before: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190409

Assignee: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Assignor: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Contract record no.: X2021440000053

Denomination of invention: A CDN resource scheduling method and device

Granted publication date: 20201030

License type: Common License

Record date: 20210208