CN115460427B - Live broadcast scheduling method, device, computing equipment and storage medium - Google Patents

Live broadcast scheduling method, device, computing equipment and storage medium Download PDF

Info

Publication number
CN115460427B
CN115460427B CN202211037732.9A CN202211037732A CN115460427B CN 115460427 B CN115460427 B CN 115460427B CN 202211037732 A CN202211037732 A CN 202211037732A CN 115460427 B CN115460427 B CN 115460427B
Authority
CN
China
Prior art keywords
live
stream
pull
path
bandwidth
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
CN202211037732.9A
Other languages
Chinese (zh)
Other versions
CN115460427A (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.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili 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 Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202211037732.9A priority Critical patent/CN115460427B/en
Publication of CN115460427A publication Critical patent/CN115460427A/en
Application granted granted Critical
Publication of CN115460427B publication Critical patent/CN115460427B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/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/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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The embodiment of the application discloses a live broadcast scheduling method, a live broadcast scheduling device, a computing device and a storage medium. Wherein the method comprises the following steps: receiving a live stream acquisition request, wherein the live stream acquisition request is used for acquiring a live stream from a live broadcasting room; acquiring the number of real-time viewers in a live broadcasting room; and determining a target pull stream path corresponding to the live stream acquisition request according to the number of the real-time viewers and the resource data corresponding to each pull stream path, so that the client corresponding to the live stream acquisition request can acquire the live stream according to the target pull stream path. According to the method and the device, based on the number of real-time viewers in the live broadcasting room and the resource data corresponding to each pull stream path, the appropriate pull stream path can be determined for the client under the premise that the user viewing experience is not affected, the effective planning of the pull stream path is realized, and the live broadcasting scheduling mode is optimized.

Description

Live broadcast scheduling method, device, computing equipment and storage medium
Technical Field
The embodiment of the application relates to the field of live broadcasting, in particular to a live broadcasting scheduling method, a live broadcasting scheduling device, computing equipment and a computer storage medium.
Background
With the rapid development of live services, the number of anchor and audience members participating in live events is rapidly rising. Generally, since the third-party CDN (Content Delivery Network ) has advantages in transmission parameters such as bandwidth, for a live stream acquisition request of a user, a server side generally pushes a live stream to an upstream edge node, and the third-party CDN acquires the live stream from the upstream edge node, and schedules the user to the third-party CDN to acquire a viewing address, so as to realize pull stream viewing. However, in some cases, the third-party CDN does not store live stream resources that the user wants to watch, and for this case, in the prior art, the third-party CDN generally uses a CDN back-source mode to obtain a live stream that the user wants to watch, and then the user performs pulling watching. However, this type of stream pulling method has a problem of high stream pulling resource consumption.
Disclosure of Invention
In view of the above problems, the present application proposes a live broadcast scheduling method, apparatus, computing device and storage medium, for solving the following problems: the current pulling mode has high pulling resource consumption.
According to an aspect of the embodiments of the present application, there is provided a live broadcast scheduling method, including:
receiving a live stream acquisition request, wherein the live stream acquisition request is used for acquiring a live stream from a live broadcasting room;
acquiring the number of real-time viewers in a live broadcasting room;
and determining a target pull stream path corresponding to the live stream acquisition request according to the number of the real-time viewers and the resource data corresponding to each pull stream path, so that the client corresponding to the live stream acquisition request can acquire the live stream according to the target pull stream path.
In the above scheme, the acquiring the number of live viewers in the live broadcasting room further comprises:
and counting the number of users in the live broadcasting room in real time in the live broadcasting process of the live broadcasting room as the number of real-time watching people in the live broadcasting room.
In the above scheme, the resource data corresponding to each pull stream path includes: bandwidth data corresponding to each pull stream path;
determining a target pull stream path corresponding to the live stream acquisition request according to the number of real-time viewers and the resource data corresponding to each pull stream path further comprises:
According to the number of real-time viewers and the bandwidth data corresponding to each pull flow path, calculating the bandwidth cost corresponding to each pull flow path;
and determining a target pull stream path corresponding to the live stream acquisition request according to the bandwidth cost corresponding to each pull stream path.
In the above-described aspect, each of the pull flow paths includes: a first pull path for pulling through the direct connection upstream edge node and a second pull path for pulling through the upstream edge node and the downstream content distribution network.
In the above scheme, the bandwidth data corresponding to each pull stream path includes: bandwidth data of the upstream edge node and bandwidth data of the downstream content distribution network;
according to the number of real-time viewers and the bandwidth data corresponding to each pull stream path, calculating the bandwidth cost corresponding to each pull stream path further comprises:
according to the number of real-time viewers and the bandwidth data of the uplink edge node, calculating the bandwidth cost corresponding to the first pull stream path;
and calculating the bandwidth cost corresponding to the second pull stream path according to the number of real-time viewers, the bandwidth data of the uplink edge node and the bandwidth data of the downlink content distribution network.
In the above scheme, the resource data corresponding to each pull stream path further includes: real-time load data of the uplink edge node;
Determining a target pull stream path corresponding to the live stream acquisition request according to the bandwidth cost corresponding to each pull stream path further comprises:
and determining a target pull stream path corresponding to the live stream acquisition request according to the bandwidth cost corresponding to each pull stream path and the real-time load data of the uplink edge node.
In the above scheme, determining the target pull stream path corresponding to the live stream acquisition request according to the bandwidth cost corresponding to each pull stream path and the real-time load data of the uplink edge node further includes:
if the bandwidth data of the uplink edge node is smaller than the bandwidth data of the downlink content distribution network and the real-time load data of the uplink edge node accords with the preset load range, determining the first pull stream path as a target pull stream path corresponding to the live stream acquisition request;
if the bandwidth data of the uplink edge node is smaller than the bandwidth data of the downlink content distribution network and the real-time load data of the uplink edge node does not accord with the preset load range, determining the second pull stream as a target pull stream path corresponding to the live stream acquisition request;
and if the bandwidth data of the uplink edge node is larger than or equal to the bandwidth data of the downlink content distribution network, determining a pull stream path with the minimum bandwidth cost in each pull stream path as a target pull stream path corresponding to the live stream acquisition request.
In the above solution, after determining the pull stream path with the smallest bandwidth cost in each pull stream path as the target pull stream path corresponding to the live stream acquisition request, the method further includes:
and if the target pull flow path corresponding to the live stream acquisition request is the second pull flow path and the target pull flow path corresponding to the previous live stream acquisition request is the first pull flow path, triggering a redirection function of the uplink edge node, and redirecting the target pull flow paths corresponding to the live stream acquisition requests before the live stream acquisition request to the second pull flow path so that clients corresponding to the live stream acquisition requests before the live stream acquisition requests can continuously acquire live streams according to the second pull flow path.
In the above scheme, the obtaining, by the client corresponding to the live stream obtaining request, the live stream according to the target pull stream path further includes:
and the client corresponding to the live stream acquisition request acquires the live stream according to the stream pulling address, and the stream pulling address is generated according to the target stream pulling path.
In the above scheme, the method further comprises:
obtaining information of watching places of all users in a live broadcasting room;
and determining the selected area of the uplink edge node when the live broadcasting room live broadcasts next time according to the information of the watching places of all the users.
In the above scheme, determining the selected area of the uplink edge node when the live broadcasting room live broadcasts next time further includes:
determining the region to which each user belongs according to the information of the watching place of each user, and counting the user duty ratio data of each region;
and determining the selected area of the uplink edge node when the live broadcasting room live broadcasts next time according to the user duty ratio data of each area.
In the above scheme, the statistics of the user occupation ratio data of each region further includes:
and calculating the ratio of the number of users corresponding to each region to the total number of users in the live broadcasting room aiming at each region to obtain the user duty ratio data of the region.
In the above scheme, determining the selected region of the uplink edge node when the live broadcasting room is live broadcasting next time further includes:
judging whether the areas with the user duty ratio data conforming to the preset duty ratio range exist in each area according to the user duty ratio data of each area;
if yes, the area is determined to be the selected area of the uplink edge node when the live broadcasting room live broadcasts next time.
According to another aspect of the embodiments of the present application, there is provided a live broadcast scheduling apparatus, including: the device comprises a receiving module, an acquisition module and a path determination module; wherein,
The receiving module is suitable for receiving a live stream acquisition request, wherein the live stream acquisition request is used for acquiring a live stream from a live broadcasting room;
the acquisition module is suitable for acquiring the number of real-time viewers in the live broadcasting room;
and the path determining module is suitable for determining a target pull path corresponding to the live stream acquisition request according to the number of real-time viewers and the resource data corresponding to each pull path, so that the client corresponding to the live stream acquisition request can acquire the live stream according to the target pull path.
According to yet another aspect of embodiments of the present application, there is provided a computing device comprising: the device comprises a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface are communicated with each other through the communication bus;
the memory is used for storing at least one executable instruction, and the executable instruction enables the processor to execute the operation corresponding to the live broadcast scheduling method.
According to still another aspect of the embodiments of the present application, there is provided a computer storage medium, where at least one executable instruction is stored, where the executable instruction causes a processor to perform operations corresponding to the live scheduling method described above.
According to the live broadcast scheduling method, the live broadcast scheduling device, the computing equipment and the computer storage medium, by acquiring the number of live viewers in the live broadcast room and the resource data corresponding to each pull stream path, on the basis of the number of live viewers in the live broadcast room and the resource data corresponding to each pull stream path, a proper pull stream path can be determined for a client on the premise of not influencing the viewing experience of the user, so that the effective planning of the pull stream path is realized, the live broadcast scheduling mode is optimized, and the problem of overhigh resource consumption of the existing live broadcast pull stream mode is solved; and the current situation-adaptive pull flow path can be selected according to different bandwidth costs generated under the conditions of different watching persons and different pull flow paths, real-time load data of the uplink edge node and the like, so that the pull flow can be ensured to be carried out in a proper pull flow mode under various conditions, the waste of pull flow resources is effectively avoided, and the pull flow cost is reduced.
The foregoing description is merely an overview of the technical solutions of the embodiments of the present application, and may be implemented according to the content of the specification, so that the technical means of the embodiments of the present application can be more clearly understood, and the following specific implementation of the embodiments of the present application will be more clearly understood.
Drawings
Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiments. The drawings are only for purposes of illustrating the preferred embodiments and are not to be construed as limiting the examples of the application. Also, like reference numerals are used to designate like parts throughout the figures. In the drawings:
FIG. 1 illustrates a flow diagram of a live scheduling method according to one embodiment of the present application;
FIG. 2 illustrates a flow diagram of a pull flow path determination method according to one embodiment of the present application;
FIG. 3 shows a flow diagram of a pull flow path determination method according to another embodiment of the present application;
FIG. 4 illustrates a pull flow path redirection schematic according to one embodiment of the present application;
FIG. 5 is a flow chart of a method for determining an uplink edge node selection area according to one embodiment of the present application;
FIG. 6 illustrates a block diagram of a live scheduling apparatus according to one embodiment of the present application;
FIG. 7 illustrates a structural schematic diagram of a computing device according to one embodiment of the present application.
Detailed Description
Exemplary embodiments of the present application will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present application are shown in the drawings, it should be understood that the present application may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the application to those skilled in the art.
First, terms appearing in the present application are interpreted as nouns:
live stream: during live broadcast, live audio and video data can be transmitted as a steady and continuous stream to the viewer for viewing.
Real-time viewing of the number of people: the real population of the live broadcast room is watched in real time.
CDN: a content distribution network (Content Delivery Network) which is an intelligent virtual network built on the basis of the existing network; according to the method, the user can obtain the required content nearby by means of the edge servers deployed in various places through the functional modules such as scheduling, load balancing and content distribution of the central platform, network congestion is reduced, and the access response speed and hit rate of the user are improved.
CDN source back: if the CDN server does not have the resource requested by the user, the service server can be requested to acquire the resource and carry out the caching process.
Live broadcast uplink: the anchor opens a link that pushes live video data to a service.
Direct broadcast downlink: the audience enters the living broadcast room to pull video resources from the CDN, and the whole link of the CDN back source is collectively called.
302 jump: 302redirect, also known as transient transfer (Temporarily Moved) or transient redirect (Temporary Redirect), english name: 302redirect. Used when one resource data undergoes short-term URL (Uniform Resource Locator, uniform resource location system) changes.
Fig. 1 shows a flow diagram of a live scheduling method according to an embodiment of the present application, as shown in fig. 1, the method includes the following steps:
step S101, a live stream acquisition request is received, wherein the live stream acquisition request is used for acquiring a live stream from a live broadcasting room.
Specifically, when a user wants to watch live broadcast, a client corresponding to the live broadcast can be started, after the client is started, a plurality of live broadcast rooms are displayed in a client page, the user can select one live broadcast room from the plurality of live broadcast rooms to enter, when the user selects one live broadcast room, the client can send a live broadcast stream acquisition request aiming at the live broadcast room to a server for requesting to acquire live broadcast streams of the live broadcast room, and the server receives the live broadcast stream acquisition request.
Step S102, obtaining the number of real-time viewers in the live broadcasting room.
Specifically, the number of users in the live broadcasting room is counted in real time in the live broadcasting process of the live broadcasting room to serve as the number of real-time watching persons in the live broadcasting room. Preferably, the number of users in the live broadcasting room in the live broadcasting process can be counted in real time by using the people counting service for the live broadcasting room. The people counting service is a functional module for counting the number of people watched.
And step S103, determining a target pull stream path corresponding to the live stream acquisition request according to the number of people watching in real time and the resource data corresponding to each pull stream path, so that the client corresponding to the live stream acquisition request can acquire the live stream according to the target pull stream path.
Specifically, the resource data corresponding to each pull stream path may include bandwidth data corresponding to each pull stream path, and may further include real-time load data of an uplink edge node. Taking the example that the resource data corresponding to each pull stream path includes the bandwidth data corresponding to each pull stream path, the bandwidth cost corresponding to each pull stream path can be calculated according to the number of real-time viewers and the bandwidth data corresponding to each pull stream path, and then the target pull stream path corresponding to the live stream acquisition request can be determined according to the bandwidth cost corresponding to each pull stream path.
In the prior art, when a user watches live broadcast, a live broadcast platform (or a service end) provides a watching address of a Content Delivery Network (CDN) to the user, and the user performs pull-stream watching from a corresponding CDN manufacturer through the watching address. When no live stream requested to be played by a user exists in the content delivery network, the content delivery network carries out uplink CDN source returning, and corresponding live streams are acquired from an uplink edge node; and then, the user transmits the live broadcast stream through the downlink resource, and the content distribution network acquires the corresponding live broadcast stream. Therefore, in the whole process, the user performs downstream viewing from the CDN and performs upstream CDN source returning, which generates bandwidth cost. Because the obtained live stream is cached after the CDN returns to the source, when the number of audience is large, the bandwidth cost generated by the CDN returns to the source once is far less than the bandwidth cost of pulling and watching a large number of users from the CDN. However, in a live broadcast room with a small audience, the two parts have relatively similar cost, and the problem of bandwidth cost waste exists when the mode is adopted for streaming. Therefore, by setting different pull flow paths, the bandwidth cost corresponding to each pull flow path is calculated according to the number of people watching in real time and the bandwidth data corresponding to each pull flow path, and the acquisition of the live broadcast content by the user is realized by selecting the proper pull flow path based on the bandwidth cost, so that the waste of pull flow resources is effectively avoided, and the pull flow cost is reduced.
In the embodiment, by acquiring the number of live viewers in the live broadcasting room and the resource data corresponding to each pull stream path, based on the number of live viewers in the live broadcasting room and the resource data corresponding to each pull stream path, on the premise of guaranteeing the user viewing experience, the appropriate pull stream path is determined and selected for pull stream, so that the effective planning of the pull stream path is realized, the live broadcasting scheduling mode is optimized, the problem of overhigh resource consumption in the existing live broadcasting pull stream mode is solved, the waste of the pull stream resource is avoided, and the pull stream cost is effectively reduced.
Specifically, each of the pull flow paths may include: a first pull path for pulling through the direct connection upstream edge node and a second pull path for pulling through the upstream edge node and the downstream content distribution network. The determination of the pull flow path is described in detail below.
Fig. 2 shows a flow diagram of a pull flow path determining method according to an embodiment of the present application, as shown in fig. 2, the method includes the following steps:
step S201, bandwidth cost corresponding to the first pull stream is calculated according to the number of real-time viewers and the bandwidth data of the uplink edge node.
Specifically, data and a calculation mode required for calculating the bandwidth cost corresponding to the first pull stream path are determined, and then the bandwidth cost corresponding to the first pull stream path is obtained through calculation. Since the first pull path is that the client is directly connected to the upstream edge node, the data required to calculate the bandwidth cost corresponding to the first pull path may include: bandwidth data of the upstream edge node and real-time number of viewers in the live broadcasting room.
Wherein, the bandwidth data of the uplink edge node may further include: upstream edge node bandwidth unit price; thus, the bandwidth cost corresponding to the first pull-out path may be calculated by:
bandwidth cost corresponding to the first pull channel = n x m x a;
wherein n is the number of real-time viewers in the living room; m is a bandwidth value required for transmitting the live stream of the live broadcasting room; a is the upstream edge node bandwidth unit price.
Step S202, bandwidth cost corresponding to the second pull stream is calculated according to the number of real-time viewers, the bandwidth data of the uplink edge node and the bandwidth data of the downlink content distribution network.
Specifically, data and a calculation mode required for calculating the bandwidth cost corresponding to the second pull stream path are determined, and then the bandwidth cost corresponding to the second pull stream path is obtained through calculation. Since the second pull stream path is pulled by the upstream edge node and the downstream content distribution network, the data required to calculate the bandwidth cost corresponding to the second pull stream path may include: real-time watching number of live broadcasting rooms, bandwidth data of an uplink edge node and bandwidth data of a downlink content distribution network.
Wherein the bandwidth data of the downstream content distribution network may further include: downstream content delivery network bandwidth unit price; thus, the bandwidth cost corresponding to the second pull-out path may be calculated by:
Bandwidth cost corresponding to the second pull channel=1×m×a+n×m×b;
wherein n is the number of real-time viewers in the living room; m is a bandwidth value required for transmitting the live stream of the live broadcasting room; a is the bandwidth unit price of the uplink edge node; b is the downstream content distribution network bandwidth unit price.
Step S203, determining a target pull stream path corresponding to the live stream acquisition request according to the bandwidth cost corresponding to each pull stream path.
Specifically, the bandwidth cost corresponding to the first pull stream path calculated in step S201 and step S202 is compared with the bandwidth cost corresponding to the second pull stream path, and a pull stream path with a smaller bandwidth cost is selected as the target pull stream path corresponding to the live stream acquisition request.
Preferably, each time a new live stream acquisition request is received, according to various data such as the number of acquired live viewers and the bandwidth unit price corresponding to the two streaming modes, determining the bandwidth cost corresponding to the two streaming modes under the current condition, and selecting a streaming path with smaller cost from the two streaming modes, so that when the number of viewers changes, the streaming path with smaller bandwidth cost can be selected from the two streaming paths, and the cost optimization under various conditions is ensured.
According to the method and the device, based on different pulling modes, a first pulling path for pulling through the direct connection of the uplink edge node and a second pulling path for pulling through the uplink edge node and the downlink content distribution network are determined, the bandwidth cost of two different pulling paths is calculated by acquiring the number of current real-time viewers in the live broadcasting room, the bandwidth value of the live broadcasting room and the bandwidth unit price of the uplink edge node and the downlink content distribution network, and the pulling path with the smaller bandwidth cost under the current condition is obtained through comparison to serve as a target pulling path corresponding to a live broadcasting stream acquisition request. By using the technical scheme, a comparison method can be used for selecting a pull flow path with lower bandwidth cost from different pull flow paths in the process of selecting the pull flow path as a final target pull flow path, so that the bandwidth cost possibly generated in the pull flow process is effectively reduced.
In the pull flow path determining method, the resource data corresponding to each pull flow path may further include: real-time load data of the uplink edge node; therefore, the target pull stream path corresponding to the live stream acquisition request can be determined comprehensively according to the bandwidth cost corresponding to each pull stream path and the real-time load data of the uplink edge node. As shown in fig. 3, fig. 3 shows a flow diagram of a pull flow path determining method according to another embodiment of the present application, wherein the method includes the steps of:
Step S301: and judging whether the bandwidth data of the uplink edge node is smaller than the bandwidth data of the downlink content distribution network.
Specifically, according to the calculation mode of the bandwidth cost corresponding to the two determined pull flow paths, namely
Bandwidth cost corresponding to the first pull channel = n x m x a;
bandwidth cost corresponding to the second pull channel=1×m×a+n×m×b;
according to the above formula, when the bandwidth data of the upstream edge node is smaller than the bandwidth data of the downstream content distribution network, no matter how much the number n of real-time viewers is, the bandwidth cost corresponding to the first pull stream path is necessarily smaller than the bandwidth cost corresponding to the second pull stream path. If the bandwidth data of the uplink edge node is smaller than the bandwidth data of the downlink content distribution network, the real-time load data of the uplink edge node is combined to determine the target pull-stream path, and step S302 is executed.
When the bandwidth data of the upstream edge node is greater than or equal to the bandwidth data of the downstream content distribution network, based on the calculation mode of the bandwidth costs corresponding to the two pull paths, the size relationship of the bandwidth costs corresponding to the two pull paths needs to be specifically determined according to the number of real-time viewers, and then the pull path determining method shown in fig. 2 is adopted to determine the final target pull path. If the bandwidth data of the upstream edge node is greater than or equal to the bandwidth data of the downstream content distribution network, step S305 is performed.
Step S302: and judging whether the real-time load data of the uplink edge node accords with a preset load range.
Specifically, according to the above formula, when the bandwidth data of the upstream edge node is smaller than the bandwidth data of the downstream content distribution network, the larger the number n of real-time viewers in the live broadcast room is, the better the bandwidth cost corresponding to the first pull stream path is than the bandwidth cost corresponding to the second pull stream path, and accordingly, the more the pull stream cost is saved. Therefore, the first pull stream is set as the target pull stream corresponding to the live stream acquisition request at this time, and the pull stream cost optimization requirement is satisfied.
However, it should be noted that, due to the application purpose and the functional difference between the upstream edge node and the downstream content distribution network, the overall bandwidth and the load carrying capacity of the upstream edge node are not as good as those of the downstream content distribution network. Therefore, if the bandwidth data of the uplink edge node is smaller than the bandwidth data of the downlink content distribution network, if the number n of real-time viewers is large, that is, if many users directly pull streams from the uplink edge node, the real-time load of the uplink edge node is high, and thus, the operations such as push-pull and pull stream may be blocked, and even a system crash occurs.
Therefore, in the case where the bandwidth data of the upstream edge node is smaller than the bandwidth data of the downstream content distribution network, it is necessary to set a guard range of the load, that is, a preset load range, for the upstream edge node. And determining a specific pull-stream mode according to whether the real-time load data of the current uplink edge node accords with a preset load range. If the real-time load data of the uplink edge node accords with the preset load range, which indicates that the load capacity of the uplink edge node has a residual capacity to process the new audience to pull streams from the uplink edge node, step S303 is executed; if the real-time load data of the uplink edge node does not meet the preset load range, it is indicated that the load data of the uplink edge node has exceeded the guard range, possibly affecting the working efficiency thereof, and the newly increased audience is not suitable to pull the current from the uplink edge node, and step S304 is performed. For example, the preset load range may be 0 to 60%, or the like.
Step S303: and selecting the first pull stream path as a target pull stream path corresponding to the live stream acquisition request.
Specifically, if the bandwidth data of the uplink edge node is smaller than the bandwidth data of the downlink content distribution network and the real-time load data of the uplink edge node accords with the preset load range, the optimization selection of the bandwidth cost is met, the load limit of the uplink edge node is met, and the first pull stream path is determined to be the target pull stream path corresponding to the live stream acquisition request.
Step S304: and selecting the second pull stream path as a target pull stream path corresponding to the live stream acquisition request.
Specifically, if the bandwidth data of the uplink edge node is smaller than the bandwidth data of the downlink content distribution network and the real-time load data of the uplink edge node does not conform to the preset load range, it is indicated that the normal load capacity of the uplink edge node is exceeded currently, and the user is not suitable to directly pull the stream through the uplink edge node, at this time, the second pull stream can be selected as the target pull stream mode corresponding to the live stream acquisition request, that is, the pull stream is performed through the downlink content distribution network, and the load generated by the direct pull stream of the uplink edge node is not increased. That is, the second pull stream path is determined as the target pull stream path corresponding to the live stream acquisition request.
Step S305: and determining the pull stream path with the minimum bandwidth cost in each pull stream path as a target pull stream path corresponding to the live stream acquisition request.
Specifically, when the bandwidth data of the upstream edge node is greater than or equal to the bandwidth data of the downstream content distribution network, based on the calculation mode of the bandwidth costs corresponding to the two pull paths, it is necessary to specifically determine the size relationship of the bandwidth costs corresponding to the two pull paths according to the number of real-time viewers, and further, the pull path determining method shown in fig. 2 is adopted to determine the pull path with the minimum bandwidth cost in each pull path as the target pull path corresponding to the live stream acquisition request.
Optionally, the method further comprises: and if the target pull flow path corresponding to the live stream acquisition request is the second pull flow path and the target pull flow path corresponding to the previous live stream acquisition request is the first pull flow path, triggering a redirection function of the uplink edge node, and redirecting the target pull flow paths corresponding to the live stream acquisition requests before the live stream acquisition request to the second pull flow path so that clients corresponding to the live stream acquisition requests before the live stream acquisition requests can continuously acquire live streams according to the second pull flow path.
Specifically, in the process of increasing the number of people watching in real time, the first pull flow path is adopted instead of the second pull flow path for pull flow due to load reasons or cost reasons. At this time, if the real-time load data of the upstream edge node does not conform to the preset load range, or the bandwidth cost corresponding to the first pull stream path is greater than the bandwidth cost corresponding to the second pull stream path, the target pull stream path corresponding to each live stream acquisition request that has previously selected the first pull stream path is redirected to the second pull stream path by the redirection function of the upstream edge node, that is, the pull stream paths of the clients that have previously requested to acquire live streams in the same live broadcasting room are all redirected to the second pull stream path, so that the clients continue to acquire live streams through the second pull stream path. And when a new live stream acquisition request for the live broadcasting room is subsequently received, the second pull stream path can be directly determined as a target pull stream path, so that the corresponding client side can acquire the live stream according to the target pull stream path.
Under the condition that the bandwidth data of the uplink edge node is smaller than the bandwidth data of the downlink content distribution network and the load of the uplink edge node is not in the preset load range, if the first pull stream is continuously adopted for pulling stream, the normal operation of the uplink edge node may be affected. And if the first pull flow path is selected first and then redirected every time a new live flow acquisition request is received, the normal operation of the uplink edge node is still affected. Therefore, when the number n of real-time viewers is large, the second pull-out path is selected as the target pull-out path in order to ensure the normal operation of the upstream edge node.
If the bandwidth data of the upstream edge node is greater than or equal to the bandwidth data of the downstream content distribution network, after the bandwidth cost of the second pull stream path is smaller than the bandwidth cost of the first pull stream path, the more the real-time viewer is, according to the above formula, the more the second pull stream path is better than the first pull stream path, so that, by redirecting, the second pull stream path is used as a new target pull stream path for the old user who has previously determined the first pull stream path as the target pull stream path, and the second pull stream path is directly determined as the target pull stream path for the new user corresponding to the new live stream acquisition request, the optimal pull stream path selection for the bandwidth cost can be realized.
Preferably, the redirection method may be implemented based on the 302 jump function. As shown in fig. 4, fig. 4 illustrates a pull flow path redirection schematic according to one embodiment of the present application.
The target pulling path corresponding to the live stream acquisition request of the new user is a pulling live stream through the downlink content distribution network, namely a second pulling path. And the user in watching is a user who pulls the direct-current broadcast before the new user, and pulls the direct-current broadcast through the uplink edge node, namely the corresponding target pull-stream path is the first pull-stream path. At this time, all users who make a live stream acquisition request later including the new user will directly pull streams through the second pull stream path. And for the watching user entering the live broadcasting room before the new user, triggering the redirection function of the uplink edge node, disconnecting the original first pull stream path, and redirecting the target pull stream paths corresponding to the live broadcasting stream acquisition requests of the users into a second pull stream path. And finally, all users in the live broadcasting room finish the stream pulling process of acquiring the live broadcasting stream through the second stream pulling stream.
Specifically, the client corresponding to the live stream acquisition request acquires the live stream according to the stream pulling address, and the stream pulling address is generated according to the target stream pulling path. When the target pulling flow path is a first pulling flow path, generating a pulling flow address according to the ip address of the uplink edge node, and providing the pulling flow address for a client to acquire a live flow; and when the target pull stream path is the second pull stream path, generating a pull stream address according to the address provided by the downlink content distribution network, and providing the pull stream address for the client to acquire the live stream.
According to the embodiment, when the bandwidth data of the uplink edge node is smaller than the bandwidth data of the downlink content distribution network, the target pull flow path is determined according to whether the real-time load data of the uplink edge node accords with the preset load range, so that the bandwidth cost under various conditions is in an optimal state, and meanwhile, the load of the uplink edge node is in a reasonable range, and the normal operation of the uplink edge node is ensured. In addition, when the target pull flow path corresponding to the last live stream acquisition request is the first pull flow path and the target pull flow path corresponding to the current live stream acquisition request is the second pull flow path, redirecting the previous target pull flow path to be changed into the second pull flow path, and determining the target pull flow paths corresponding to the new live stream acquisition request as the second pull flow path, so that the load condition of the uplink edge node is ensured, the bandwidth cost of the target pull flow path is always in an optimal state after the load condition, and the efficiency of the user pull flow process is effectively ensured.
Fig. 5 is a flow chart of a method for determining an uplink edge node selection area according to an embodiment of the present application, as shown in fig. 5, where the method includes the following steps:
Step S501: and obtaining the information of the watching places of all users in the live broadcasting room.
Step S502: and determining the selected area of the uplink edge node when the live broadcasting room live broadcasts next time according to the information of the watching places of all the users.
Specifically, determining the region to which each user belongs according to the information of the watching place of each user, and counting the user duty ratio data of each region; and determining the selected area of the uplink edge node when the live broadcasting room live broadcasts next time according to the user duty ratio data of each area. Specifically, for each region in each region, calculating the ratio between the number of users corresponding to the region and the total number of users in the live broadcasting room to obtain the user ratio data of the region; then judging whether the areas with the user duty ratio data conforming to the preset duty ratio range exist in each area according to the user duty ratio data of each area; if yes, the area is determined to be the selected area of the uplink edge node when the live broadcasting room live broadcasts next time. Preferably, the predetermined range of duty cycles may be a range greater than one predetermined ratio, for example greater than 70%.
The user proportion data of each region is further obtained by obtaining the information of the watching places of each user, the audience of which region is the largest in the current live broadcast process can be seen through the user proportion data, and if the user proportion data of a certain region accords with the preset proportion range (if the user proportion data is larger than the preset proportion value), the region is the main source place of the audience watching the current live broadcast. Therefore, the area is determined as the selected area of the uplink edge node in the next live broadcast, so that most spectators can finish the current drawing locally, the current drawing efficiency is improved, and the smoothness of watching live broadcast by users is effectively improved.
Fig. 6 shows a block diagram of a live scheduling apparatus according to an embodiment of the present application, as shown in fig. 6, the apparatus includes: a receiving module 601, an acquiring module 602, and a path determining module 603; wherein,
the receiving module 601 is adapted to receive a live stream acquisition request, where the live stream acquisition request is used to acquire a live stream from a live room.
The acquisition module 602 is adapted to acquire the number of live viewers in the live broadcasting room.
Specifically, the acquisition module 602 is further adapted to: and counting the number of users in the live broadcasting room in real time in the live broadcasting process of the live broadcasting room as the number of real-time watching people in the live broadcasting room.
The path determining module 603 is adapted to determine, according to the number of real-time viewers and the resource data corresponding to each pull stream path, a target pull stream path corresponding to the live stream acquisition request, so that the client corresponding to the live stream acquisition request can acquire the live stream according to the target pull stream path.
Specifically, the resource data corresponding to each pull stream path includes: bandwidth data corresponding to each pull stream path; the path determination module 603 is further adapted to: according to the number of real-time viewers and the bandwidth data corresponding to each pull flow path, calculating the bandwidth cost corresponding to each pull flow path; and determining a target pull stream path corresponding to the live stream acquisition request according to the bandwidth cost corresponding to each pull stream path.
Specifically, each pull flow path includes: a first pull path for pulling through the direct connection upstream edge node and a second pull path for pulling through the upstream edge node and the downstream content distribution network.
Specifically, the bandwidth data corresponding to each pull stream path includes: bandwidth data of the upstream edge node and bandwidth data of the downstream content distribution network; the path determination module 603 is further adapted to: according to the number of real-time viewers and the bandwidth data of the uplink edge node, calculating the bandwidth cost corresponding to the first pull stream path; and calculating the bandwidth cost corresponding to the second pull stream path according to the number of real-time viewers, the bandwidth data of the uplink edge node and the bandwidth data of the downlink content distribution network.
Specifically, the resource data corresponding to each pull stream path further includes: real-time load data of the uplink edge node; the path determination module 603 is further adapted to: and determining a target pull stream path corresponding to the live stream acquisition request according to the bandwidth cost corresponding to each pull stream path and the real-time load data of the uplink edge node.
Specifically, the path determination module 603 is further adapted to: if the bandwidth data of the uplink edge node is smaller than the bandwidth data of the downlink content distribution network and the real-time load data of the uplink edge node accords with the preset load range, determining the first pull stream path as a target pull stream path corresponding to the live stream acquisition request; if the bandwidth data of the uplink edge node is smaller than the bandwidth data of the downlink content distribution network and the real-time load data of the uplink edge node does not accord with the preset load range, determining the second pull stream as a target pull stream path corresponding to the live stream acquisition request; and if the bandwidth data of the uplink edge node is larger than or equal to the bandwidth data of the downlink content distribution network, determining a pull stream path with the minimum bandwidth cost in each pull stream path as a target pull stream path corresponding to the live stream acquisition request.
Specifically, the path determination module 603 is further adapted to: and if the target pull flow path corresponding to the live stream acquisition request is the second pull flow path and the target pull flow path corresponding to the previous live stream acquisition request is the first pull flow path, triggering a redirection function of the uplink edge node, and redirecting the target pull flow paths corresponding to the live stream acquisition requests before the live stream acquisition request to the second pull flow path so that clients corresponding to the live stream acquisition requests before the live stream acquisition requests can continuously acquire live streams according to the second pull flow path.
Specifically, the client corresponding to the live stream acquisition request acquires the live stream according to the stream pulling address, and the stream pulling address is generated according to the target stream pulling path.
Optionally, the apparatus further comprises: and a selection module 604. Wherein the selection module 604 is adapted to: obtaining information of watching places of all users in a live broadcasting room; and determining the selected area of the uplink edge node when the live broadcasting room live broadcasts next time according to the information of the watching places of all the users.
Specifically, the selection module 604 is further adapted to: determining the region to which each user belongs according to the information of the watching place of each user, and counting the user duty ratio data of each region; the method comprises the steps of calculating the ratio of the number of users corresponding to each region to the total number of users in a live broadcasting room according to each region in each region to obtain user ratio data of the region;
Determining the selected area of the uplink edge node when the live broadcasting room live broadcasts next time according to the user duty ratio data of each area; judging whether the areas with the user duty ratio data conforming to the preset duty ratio range exist in each area according to the user duty ratio data of each area; if yes, the area is determined to be the selected area of the uplink edge node when the live broadcasting room live broadcasts next time.
The above descriptions of the modules refer to the corresponding descriptions in the method embodiments, and are not repeated herein.
According to the live broadcast scheduling device provided by the embodiment of the application, the live broadcast scheduling mode is optimized, the problem of overhigh resource consumption of the existing live broadcast streaming mode is solved, the waste of streaming resources is avoided, and the streaming cost is effectively reduced by determining and selecting the proper streaming paths to carry out streaming on the premise of guaranteeing the user viewing experience by acquiring the number of live viewers in the live broadcast room and the resource data corresponding to each streaming path; meanwhile, by selecting the main source land of the user as the selected area of the uplink edge node, the streaming efficiency is improved, and the smoothness of watching live broadcast by the user is improved.
The embodiment of the application also provides a nonvolatile computer storage medium, and the computer storage medium stores at least one executable instruction, wherein the executable instruction can execute the live broadcast scheduling method in any of the method embodiments.
FIG. 7 illustrates a schematic diagram of a computing device, and embodiments of the present application are not limited to a particular implementation of a computing device.
As shown in fig. 7, the computing device may include: a processor 702, a communication interface (Communications Interface), a memory 706, and a communication bus 708.
Wherein:
processor 702, communication interface 704, and memory 706 perform communication with each other via a communication bus 708.
A communication interface 704 for communicating with network elements of other devices, such as clients or other servers.
The processor 702 is configured to execute the program 710, and may specifically perform relevant steps in the foregoing live scheduling method embodiment.
In particular, program 710 may include program code including computer-operating instructions.
The processor 702 may be a Central Processing Unit (CPU), or a specific integrated circuit ASIC (Application Specific Integrated Circuit), or one or more integrated circuits configured to implement embodiments of the present application. The one or more processors included by the computing device may be the same type of processor, such as one or more CPUs; but may also be different types of processors such as one or more CPUs and one or more ASICs.
Memory 706 for storing programs 710. The memory 706 may comprise high-speed RAM memory or may further comprise non-volatile memory (non-volatile memory), such as at least one disk memory.
The program 710 may be specifically configured to cause the processor 702 to perform the live scheduling method in any of the method embodiments described above. The specific implementation of each step in the program 710 may refer to corresponding steps and corresponding descriptions in the units in the foregoing live scheduling method embodiment, which are not described herein. It will be clear to those skilled in the art that, for convenience and brevity of description, specific working procedures of the apparatus and modules described above may refer to corresponding procedure descriptions in the foregoing method embodiments, which are not repeated herein.
The algorithms and displays presented herein are not inherently related to any particular computer, virtual system, or other apparatus. Various general-purpose systems may also be used with the teachings herein. The required structure for a construction of such a system is apparent from the description above. In addition, embodiments of the present application are not directed to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the embodiments of the present application as described herein, and the above description of specific languages is provided for disclosure of enablement and best mode of the embodiments of the present application.
In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the application may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the above description of exemplary embodiments of the application, various features of embodiments of the application are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be construed as reflecting the intention that: i.e., the claimed embodiments of the application claim more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this application embodiment.
Those skilled in the art will appreciate that the modules in the apparatus of the embodiments may be adaptively changed and disposed in one or more apparatuses different from the embodiments. The modules or units or components of the embodiments may be combined into one module or unit or component and, furthermore, they may be divided into a plurality of sub-modules or sub-units or sub-components. Any combination of all features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or units of any method or apparatus so disclosed, may be used in combination, except insofar as at least some of such features and/or processes or units are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings), may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that while some embodiments described herein include some features but not others included in other embodiments, combinations of features of different embodiments are meant to be within the scope of embodiments of the present application and form different embodiments. For example, in the following claims, any of the claimed embodiments can be used in any combination.
The various component embodiments of the present embodiments may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. Those skilled in the art will appreciate that some or all of the functionality of some or all of the components according to embodiments of the present application may be implemented in practice using a microprocessor or Digital Signal Processor (DSP). Embodiments of the present application may also be implemented as a device or apparatus program (e.g., a computer program and a computer program product) for performing a portion or all of the methods described herein. Such a program embodying the embodiments of the present application may be stored on a computer readable medium, or may have the form of one or more signals. Such signals may be downloaded from an internet website, provided on a carrier signal, or provided in any other form.
It should be noted that the above-mentioned embodiments illustrate rather than limit the embodiments of the application, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The embodiments of the application may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by one and the same item of hardware. The use of the words first, second, third, etc. do not denote any order. These words may be interpreted as names.

Claims (13)

1. A live scheduling method, comprising:
receiving a live stream acquisition request, wherein the live stream acquisition request is used for acquiring a live stream from a live broadcasting room;
acquiring the number of real-time viewers in the live broadcasting room;
determining a target pull stream path corresponding to the live stream acquisition request according to the number of real-time viewers and resource data corresponding to each pull stream path, so that a client corresponding to the live stream acquisition request can acquire the live stream according to the target pull stream path;
wherein each pull flow path includes: a first pull-stream path for pulling stream through the direct connection uplink edge node and a second pull-stream path for pulling stream through the uplink edge node and the downlink content distribution network;
the determining, according to the number of real-time viewers and the resource data corresponding to each pull stream path, the target pull stream path corresponding to the live stream acquisition request further includes:
calculating the bandwidth cost corresponding to each pull flow path according to the number of the real-time viewers and the bandwidth data corresponding to each pull flow path;
determining a target pull stream path corresponding to the live stream acquisition request according to the bandwidth cost corresponding to each pull stream path;
Wherein, bandwidth data corresponding to each pull stream path includes: bandwidth data of the uplink edge node and bandwidth data of the downlink content distribution network;
the calculating the bandwidth cost corresponding to each pull flow path according to the number of real-time viewers and the bandwidth data corresponding to each pull flow path further comprises:
calculating the bandwidth cost corresponding to the first pull-out path according to the number of real-time viewers and the bandwidth data of the uplink edge node;
calculating the bandwidth cost corresponding to the second pull stream according to the number of real-time viewers, the bandwidth data of the uplink edge node and the bandwidth data of the downlink content distribution network;
bandwidth cost=n×m×a corresponding to the first pull channel; bandwidth cost corresponding to the second pull channel=1×m×a+n×m×b; wherein n is the number of real-time viewers in the live broadcasting room; m is a bandwidth value required for transmitting the live stream of the live broadcasting room; a is the bandwidth unit price of the uplink edge node; b is the downstream content distribution network bandwidth unit price.
2. The method of claim 1, wherein the obtaining the live view number of the live room further comprises:
And counting the number of users in the live broadcasting room in real time in the live broadcasting process of the live broadcasting room as the number of real-time watching persons in the live broadcasting room.
3. The method of claim 1, wherein the resource data corresponding to each pull stream path further comprises: real-time load data of the uplink edge node;
the determining, according to the bandwidth costs corresponding to the pull stream paths, the target pull stream path corresponding to the live stream acquisition request further includes:
and determining a target pull stream path corresponding to the live stream acquisition request according to the bandwidth cost corresponding to each pull stream path and the real-time load data of the uplink edge node.
4. The method of claim 3, wherein the determining, according to the bandwidth costs corresponding to the pull-stream paths and the real-time load data of the upstream edge node, the target pull-stream path corresponding to the live-stream acquisition request further comprises:
if the bandwidth data of the uplink edge node is smaller than the bandwidth data of the downlink content distribution network and the real-time load data of the uplink edge node accords with a preset load range, determining the first pull stream as a target pull stream corresponding to the live stream acquisition request;
If the bandwidth data of the uplink edge node is smaller than the bandwidth data of the downlink content distribution network and the real-time load data of the uplink edge node does not accord with a preset load range, determining the second pull stream as a target pull stream path corresponding to the live stream acquisition request;
and if the bandwidth data of the uplink edge node is greater than or equal to the bandwidth data of the downlink content distribution network, determining a pull stream path with the minimum bandwidth cost in each pull stream path as a target pull stream path corresponding to the live stream acquisition request.
5. The method of claim 4, wherein after the determining a pull stream path with a minimum bandwidth cost of the respective pull stream paths as the target pull stream path corresponding to the live stream acquisition request, the method further comprises:
and if the target pull stream path corresponding to the live stream acquisition request is the second pull stream path and the target pull stream path corresponding to the previous live stream acquisition request is the first pull stream path, triggering a redirection function of the upstream edge node, and redirecting the target pull stream path corresponding to each live stream acquisition request before the live stream acquisition request to the second pull stream path so that the client corresponding to each live stream acquisition request before the live stream acquisition request can continuously acquire the live stream according to the second pull stream path.
6. The method according to any one of claims 1-5, wherein the obtaining, by the client corresponding to the live stream obtaining request, the live stream according to the target pull stream path further includes:
and the client corresponding to the live stream acquisition request acquires the live stream according to a stream pulling address, and the stream pulling address is generated according to the target stream pulling path.
7. The method of any of claims 1-5, wherein the method further comprises:
obtaining information of watching places of all users in the live broadcasting room;
and determining the selected area of the uplink edge node when the live broadcasting room live broadcasts next time according to the information of the watching places of the users.
8. The method of claim 7, wherein the determining, according to the viewing location information of the respective users, the selected region of the upstream edge node at the next live broadcast in the live broadcast room further comprises:
determining the region to which each user belongs according to the information of the watching places of each user, and counting the user duty ratio data of each region;
and determining the selected region of the uplink edge node when the live broadcasting room live broadcasts next time according to the user duty ratio data of each region.
9. The method of claim 8, wherein the counting user-profile data for each region further comprises:
and calculating the ratio of the number of users corresponding to each region to the total number of users in the live broadcasting room aiming at each region to obtain the user ratio data of the region.
10. The method of claim 8, wherein the determining, according to the user duty data of the respective regions, the selected region of the upstream edge node when the live room is live next time further comprises:
judging whether the areas with the user duty ratio data conforming to a preset duty ratio range exist in each area according to the user duty ratio data of each area;
if yes, the region is determined to be the selected region of the uplink edge node when the live broadcasting room live broadcasts next time.
11. A live scheduling apparatus comprising: the device comprises a receiving module, an acquisition module and a path determination module; wherein,
the receiving module is suitable for receiving a live stream acquisition request, wherein the live stream acquisition request is used for acquiring a live stream from a live broadcasting room;
the acquisition module is suitable for acquiring the number of real-time viewers in the live broadcasting room;
the path determining module is adapted to determine a target pull stream path corresponding to the live stream acquisition request according to the number of real-time viewers and resource data corresponding to each pull stream path, so that a client corresponding to the live stream acquisition request can acquire the live stream according to the target pull stream path;
Wherein each pull flow path includes: a first pull-stream path for pulling stream through the direct connection uplink edge node and a second pull-stream path for pulling stream through the uplink edge node and the downlink content distribution network;
the path determination module is further adapted to: calculating the bandwidth cost corresponding to each pull flow path according to the number of the real-time viewers and the bandwidth data corresponding to each pull flow path; determining a target pull stream path corresponding to the live stream acquisition request according to the bandwidth cost corresponding to each pull stream path;
wherein, bandwidth data corresponding to each pull stream path includes: bandwidth data of the uplink edge node and bandwidth data of the downlink content distribution network;
the path determination module is further adapted to: calculating the bandwidth cost corresponding to the first pull-out path according to the number of real-time viewers and the bandwidth data of the uplink edge node; calculating the bandwidth cost corresponding to the second pull stream according to the number of real-time viewers, the bandwidth data of the uplink edge node and the bandwidth data of the downlink content distribution network;
bandwidth cost=n×m×a corresponding to the first pull channel; bandwidth cost corresponding to the second pull channel=1×m×a+n×m×b; wherein n is the number of real-time viewers in the live broadcasting room; m is a bandwidth value required for transmitting the live stream of the live broadcasting room; a is the bandwidth unit price of the uplink edge node; b is the downstream content distribution network bandwidth unit price.
12. A computing device, comprising: the device comprises a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface complete communication with each other through the communication bus;
the memory is configured to store at least one executable instruction, where the executable instruction causes the processor to perform operations corresponding to the live scheduling method according to any one of claims 1-10.
13. A computer storage medium having stored therein at least one executable instruction for causing a processor to perform operations corresponding to the live scheduling method of any one of claims 1-10.
CN202211037732.9A 2022-08-26 2022-08-26 Live broadcast scheduling method, device, computing equipment and storage medium Active CN115460427B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211037732.9A CN115460427B (en) 2022-08-26 2022-08-26 Live broadcast scheduling method, device, computing equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211037732.9A CN115460427B (en) 2022-08-26 2022-08-26 Live broadcast scheduling method, device, computing equipment and storage medium

Publications (2)

Publication Number Publication Date
CN115460427A CN115460427A (en) 2022-12-09
CN115460427B true CN115460427B (en) 2024-03-12

Family

ID=84301498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211037732.9A Active CN115460427B (en) 2022-08-26 2022-08-26 Live broadcast scheduling method, device, computing equipment and storage medium

Country Status (1)

Country Link
CN (1) CN115460427B (en)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107070866A (en) * 2016-12-30 2017-08-18 北京奇虎科技有限公司 The transmission method and device of a kind of flow data
JP2017152852A (en) * 2016-02-23 2017-08-31 株式会社日立製作所 Communication system, communication apparatus, and communication control method for communication system
CN107734350A (en) * 2017-09-25 2018-02-23 上海幻电信息科技有限公司 Live broadcast system and live broadcasting method
CN109769023A (en) * 2019-01-16 2019-05-17 网宿科技股份有限公司 A kind of data transmission method, associated server and storage medium
CN113141513A (en) * 2020-01-17 2021-07-20 北京达佳互联信息技术有限公司 Live stream pulling method and device, electronic equipment and storage medium
CN113839982A (en) * 2020-06-24 2021-12-24 北京金山云网络技术有限公司 Scheduling method and device, scheduling server, edge server and scheduling system
CN114070852A (en) * 2021-11-15 2022-02-18 上海哔哩哔哩科技有限公司 Live broadcast delay optimization method and device
CN114125489A (en) * 2021-12-10 2022-03-01 上海哔哩哔哩科技有限公司 Data stream distribution method and system
CN114760482A (en) * 2022-03-30 2022-07-15 上海哔哩哔哩科技有限公司 Live broadcast source returning method and device
CN114827650A (en) * 2022-04-22 2022-07-29 上海哔哩哔哩科技有限公司 Streaming media content transmission, live broadcast and pull method

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108712343A (en) * 2018-05-14 2018-10-26 网宿科技股份有限公司 Distribution method, system, fringe node and the central dispatching system of streaming media resource

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017152852A (en) * 2016-02-23 2017-08-31 株式会社日立製作所 Communication system, communication apparatus, and communication control method for communication system
CN107070866A (en) * 2016-12-30 2017-08-18 北京奇虎科技有限公司 The transmission method and device of a kind of flow data
CN107734350A (en) * 2017-09-25 2018-02-23 上海幻电信息科技有限公司 Live broadcast system and live broadcasting method
CN109769023A (en) * 2019-01-16 2019-05-17 网宿科技股份有限公司 A kind of data transmission method, associated server and storage medium
CN113141513A (en) * 2020-01-17 2021-07-20 北京达佳互联信息技术有限公司 Live stream pulling method and device, electronic equipment and storage medium
CN113839982A (en) * 2020-06-24 2021-12-24 北京金山云网络技术有限公司 Scheduling method and device, scheduling server, edge server and scheduling system
CN114070852A (en) * 2021-11-15 2022-02-18 上海哔哩哔哩科技有限公司 Live broadcast delay optimization method and device
CN114125489A (en) * 2021-12-10 2022-03-01 上海哔哩哔哩科技有限公司 Data stream distribution method and system
CN114760482A (en) * 2022-03-30 2022-07-15 上海哔哩哔哩科技有限公司 Live broadcast source returning method and device
CN114827650A (en) * 2022-04-22 2022-07-29 上海哔哩哔哩科技有限公司 Streaming media content transmission, live broadcast and pull method

Also Published As

Publication number Publication date
CN115460427A (en) 2022-12-09

Similar Documents

Publication Publication Date Title
JP6349255B2 (en) Receiving device, receiving method, transmitting device, and transmitting method
US8683071B2 (en) Method and apparatus for supporting time shift playback in adaptive HTTP streaming transmission solution
US6505240B1 (en) Ameliorating bandwidth requirements for the simultaneous provision of multiple sets of content over a network
CN110536146A (en) A kind of live streaming based on cloud game is started broadcasting method, apparatus and storage medium
CN110336885B (en) Edge node distribution method, device, scheduling server and storage medium
US8087056B2 (en) Operating method of contents on demand system
CN108063769B (en) Method and device for realizing content service and content distribution network node
JP2000500620A (en) System and method for optimizing subscriber program preferences
EP3001692A1 (en) Streaming media processing method, apparatus and system
US9832442B2 (en) System and method of managing multiple video players executing on multiple devices
CN113141522B (en) Resource transmission method, device, computer equipment and storage medium
CN110944217A (en) Live broadcast information processing method and device, server and storage medium
CN107920281A (en) A kind of network direct broadcasting video loading method and terminal
JP2004120493A (en) Method and program for distributing event information
JP2011091681A (en) System and method for distributing content
EP2434754A1 (en) Method and system for improving playing quality of handset television
CN115460427B (en) Live broadcast scheduling method, device, computing equipment and storage medium
CN112243136B (en) Content playing method, video storage method and device
CN114679598B (en) Live broadcast pushing method and device
CN110996114A (en) Live broadcast scheduling method and device, electronic equipment and storage medium
US8850053B2 (en) System and method for providing information to users of a communication network
KR20190021814A (en) Method and apparatus for providing broadcasting video
US20110154415A1 (en) Multicasting video on demand (vod) service system and method using channel merging
CN106302247A (en) A kind of bandwidth allocation methods and device
CN115412740B (en) Live broadcast back source scheduling method and device, computing equipment and computer 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