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

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

Info

Publication number
CN115460427A
CN115460427A CN202211037732.9A CN202211037732A CN115460427A CN 115460427 A CN115460427 A CN 115460427A CN 202211037732 A CN202211037732 A CN 202211037732A CN 115460427 A CN115460427 A CN 115460427A
Authority
CN
China
Prior art keywords
pull
live
stream
flow path
path
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.)
Granted
Application number
CN202211037732.9A
Other languages
Chinese (zh)
Other versions
CN115460427B (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

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/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 and device, computing equipment 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 broadcast room; acquiring the real-time watching number of people in a live broadcast room; and determining a target pull flow path corresponding to the live flow acquisition request according to the number of the real-time viewers and the resource data corresponding to each pull flow path, so that the client corresponding to the live flow acquisition request acquires the live flow according to the target pull flow path. According to the method and the system, the number of people watching in real time and the resource data corresponding to each pull flow path are based on the live broadcast room, a suitable pull flow path can be determined for the client on the premise that the watching experience of a user is not influenced, effective planning of the pull flow path is achieved, and a live broadcast scheduling mode is optimized.

Description

Live broadcast scheduling method and device, computing equipment and storage medium
Technical Field
The embodiment of the application relates to the field of live broadcast, in particular to a live broadcast scheduling method and device, computing equipment and a computer storage medium.
Background
With the rapid development of live broadcast services, the number of anchor and audience members participating in live broadcast activities is also rapidly increasing. Generally, because a third-party CDN (Content Delivery Network) has advantages in transmission parameters such as bandwidth, for a request for acquiring a live stream of a user, a server generally pushes the 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, thereby implementing pull-stream viewing. However, in some cases, the third-party CDN does not store a live streaming resource that the user wants to view, and for such a case, in the prior art, a CDN back-to-source mode is usually adopted to enable the third-party CDN to obtain a live streaming that the user wants to view, and then the user performs pull-streaming viewing. However, this method of pulling stream has a problem of high consumption of pulling stream resources.
Disclosure of Invention
In view of the foregoing problems, the present application provides a live scheduling method, apparatus, computing device and storage medium, which are used to solve the following problems: the current pull flow mode has high pull flow resource consumption.
According to an aspect of an embodiment of the present application, a live scheduling method is provided, where the method includes:
receiving a live stream acquisition request, wherein the live stream acquisition request is used for acquiring a live stream from a live broadcast room;
acquiring the real-time watching number of people in a live broadcast room;
and determining a target pull flow path corresponding to the live flow acquisition request according to the number of the real-time viewers and the resource data corresponding to each pull flow path, so that the client corresponding to the live flow acquisition request acquires the live flow according to the target pull flow path.
In the above-mentioned scheme, the real-time number of watching who acquires the live broadcast room further includes:
and counting the number of users in the live broadcast room in real time in the live broadcast process of the live broadcast room to serve as the real-time watching number of people in the live broadcast room.
In the above solution, the resource data corresponding to each pull path includes: bandwidth data corresponding to each pull-stream path;
determining a target pull flow path corresponding to the live flow acquisition request according to the number of real-time viewers and the resource data corresponding to each pull flow path further comprises:
calculating the bandwidth cost corresponding to each pull-flow path according to the number of people watching in real time and the bandwidth data 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 solution, each pull flow path includes: the first pull flow path for pulling flow through the direct connection uplink edge node and the second pull flow path for pulling flow through the uplink edge node and the downlink content distribution network.
In the foregoing solution, the bandwidth data corresponding to each pull path includes: bandwidth data of an uplink edge node and bandwidth data of a downlink content distribution network;
according to the number of people who watch in real time and the bandwidth data corresponding to each pull-out path, calculating the bandwidth cost corresponding to each pull-out path further comprises:
calculating the bandwidth cost corresponding to the first pull flow path according to the number of people who watch in real time and the bandwidth data of the uplink edge node;
and calculating the bandwidth cost corresponding to the second pull flow path according to the number of the real-time viewers, the bandwidth data of the uplink edge node and the bandwidth data of the downlink content distribution network.
In the foregoing solution, the resource data corresponding to each pull 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 flow path corresponding to the live flow acquisition request according to the bandwidth cost corresponding to each pull flow path and the real-time load data of the uplink edge node.
In the foregoing solution, determining a target pull flow path corresponding to a live flow acquisition request according to a bandwidth cost corresponding to each pull flow path and real-time load data of an upstream 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 conforms to the preset load range, determining the first pull flow path as a target pull flow path corresponding to the live flow 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 conform to the preset load range, determining the second pull flow path as a target pull flow 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 the pull flow path with the minimum bandwidth cost in each pull flow path as a target pull flow path corresponding to the live flow acquisition request.
In the foregoing solution, after 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, the method further includes:
and if the target pull flow path corresponding to the live stream acquisition request is a second pull flow path and the target pull flow path corresponding to the previous live stream acquisition request is a first pull flow path, triggering a redirection function of the upstream edge node, and redirecting the target pull flow path corresponding to each live stream acquisition request before the live stream acquisition request into the second pull flow 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 flow path.
In the above scheme, the step of acquiring, by the client corresponding to the live stream acquisition 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, wherein the stream pulling address is generated according to a target stream pulling path.
In the above solution, the method further includes:
obtaining the watching location information of each user in a live broadcast room;
and determining the selected area of the uplink edge node in the next live broadcast of the live broadcast room according to the watching location information of each user.
In the above scheme, determining the selected area of the uplink edge node in the next live broadcast in the live broadcast room according to the information of the viewing location of each user further includes:
determining the region to which each user belongs according to the information of the watching location of each user, and counting user proportion data of each region;
and determining the selected area of the uplink edge node in the next live broadcast of the live broadcast room according to the user proportion data of each area.
In the above scheme, the counting user proportion data of each area further includes:
and calculating the ratio of the number of users corresponding to each region to the total number of users in the live broadcast room aiming at each region to obtain user proportion data of the region.
In the above solution, determining the selected area of the uplink edge node in the next live broadcasting of the live broadcasting room according to the user proportion data in each area further includes:
judging whether areas with user proportion data in accordance with a preset proportion range exist in each area according to the user proportion data of each area;
if yes, the area is determined as the selected area of the uplink edge node in the next live broadcast of the live broadcast room.
According to another aspect of the embodiments of the present application, there is provided a live scheduling apparatus, including: the device comprises a receiving module, an obtaining module and a path determining module; wherein the content of the first and second substances,
the receiving module is suitable for receiving a live stream acquisition request, and the live stream acquisition request is used for acquiring a live stream from a live broadcast room;
the acquisition module is suitable for acquiring the real-time watching number of people in a live broadcast room;
and the path determining module is suitable for determining a target pull flow path corresponding to the live stream acquiring request according to the number of real-time watching persons and the resource data corresponding to each pull flow path, so that a client corresponding to the live stream acquiring request can acquire the live stream according to the target pull flow path.
According to yet another aspect of embodiments herein, there is provided a computing device comprising: the processor, the memory and the communication interface complete mutual communication 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 another aspect of the embodiments of the present application, there is provided a computer storage medium having at least one executable instruction stored therein, where the executable instruction causes a processor to perform operations corresponding to the live scheduling method.
According to the live broadcast scheduling method, the live broadcast scheduling device, the live broadcast scheduling equipment and the computer storage medium, the number of people watching live broadcasts in a live broadcast room and the resource data corresponding to each pull-stream path are obtained, and based on the number of people watching live broadcasts 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 watching experience of a user, so that the effective planning of the pull-stream path is realized, the live broadcast scheduling mode is optimized, and the problem that the resource consumption of the existing live broadcast pull-stream mode is too high is solved; and the stream pulling path adapting to the current situation can be selected according to different watching persons, different bandwidth costs generated under the condition of adopting different stream pulling paths, real-time load data of an uplink edge node and the like, so that the stream pulling can be carried out in a proper stream pulling mode under various situations, the waste of stream pulling resources is effectively avoided, and the stream pulling cost is reduced.
The foregoing description is only an overview of the technical solutions of the embodiments of the present application, and the embodiments of the present application can be implemented according to the content of the description in order to make the technical means of the embodiments of the present application more clearly understood, and the detailed description of the embodiments of the present application will be given below in order to make the foregoing and other objects, features, and advantages of the embodiments of the present application more clearly understandable.
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 embodiments of the present application. Also, like reference numerals are used to refer to like parts throughout the drawings. In the drawings:
fig. 1 shows a flow diagram of a live scheduling method according to an embodiment of the present application;
FIG. 2 illustrates a pull flow path determination method flow diagram according to one embodiment of the present application;
FIG. 3 illustrates a pull flow path determination method flow diagram according to another embodiment of the present application;
FIG. 4 illustrates a pull flow path redirection diagram according to one embodiment of the present application;
fig. 5 is a schematic flowchart illustrating a method for determining an area selected by an uplink edge node according to an embodiment of the present application;
fig. 6 shows a block diagram of a live scheduling apparatus according to an embodiment of the present application;
FIG. 7 illustrates a block diagram of a computing device, according to an 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 to be construed noun:
live streaming: during live broadcast, live audio and video data can be transmitted as a stable and continuous stream over a network to viewers for viewing.
The number of people watching in real time: the real number of people in the live room is watched in real time.
CDN: a Content Delivery Network (Content Delivery Network) which is an intelligent virtual Network constructed on the basis of the existing Network; the method depends on edge servers deployed in various places, and enables users to obtain needed contents nearby through functional modules of scheduling, load balancing, content distribution and the like of a central platform, so that network congestion is reduced, and access response speed and hit rate of the users are improved.
CDN back to the source: and if the CDN server does not have the resource requested by the user, the CDN server requests the service server to obtain the resource and carries out caching.
Live broadcast and uplink: the anchor starts a link for pushing live video data to a service.
Direct broadcasting downlink: audience enters a live broadcast room to pull video resources from the CDN, and the whole link of the CDN back to the source is generally called.
302 jump: i.e. 302 redirection, also called temporal transfer (temporal Moved) or temporal redirection (temporal Redirect), english name: 302redirect. The Resource data is used when it undergoes a change of URL (Uniform Resource Locator) for a short period.
Fig. 1 shows a flowchart of a live scheduling method according to an embodiment of the present application, and as shown in fig. 1, the method includes the following steps:
step S101, receiving a live stream acquisition request, wherein the live stream acquisition request is used for acquiring a live stream from a live broadcast room.
Specifically, when a user wants to watch a live broadcast, the client corresponding to the live broadcast can be started, a plurality of live broadcast rooms are displayed in a client page after the client is started, 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 the server for requesting to acquire the live broadcast stream of the live broadcast room, and the server receives the live broadcast stream acquisition request.
And S102, acquiring the real-time watching number of people in the live broadcast room.
Specifically, the number of users in the live broadcast room is counted in real time in the live broadcast process of the live broadcast room to serve as the number of people watching in real time in the live broadcast room. Preferably, the people counting service aiming at the live broadcast room can be used for realizing the real-time counting of the number of users in the live broadcast room in the live broadcast process. The people counting service is a functional module for counting the number of people watching.
And step S103, determining a target pull flow path corresponding to the live stream acquisition request according to the number of real-time viewers and resource data corresponding to each pull flow path, so that a client corresponding to the live stream acquisition request can acquire the live stream according to the target pull flow path.
Specifically, the resource data corresponding to each pull-flow path may include bandwidth data corresponding to each pull-flow path, and may further include real-time load data of the upstream edge node. Taking the example that the resource data corresponding to each pull-out path includes the bandwidth data corresponding to each pull-out path, the bandwidth cost corresponding to each pull-out path can be calculated according to the number of real-time viewers and the bandwidth data corresponding to each pull-out path, and then the target pull-out path corresponding to the live stream acquisition request is determined according to the bandwidth cost corresponding to each pull-out path.
In the prior art, when a user watches a live broadcast, a live broadcast platform (or a server) provides a viewing address of a Content Delivery Network (CDN) to the user, and the user performs pull-stream viewing from a corresponding CDN manufacturer through the viewing address. When the content distribution network does not have live streaming requested to be played by a user, the content distribution network carries out uplink CDN back source and obtains corresponding live streaming from an uplink edge node; and then, the user acquires the corresponding live stream through downlink resource transmission and the content distribution network. Therefore, the bandwidth cost is generated when the user performs the downstream viewing from the CDN and performs the upstream CDN back-sourcing in the whole process. After the CDN returns the source, the obtained live stream is cached, so that when the audience number is large, the bandwidth cost generated by one-time CDN returning the source is far less than the bandwidth cost of a large number of users viewing the live stream from the CDN. However, in a live broadcast room with a small audience number, the costs of the two parts are relatively close, and the problem of bandwidth cost waste exists when the stream is pulled in the above manner. Therefore, different pull stream paths are set, the bandwidth cost corresponding to each pull stream path is calculated according to the number of people who watch in real time and the bandwidth data corresponding to each pull stream path, and a proper pull stream path is selected based on the bandwidth cost to achieve the acquisition of the live broadcast content by the user, so that the waste of pull stream resources is effectively avoided, and the pull stream cost is reduced.
In the embodiment, by acquiring the number of people watching in real time in the live broadcast room and the resource data corresponding to each pull stream path, based on the number of people watching in real time in the live broadcast room and the resource data corresponding to each pull stream path, on the premise of guaranteeing the watching experience of the user, a proper pull stream path is determined and selected for pull stream, effective planning of the pull stream path is realized, a live broadcast scheduling mode is optimized, the problem of too high resource consumption of the existing live broadcast pull stream mode is solved, waste of pull stream resources is avoided, and the pull stream cost is effectively reduced.
Specifically, each pull-stream path may include: the first stream pulling path for stream pulling through the direct connection of the upstream edge nodes and the second stream pulling path for stream pulling through the upstream edge nodes and the downstream content distribution network. The determination of the pull path is described in detail below.
Fig. 2 is a flow chart illustrating a pull flow path determination method according to an embodiment of the present application, as shown in fig. 2, the method includes the following steps:
step S201, calculating a bandwidth cost corresponding to the first pull path according to the number of real-time viewers and the bandwidth data of the upstream edge node.
Specifically, data and a calculation mode required for calculating the bandwidth cost corresponding to the first pull-flow path are determined, and then the bandwidth cost corresponding to the first pull-flow path is obtained through calculation. Since the first pull flow path is a path in which the client is directly connected to the upstream edge node, the data required for calculating the bandwidth cost corresponding to the first pull flow path may include: bandwidth data of the upstream edge nodes and the number of people watching in real time in the live broadcast room.
The bandwidth data of the uplink edge node may further include: the bandwidth unit price of the uplink edge node; therefore, the bandwidth cost corresponding to the first pull-stream path can be calculated by:
the bandwidth cost = n × m × a for the first pull path;
wherein n is the number of people watching in real time in the live broadcast room; m is a bandwidth value required for transmitting the live stream of the live broadcast room; and A is the bandwidth unit price of the uplink edge node.
Step S202, calculating the bandwidth cost corresponding to the second pull-flow 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, data and a calculation mode required for calculating the bandwidth cost corresponding to the second pull-flow path are determined, and then the bandwidth cost corresponding to the second pull-flow path is obtained through calculation. Since the second pull flow path is pulled through the upstream edge node and the downstream content distribution network, the data required for calculating the bandwidth cost corresponding to the second pull flow path may include: the real-time watching number of people in the live broadcast room, the bandwidth data of the uplink edge node and the bandwidth data of the downlink content distribution network.
The bandwidth data of the downstream content distribution network may further include: the downstream content distribution network bandwidth unit price; therefore, the bandwidth cost corresponding to the second pull path can be calculated by:
the bandwidth cost for the second pull path =1 × m × a + n × m × b;
wherein n is the number of people watching in real time in the live broadcast room; m is a bandwidth value required for transmitting the live stream of the live broadcast room; a is the bandwidth unit price of the uplink edge node; and B is the bandwidth unit price of the downstream content distribution network.
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 the pull stream path with the smaller bandwidth cost is selected as the target pull stream path corresponding to the live stream acquisition request.
Preferably, when a new live stream acquisition request is received, the bandwidth costs corresponding to the two pull stream modes under the current condition are determined according to the acquired data such as the number of real-time viewers and the bandwidth unit prices corresponding to the two pull stream modes, and the pull stream path with the lower cost is selected from the bandwidth costs corresponding to the two pull stream modes, so that the pull stream path with the lower bandwidth cost can be selected from the two pull stream paths when the number of viewers changes, and the cost is optimal under various conditions.
The method and the device for pulling the stream of the live broadcast stream have the advantages that based on different stream pulling modes, a first stream pulling path for pulling the stream through directly connecting the uplink edge node and a second stream pulling path for pulling the stream through the uplink edge node and the downlink content distribution network are determined, the bandwidth cost of two different stream pulling paths is calculated by obtaining the current number of people watching in the live broadcast room in real time, the bandwidth value of the live broadcast room and the bandwidth unit price of the uplink edge node and the downlink content distribution network, and the stream pulling path with the smaller bandwidth cost under the current condition is obtained through comparison and serves as a target stream pulling path corresponding to the live broadcast stream obtaining request. By using the technical scheme, the pull-out path with lower bandwidth cost can be selected from different pull-out paths in the process of selecting the pull-out path as the final target pull-out path by using a comparison method, so that the bandwidth cost possibly generated in the pull-out process is effectively reduced.
In the method for determining pull flow paths, the resource data corresponding to each pull flow path may further include: real-time load data of the uplink edge node; therefore, a target pull flow path corresponding to the live flow acquisition request can be determined according to the bandwidth cost corresponding to each pull flow path and the real-time load data of the uplink edge node. As shown in fig. 3, fig. 3 is a flow chart illustrating a pull path determining method according to another embodiment of the present application, wherein the method includes the following steps:
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, the bandwidth cost is calculated according to the determined bandwidth cost corresponding to the two pull-stream paths, namely
The bandwidth cost = n × m × a for the first pull path;
the bandwidth cost for the second pull path =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 many n real-time viewers watch the bandwidth data, the bandwidth cost corresponding to the first pull-flow path is necessarily smaller than the bandwidth cost corresponding to the second pull-flow path. If the bandwidth data of the uplink edge node is smaller than the bandwidth data of the downlink content distribution network, the target pull path needs to be determined by combining the real-time load data of the uplink edge node, 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 above calculation manner of the bandwidth costs corresponding to the two pull flow paths, it is necessary to specifically determine the size relationship of the bandwidth costs corresponding to the two pull flow paths according to the number of people who view the bandwidth data in real time, and then determine a final target pull flow path by using the pull flow path determination method shown in fig. 2. That is, 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 executed.
Step S302: and judging whether the real-time load data of the uplink edge node meets 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 live 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 requirement of optimal pull stream cost is met by taking the first pull stream path as the target pull stream path corresponding to the live stream acquisition request.
However, it should be noted that, because the upstream edge node and the downstream content distribution network are different in application purpose and implementation function, 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 compared to the downstream content distribution network. Therefore, if the number of real-time viewers n is large when the bandwidth data of the upstream edge node is smaller than the bandwidth data of the downstream content distribution network, that is, if there are many users who directly pull streams from the upstream edge node, the real-time load of the upstream edge node is high, and further, the jobs of forwarding, pulling streams, etc. may be stuck, and even a system breakdown may occur.
Therefore, when the bandwidth data of the upstream edge node is smaller than the bandwidth data of the downstream content distribution network, a load warning range, that is, a preset load range, needs to be set for the upstream edge node. And determining a specific pull flow mode according to whether the real-time load data of the current uplink edge node conforms to a preset load range. If the real-time load data of the uplink edge node conforms to the preset load range, it indicates that the load capacity of the uplink edge node has the remaining capacity to handle the new audience to pull the stream from the uplink edge node, then step S303 is executed; if the real-time load data of the uplink edge node does not meet the preset load range, it indicates that the load data of the uplink edge node has exceeded the warning range, which may affect the working efficiency, and it is not suitable for the newly added audience to pull the stream from the uplink edge node, then step S304 is executed. For example, the preset load range may be 0 to 60% or the like.
Step S303: and selecting the first pull flow path as a target pull flow path corresponding to the live flow 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 meets the preset load range, the bandwidth cost optimization selection is met, meanwhile, the load limitation on the uplink edge node is met, and the first pull-stream path is determined as a target pull-stream path corresponding to the live-stream acquisition request.
Step S304: and selecting the second pull flow path as a target pull flow path corresponding to the live flow 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 indicates that the normal load capacity of the uplink edge node is exceeded, and the user is not suitable to directly pull the stream through the uplink edge node, and at this time, the second pull stream path can be selected as a target pull stream mode corresponding to the live stream acquisition request, that is, the stream is pulled through the downlink content distribution network, and the load of the uplink edge node due to direct stream pulling is not increased. Namely, the second pull stream path is determined as a 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 above calculation manner of the bandwidth costs corresponding to the two pull flow paths, at this time, the size relationship of the bandwidth costs corresponding to the two pull flow paths needs to be specifically determined according to the number of people watching in real time, and then the pull flow path determination method shown in fig. 2 is adopted to determine the pull flow path with the minimum bandwidth cost in each pull flow path as the target pull flow path corresponding to the live stream acquisition request.
Optionally, the method further includes: and if the target pull flow path corresponding to the live stream acquisition request is a second pull flow path and the target pull flow path corresponding to the previous live stream acquisition request is a first pull flow path, triggering a redirection function of the upstream edge node, and redirecting the target pull flow path corresponding to each live stream acquisition request before the live stream acquisition request into the second pull flow 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 flow path.
Specifically, in the process of continuously increasing the number of people watching in real time, due to load reasons or cost reasons, the first pull flow path is adopted instead of the second pull flow path for pull flow. At this time, if the real-time load data of the upstream edge node does not meet 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 been selected for the first pull-stream path before is redirected to the second pull-stream path through the redirection function of the upstream edge node, that is, all the pull-stream paths of the clients that have been requested to acquire the live stream of the same live broadcast room before are redirected to the second pull-stream path, so that the clients continue to acquire the live stream through the second pull-stream path. And when a new live stream acquisition request aiming at the live broadcast 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 within the preset load range, if the first stream pulling path is continuously adopted for stream pulling, normal operation of the uplink edge node may be influenced. And if the first pull flow path is selected and then redirected every time a new live stream acquisition request is received, the normal work of the uplink edge node is still influenced. Therefore, when the number n of real-time viewers is large, in order to ensure the normal operation of the upstream edge node, the second pull flow path is selected as the target pull flow 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, after the bandwidth cost of the second pull flow path is less than the bandwidth cost of the first pull flow path, the larger the number of real-time viewers is, according to the above formula, the better the second pull flow path is than the first pull flow path, so that, for the old users who have previously determined the first pull flow path as the target pull flow path, the second pull flow path is determined as a new target pull flow path by redirection, and for the new users corresponding to the new live flow acquisition request, the second pull flow path is directly determined as the target pull flow path, thereby realizing the optimal pull flow path selection for the bandwidth cost.
Preferably, the redirection method can be implemented based on a 302 jump function. As shown in fig. 4, fig. 4 illustrates a pull flow path redirection diagram according to one embodiment of the present application.
And the target pull flow path corresponding to the live stream acquisition request of the new user is a second pull flow path for pulling the live stream through the downlink content distribution network. And the watching user is a user who pulls the live stream before the new user, and pulls the live stream through the upstream edge node, namely the corresponding target pull stream path is the first pull stream path. At this time, all users including the new user who make a live stream acquisition request later will pull streams directly through the second pull stream path. And for the watching users entering the live broadcast room before the new user, triggering the redirection function of the upstream edge node, disconnecting the original first pull flow path, and redirecting the target pull flow path corresponding to the live broadcast stream acquisition requests of the users into a second pull flow path. And finally, all users in the live broadcast room complete the stream pulling process for acquiring the live broadcast stream through the second stream pulling path.
Specifically, the client corresponding to the live stream acquiring request acquires the live stream according to a stream pulling address, and the stream pulling address is generated according to a target stream pulling path. When the target pull flow path is a first pull flow path, generating a pull flow address according to an ip address of an upstream edge node, and providing the pull flow address for a client to obtain a live stream; and when the target pull flow path is a second pull flow path, generating a pull flow address according to the address provided by the downlink content distribution network, and providing the pull flow address to the client to acquire the live stream.
According to the embodiment, when the bandwidth data of the upstream edge node is smaller than the bandwidth data of the downstream content distribution network, the target pull path is determined according to whether the real-time load data of the upstream edge node meets the preset load range, so that the bandwidth cost under various conditions is in an optimal state, the load of the upstream edge node is in a reasonable range, and the normal work of the upstream edge node is guaranteed. In addition, when the target pull flow path corresponding to the previous live stream acquisition request is a first pull flow path and the target pull flow path corresponding to the current live stream acquisition request is a second pull flow path, the previous target pull flow path is redirected to be changed into the second pull flow path, and the target pull flow paths corresponding to the new live stream acquisition request are all determined to be the second pull flow path, so that the load condition of the upstream edge node is ensured, meanwhile, the bandwidth cost of the target pull flow path is always in an optimal state after the current target pull flow path is obtained, and the efficiency of the user pull flow process is effectively ensured.
Fig. 5 is a schematic flow chart of a method for determining an area selected by an uplink edge node 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 watching location information of each user in the live broadcast room.
Step S502: and determining the selected area of the uplink edge node in the next live broadcast of the live broadcast room according to the watching location information of each user.
Specifically, according to the information of the watching location of each user, determining the region to which each user belongs, and counting user proportion data of each region; and determining the selected area of the uplink edge node in the next live broadcast of the live broadcast room according to the user proportion data of each area. Specifically, for each region in each region, calculating a ratio between the number of users corresponding to the region and the total number of users in the live broadcast room to obtain user proportion data of the region; then, judging whether areas with user proportion data in accordance with a preset proportion range exist in each area according to the user proportion data of each area; if yes, the area is determined as the selected area of the uplink edge node in the next live broadcast of the live broadcast room. Preferably, the predetermined occupancy range may be a range greater than a predetermined occupancy value, such as greater than 70%.
The method comprises the steps of obtaining information of watching places of users, further obtaining user proportion data of regions, finding out which region has the most audiences in the current live broadcasting process through the user proportion data, and if the user proportion data of a certain region meets a preset proportion range (if the user proportion data is larger than a preset proportion value), indicating that the region is a main source of the audiences watching the current live broadcasting. Therefore, the area is determined as the selected area of the uplink edge node in the next live broadcast, so that most of audiences can locally finish stream pulling, the stream pulling efficiency is improved, and the fluency of watching live broadcasts by users is effectively improved.
Fig. 6 is a block diagram illustrating a structure of a live scheduling apparatus according to an embodiment of the present application, where, as shown in fig. 6, the apparatus includes: a receiving module 601, an obtaining module 602 and a path determining module 603; wherein the content of the first and second substances,
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 broadcast room.
The obtaining module 602 is adapted to obtain the number of people watching in real time in the live broadcast room.
Specifically, the obtaining module 602 is further adapted to: and counting the number of users in the live broadcast room in real time in the live broadcast process of the live broadcast room to serve as the number of people watching in real time in the live broadcast room.
The path determining module 603 is adapted to determine a target pull flow path corresponding to the live stream acquisition request according to the number of real-time viewers and resource data corresponding to each pull flow path, so that a client corresponding to the live stream acquisition request acquires a live stream according to the target pull flow path.
Specifically, the resource data corresponding to each pull flow path includes: bandwidth data corresponding to each pull-stream path; the path determination module 603 is further adapted to: calculating the bandwidth cost corresponding to each pull-out path according to the number of people who watch in real time and the bandwidth data corresponding to each pull-out 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-stream path includes: the first pull flow path for pulling flow through the direct connection uplink edge node and the second pull flow path for pulling flow through the uplink edge node and the downlink content distribution network.
Specifically, the bandwidth data corresponding to each pull 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: calculating the bandwidth cost corresponding to the first pull flow path according to the number of people who watch in real time and the bandwidth data of the uplink edge node; and calculating the bandwidth cost corresponding to the second pull-stream path according to the number of people watching in real time, 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-flow 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 flow path corresponding to the live flow acquisition request according to the bandwidth cost corresponding to each pull flow path and the real-time load data of the uplink edge node.
In particular, 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 conforms to the preset load range, determining the first pull flow path as a target pull flow path corresponding to the live flow 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 conform to the preset load range, determining the second stream pulling path as a target stream pulling 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 the pull flow path with the minimum bandwidth cost in each pull flow path as a target pull flow path corresponding to the live flow acquisition request.
In particular, the path determination module 603 is further adapted to: and if the target pull flow path corresponding to the live stream acquisition request is a second pull flow path and the target pull flow path corresponding to the previous live stream acquisition request is a first pull flow path, triggering a redirection function of the upstream edge node, and redirecting the target pull flow path corresponding to each live stream acquisition request before the live stream acquisition request into the second pull flow 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 flow path.
Specifically, the client corresponding to the live stream acquiring request acquires the live stream according to a stream pulling address, and the stream pulling address is generated according to a target stream pulling path.
Optionally, the apparatus further comprises: a selection module 604. Wherein the selecting module 604 is adapted to: obtaining the watching location information of each user in a live broadcast room; and determining the selected area of the uplink edge node in the next live broadcast of the live broadcast room according to the watching location information of each user.
In particular, the selection module 604 is further adapted to: determining the region to which each user belongs according to the information of the watching location of each user, and counting user proportion data of each region; calculating the ratio of the number of users corresponding to each region to the total number of users in the live broadcast room aiming at each region to obtain user ratio data of the region;
determining the selected area of the uplink edge node in the next live broadcast of the live broadcast room according to the user proportion data of each area; judging whether areas with user proportion data meeting a preset proportion range exist in each area or not according to the user proportion data of each area; if yes, the area is determined as the selected area of the uplink edge node in the next live broadcast of the live broadcast room.
The 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 number of people watching in real time in the live broadcast room and the resource data corresponding to each pull path are obtained, and based on the number of people watching in real time in the live broadcast room and the resource data corresponding to each pull path, on the premise that the watching experience of a user is guaranteed, a proper pull path is determined and selected for pull, so that the pull path is effectively planned, a live broadcast scheduling mode is optimized, the problem that the resource consumption of the existing live broadcast pull path is too high is solved, the waste of pull resources is avoided, and the pull cost is effectively reduced; meanwhile, the main source of the user is selected as the selected area of the uplink edge node, so that the streaming efficiency is improved, and the fluency of the user in watching live broadcast is improved.
The embodiment of the application also provides a nonvolatile computer storage medium, wherein the computer storage medium stores at least one executable instruction, and the executable instruction can execute the live broadcast scheduling method in any method embodiment.
Fig. 7 is a schematic structural diagram of a computing device according to an embodiment of the present application, and a specific embodiment of the present application does not limit a specific implementation of the computing device.
As shown in fig. 7, the computing device may include: a processor (processor) 702, a Communications Interface 704, a memory 706, and a communication bus 708.
Wherein:
the processor 702, communication interface 704, and memory 706 communicate 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 execute relevant steps in the foregoing live scheduling method embodiment.
In particular, the program 710 may include program code that includes computer operating instructions.
The processor 702 may be a central processing unit CPU, or an Application Specific Integrated Circuit ASIC (Application Specific Integrated Circuit), or one or more Integrated circuits configured to implement embodiments of the present Application. The computing device includes one or more processors, which may be the same type of processor, such as one or more CPUs; or may be different types of processors such as one or more CPUs and one or more ASICs.
The memory 706 stores a program 710. The memory 706 may comprise high-speed RAM memory, and may also include non-volatile memory (non-volatile memory), such as at least one disk memory.
The program 710 may specifically be configured to enable the processor 702 to execute a live scheduling method in any of the method embodiments described above. For specific implementation of each step in the program 710, reference may be made to corresponding steps and corresponding descriptions in units in the foregoing live scheduling method embodiment, which are not described herein again. It can be clearly understood by those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described devices and modules may refer to the corresponding process descriptions in the foregoing method embodiments, and are not described herein again.
The algorithms and displays presented herein are not inherently related to any particular computer, virtual machine, or other apparatus. Various general purpose systems may also be used with the teachings herein. The required structure for constructing such a system will be apparent from the description above. In addition, embodiments of the present application are not directed to any particular programming language. It is 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 any descriptions of specific languages are provided above to disclose the best modes of the embodiments of the present application.
In the description provided herein, numerous specific details are set forth. It can be appreciated, however, that the 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 foregoing description of exemplary embodiments of the present application, various features of the embodiments of the present 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 to reflect the intent: that is, the claimed embodiments of the application require 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 an embodiment of this application.
Those skilled in the art will appreciate that the modules in the device in an embodiment may be adaptively changed and disposed in one or more devices different from the embodiment. 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. All of the features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or elements of any method or apparatus so disclosed, may be combined in any combination, except combinations where at least some of such features and/or processes or elements 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 included in other embodiments, rather than other features, combinations of features of different embodiments are meant to be within the scope of the embodiments of the application and form different embodiments. For example, in the following claims, any of the claimed embodiments may be used in any combination.
The various component embodiments of the present application 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 a microprocessor or Digital Signal Processor (DSP) may be used in practice to implement some or all of the functionality of some or all of the components in accordance with the embodiments of the present application. Embodiments of the present application may also be embodied as apparatus or device programs (e.g., computer programs and computer program products) for performing a portion or all of the methods described herein. Such programs implementing embodiments of the present application may be stored on a computer readable medium or may be in the form of one or more signals. Such a signal may be downloaded from an internet website or provided on a carrier signal or 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 can 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 usage of the words first, second and third, etcetera do not indicate any ordering. These words may be interpreted as names.

Claims (16)

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 broadcast room;
acquiring the real-time watching number of people in the live broadcast room;
and determining a target pull flow path corresponding to the live flow acquisition request according to the real-time watching number and the resource data corresponding to each pull flow path, so that a client corresponding to the live flow acquisition request can acquire the live flow according to the target pull flow path.
2. The method of claim 1, wherein the obtaining the live view population of the live room further comprises:
and counting the number of users in the live broadcast room in real time in the live broadcast process of the live broadcast room to serve as the number of people watching the live broadcast room in real time.
3. The method of claim 1 or 2, wherein the resource data corresponding to each pull-flow path comprises: bandwidth data corresponding to each pull-stream path;
the determining, according to the number of the 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 further includes:
calculating the bandwidth cost corresponding to each pull-out path according to the number of the real-time viewers and the bandwidth data corresponding to each pull-out 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.
4. The method of claim 3, wherein the respective pull flow paths comprise: the first pull flow path for pulling flow through the direct connection uplink edge node and the second pull flow path for pulling flow through the uplink edge node and the downlink content distribution network.
5. The method of claim 4, wherein the bandwidth data corresponding to each pull path comprises: bandwidth data of the upstream edge node and bandwidth data of the downstream content distribution network;
the calculating the bandwidth cost corresponding to each pull-out path according to the number of the real-time viewers and the bandwidth data corresponding to each pull-out path further comprises:
calculating the bandwidth cost corresponding to the first pull-flow path according to the number of the real-time viewers and the bandwidth data of the uplink edge node;
and calculating the bandwidth cost corresponding to the second pull path according to the number of the real-time viewers, the bandwidth data of the uplink edge node and the bandwidth data of the downlink content distribution network.
6. The method of any of claims 4 or 5, wherein the resource data corresponding to each pull-path further comprises: real-time load data of the uplink edge node;
the determining, according to the bandwidth cost corresponding to each pull stream path, a target pull stream path corresponding to the live stream acquisition request further includes:
and determining a target pull flow path corresponding to the live flow acquisition request according to the bandwidth cost corresponding to each pull flow path and the real-time load data of the uplink edge node.
7. The method of claim 6, wherein the determining a target pull flow path corresponding to the live flow acquisition request according to the bandwidth cost corresponding to each pull flow path and the real-time load data of the upstream edge node 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 conforms to a preset load range, determining the first pull flow path as a target pull flow 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 conform to a preset load range, determining the second pull flow path as a target pull flow 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 the pull flow path with the minimum bandwidth cost in each pull flow path as a target pull flow path corresponding to the live flow acquisition request.
8. The method of claim 7, wherein after the determining a pull stream path with a smallest bandwidth cost in the pull stream paths as a target pull stream path corresponding to the live stream acquisition request, the method further comprises:
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 upstream edge node, and redirecting the target pull-flow path corresponding to each live stream acquisition request before the live stream acquisition request into the second pull-flow 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-flow path.
9. The method of any one of claims 1-8, wherein the obtaining, by the client corresponding to the live stream obtaining request, the live stream according to the target pull stream path further comprises:
and the client corresponding to the live stream acquisition request acquires the live stream according to a stream pulling address, wherein the stream pulling address is generated according to the target stream pulling path.
10. The method according to any one of claims 1-9, wherein the method further comprises:
obtaining the information of the watching places of all users in the live broadcast room;
and determining the selected area of the uplink edge node when the live broadcasting is carried out next time in the live broadcasting room according to the information of the watching places of the users.
11. The method as claimed in claim 10, wherein said determining, according to the viewing location information of each user, a selected area of an upstream edge node in the next live broadcast of the live broadcast room further comprises:
determining the region of each user according to the information of the watching location of each user, and counting user proportion data of each region;
and determining the selected area of the uplink edge node in the next live broadcasting of the live broadcasting room according to the user proportion data of each area.
12. The method of claim 11, wherein the counting user proportion data of 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 broadcast room aiming at each region in each region to obtain user ratio data of the region.
13. The method according to claim 11 or 12, wherein the determining the selected area of the uplink edge node at the next live broadcasting of the live broadcasting room according to the user proportion data of each area further comprises:
judging whether areas with user proportion data in accordance with a preset proportion range exist in each area according to the user proportion data of each area;
if yes, determining the region as the selected region of the uplink edge node in the next live broadcast of the live broadcast room.
14. A live scheduling apparatus, comprising: the device comprises a receiving module, an obtaining module and a path determining module; wherein the content of the first and second substances,
the receiving module is suitable for receiving a live stream acquisition request, and the live stream acquisition request is used for acquiring a live stream from a live broadcast room;
the acquisition module is suitable for acquiring the real-time watching number of people in the live broadcast room;
and the path determining module is suitable for determining a target pull flow path corresponding to the live stream acquiring request according to the real-time watching number and the resource data corresponding to each pull flow path, so that a client corresponding to the live stream acquiring request can acquire the live stream according to the target pull flow path.
15. A computing device, comprising: the system comprises a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface complete mutual communication through the communication bus;
the memory is used for storing at least one executable instruction, and the executable instruction causes the processor to execute the operation corresponding to the live scheduling method of any one of claims 1-13.
16. A computer storage medium having stored therein at least one executable instruction that causes a processor to perform operations corresponding to the live scheduling method of any one of claims 1-13.
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 true CN115460427A (en) 2022-12-09
CN115460427B 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 (11)

* 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
US20210368239A1 (en) * 2018-05-14 2021-11-25 Wangsu Science & Technology Co., Ltd. Distributing method, system, edge node, and central scheduling system for streaming media resource
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

Patent Citations (11)

* 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
US20210368239A1 (en) * 2018-05-14 2021-11-25 Wangsu Science & Technology Co., Ltd. Distributing method, system, edge node, and central scheduling system for streaming media resource
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
CN115460427B (en) 2024-03-12

Similar Documents

Publication Publication Date Title
US10631024B2 (en) Intelligent video streaming system
CN109937575B (en) System and method for interrupting streaming content provided via an infringeable inventory protocol
CN110336885B (en) Edge node distribution method, device, scheduling server and storage medium
US8087056B2 (en) Operating method of contents on demand system
KR20200083608A (en) Video live broadcasting method and device
WO2010082523A1 (en) Content distribution administration device, method of administration of content distribution, and program for administration of content distribution
CN110933517B (en) Code rate switching method, client and computer readable storage medium
CN105379295A (en) Streaming of segmented content
EP3001692A1 (en) Streaming media processing method, apparatus and system
US9832442B2 (en) System and method of managing multiple video players executing on multiple devices
US20160014179A1 (en) Method of video streaming, corresponding device and system
US11075966B2 (en) Cache and multicast techniques to reduce bandwidth utilization
CN114928758A (en) Live broadcast abnormity detection processing method and device
CN104396269A (en) Dynamic interstitial transitions
CN115460427A (en) Live broadcast scheduling method and device, computing equipment and storage medium
CN106657116B (en) Method and device for remotely starting streaming data transmission
CN115297095A (en) Return source processing method and device, computing equipment and storage medium
CN114465658A (en) Transmission link selection method, communication system, device, and storage medium
CN115514981A (en) Video stream scheduling system and related product
CN115412740B (en) Live broadcast back source scheduling method and device, computing equipment and computer storage medium
CN115174948B (en) Scheduling method and device based on transcoding resources
JP2007128388A (en) Information providing system, information providing method, and switching control method of the system
JP2001312435A (en) Method, device for access distribution and recording medium
CN117714718A (en) Dynamic configuration method, system and computing device of live broadcast scheduling mode
CN117880542A (en) CDN cluster source returning method based on long connection and CDN cluster based on long connection

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