CN108810052B - Live broadcast server selection method and device - Google Patents

Live broadcast server selection method and device Download PDF

Info

Publication number
CN108810052B
CN108810052B CN201710305843.6A CN201710305843A CN108810052B CN 108810052 B CN108810052 B CN 108810052B CN 201710305843 A CN201710305843 A CN 201710305843A CN 108810052 B CN108810052 B CN 108810052B
Authority
CN
China
Prior art keywords
live broadcast
live
server
servers
anchor
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
CN201710305843.6A
Other languages
Chinese (zh)
Other versions
CN108810052A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710305843.6A priority Critical patent/CN108810052B/en
Publication of CN108810052A publication Critical patent/CN108810052A/en
Application granted granted Critical
Publication of CN108810052B publication Critical patent/CN108810052B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2181Source of audio or video content, e.g. local disk arrays comprising remotely distributed storage units, e.g. when movies are replicated over a plurality of video servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests

Landscapes

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

Abstract

The application discloses a selection method and device of a live broadcast server, and belongs to the technical field of networks. The method comprises the following steps: the method comprises the steps that a live broadcast management server receives a push stream request sent by an anchor terminal, the push stream request carries an anchor identification, the live broadcast management server obtains a historical watching record corresponding to each live broadcast server in a plurality of live broadcast servers and the anchor identification based on the anchor identification, and the live broadcast management server determines a live broadcast server from the live broadcast servers to serve as a source live broadcast server based on the historical watching record, communication quality parameters between each live broadcast server in the live broadcast servers and the anchor terminal and communication quality parameters between the live broadcast servers. The embodiment of the invention has the advantages of quickly pushing stream for partial users in a targeted manner, and reducing the time delay of the live data stream acquired by the watching user terminal as much as possible, thereby improving the live broadcast efficiency.

Description

Live broadcast server selection method and device
Technical Field
The present application relates to the field of network technologies, and in particular, to a method and an apparatus for selecting a live broadcast server.
Background
With the rapid development of network technology, the network live broadcast system is widely applied, for example, in live broadcast scenes such as live broadcast in ball games and live broadcast in startup. At present, a webcast system mainly includes a main broadcasting terminal, a watching user terminal, and a webcast platform, and the webcast platform further includes a webcast management server and a plurality of webcast servers. The live broadcast server can be used for storing live broadcast data streams, and the watching user terminal can download the live broadcast data streams from the live broadcast server. The live broadcast management server is mainly used for selecting a certain live broadcast server from the plurality of live broadcast servers as a source live broadcast server, and the source live broadcast server is mainly used for storing live broadcast data streams sent by the anchor terminal in the live broadcast process.
In the prior art, a host terminal may send a push flow request to a live broadcast management server during live broadcast, where the push flow request may carry an Internet Protocol (IP) address of a network to which the host terminal currently accesses. Because the communication quality between the live broadcast server in the same or close area with the anchor terminal and the anchor terminal is generally better, the live broadcast management server can select the live broadcast server with better communication quality with the anchor terminal from the plurality of live broadcast servers as the source live broadcast server according to the IP address of the anchor terminal. And then, the live broadcast management server creates a live broadcast channel and sends the address information of the source live broadcast server and the channel information of the live broadcast channel to the anchor terminal, so that the anchor terminal sends a live broadcast data stream to the source live broadcast server based on the address information and the channel information, and the source live broadcast server stores the live broadcast data stream and does not distribute the live broadcast data stream any more. When a user watches the live broadcast, if the live broadcast server to which the user belongs does not have the live broadcast data stream, the live broadcast data stream is pulled back to the source live broadcast server in real time and then is sent to the user.
In the embodiment, the live broadcast management server selects the live broadcast server with better communication quality with the anchor terminal as the source live broadcast server to store the live broadcast data stream sent by the anchor terminal, however, because the distribution of the live broadcast video stream needs a certain time delay, if the number of the watching users who download the live broadcast data stream from the source live broadcast server is small, most of the watching user terminals cannot acquire the live broadcast video stream quickly, that is, the live broadcast pertinence of the embodiment provided above is poor, and the efficiency is low.
Disclosure of Invention
In order to solve the problems of poor live broadcast pertinence and low efficiency in the prior art, the application provides a live broadcast server selection method and device. The technical scheme is as follows:
in a first aspect, a method for selecting a live broadcast server is provided, and is applied to a live broadcast platform, where the live broadcast platform includes a live broadcast management server and a plurality of live broadcast servers, and the method includes:
the live broadcast management server receives a push stream request sent by an anchor terminal, wherein the push stream request carries an anchor identifier;
the live broadcast management server acquires a historical watching record corresponding to each live broadcast server in the plurality of live broadcast servers and the anchor identification based on the anchor identification;
and the live broadcast management server determines a live broadcast server from the live broadcast servers as a source live broadcast server based on the historical viewing record, the communication quality parameters between each live broadcast server in the live broadcast servers and the anchor terminal and the communication quality parameters between the live broadcast servers.
In the embodiment of the invention, the live broadcast management server determines one live broadcast server from the plurality of live broadcast servers as the source live broadcast server according to the three conditions of the historical watching record, the communication quality parameter between each live broadcast server in the plurality of live broadcast servers and the anchor terminal and the communication quality parameter between the plurality of live broadcast servers. Therefore, the method can be used for rapidly pushing the stream for part of users in a targeted manner, and the time delay of the watching user terminal for acquiring the live data stream is reduced as much as possible, so that the live efficiency is improved.
In one possible implementation, the method further includes:
the live broadcast management server creates a live broadcast channel and sends a stream pushing response to the anchor terminal, wherein the stream pushing response carries the address information of the source live broadcast server and the channel information of the live broadcast channel.
It should be noted that after the live broadcast management server sends a stream pushing response carrying the address information of the source live broadcast server and the channel information of the live broadcast channel to the anchor terminal, the anchor terminal can upload the live broadcast data stream to the source live broadcast server based on the address information of the source live broadcast server and the channel information of the live broadcast channel, thereby implementing the pushing of the live broadcast data stream.
In one possible implementation manner, the determining, by the live broadcast management server, one live broadcast server from the plurality of live broadcast servers as a source live broadcast server based on the historical viewing record, a communication quality parameter between each of the plurality of live broadcast servers and the anchor terminal, and a communication quality parameter between the plurality of live broadcast servers includes:
the live broadcast management server determines N live broadcast servers meeting a preset matching strategy from the plurality of live broadcast servers based on the historical viewing records, wherein N is the number of the live broadcast servers meeting the preset matching strategy;
the live broadcast management server determines the weight of the N live broadcast servers according to the historical watching records;
and the live broadcast management server determines a live broadcast server from the N live broadcast servers as the source live broadcast server according to the weight of the N live broadcast servers, the communication quality parameters between the anchor terminal and the N live broadcast servers and the communication quality parameters between the N live broadcast servers.
It should be noted that the live broadcast management server determines a live broadcast server from the N live broadcast servers as the source live broadcast server according to the historical viewing record, the communication quality parameters between the anchor terminal and the N live broadcast servers and the communication quality parameters between the N live broadcast servers based on the weights of the N live broadcast servers, so that the calculation amount of the live broadcast management server for determining the source live broadcast server can be reduced.
In a possible implementation manner, the determining, by the live broadcast management server, one live broadcast server from the N live broadcast servers as the source live broadcast server according to the weight of the N live broadcast servers, the communication quality parameter between the anchor terminal and the N live broadcast servers, and the communication quality parameter between the N live broadcast servers includes:
for each live server in the N live servers, determining a communication quality parameter between the live server and the anchor terminal, and determining a communication quality parameter between the live server and each live server except the live server in the N live servers;
determining a comprehensive communication quality parameter corresponding to the live broadcast server according to the weight of the N live broadcast servers, the communication quality parameter between the live broadcast server and the anchor terminal and the communication quality parameter between the live broadcast server and each live broadcast server except the live broadcast server in the N live broadcast servers;
and determining the live broadcast server corresponding to the minimum comprehensive communication quality parameter as the source live broadcast server from the N live broadcast servers.
It is worth mentioning that when determining the source live broadcast server from the N live broadcast servers, the time delay between the anchor terminal and each live broadcast server and the time delay between each live broadcast server and other live broadcast servers are calculated comprehensively, so that when subsequently distributing live broadcast data streams for the N live broadcast servers, the determined time delays between the source live broadcast server and the N live broadcast servers can be ensured to be short, thereby reducing the time delay for the watching user terminal to acquire the live broadcast data streams, and improving the live broadcast efficiency.
In one possible implementation manner, the determining, by the live broadcast management server, one live broadcast server from the plurality of live broadcast servers as a source live broadcast server based on the historical viewing record, a communication quality parameter between each of the plurality of live broadcast servers and the anchor terminal, and a communication quality parameter between the plurality of live broadcast servers includes:
the live broadcast management server determines N live broadcast servers meeting a preset matching strategy from the plurality of live broadcast servers based on the historical viewing records, wherein N is the number of the live broadcast servers meeting the preset matching strategy;
the live broadcast management server determines the weight of the N live broadcast servers according to the historical watching records;
and the live broadcast management server determines one live broadcast server from the live broadcast servers as the source live broadcast server according to the weight of the N live broadcast servers, the communication quality parameters between the anchor terminal and any one live broadcast server of the live broadcast servers and the communication quality parameters between the live broadcast servers.
It should be noted that, by determining the comprehensive communication parameter of each live server in the plurality of live servers and determining one live server from the plurality of live servers as the source live server according to the comprehensive communication parameter of each live server, the accuracy of determining the source live server is improved.
In a possible implementation manner, the historical viewing record includes the number of users viewing the content corresponding to the anchor mark on the live broadcast server;
the live broadcast management server determines N live broadcast servers meeting a preset matching strategy from the plurality of live broadcast servers based on the historical watching records, and the method comprises the following steps:
and the live broadcast management server determines that the live broadcast servers which are more than or equal to a first preset threshold value in the number of users watching the content corresponding to the anchor broadcast identification from the plurality of live broadcast servers are the live broadcast servers meeting the preset matching strategy.
It should be noted that the live broadcast management server selects, from the plurality of live broadcast servers, live broadcast servers with a larger number of users who have historically watched the content corresponding to the anchor identifier, and uses the selected live broadcast servers as a target of stream pushing, so that it can be ensured that most watching user terminals can acquire live broadcast data streams as quickly as possible.
In a possible implementation manner, the historical watching record includes a historical watching total amount of all users watching the content corresponding to the anchor mark on the live broadcast server;
the live broadcast management server determines N live broadcast servers meeting a preset matching strategy from the plurality of live broadcast servers based on the historical watching records, and the method comprises the following steps:
and the live broadcast management server determines that the live broadcast servers meeting the preset matching strategy are the live broadcast servers, wherein the historical reward total amount of all users watching the content corresponding to the anchor broadcast identification is greater than or equal to a second preset threshold value.
It should be noted that the live broadcast management server selects, from the plurality of live broadcast servers, a live broadcast server in which the historical total rewarding amount of all users viewing the content corresponding to the anchor broadcast identifier is greater than or equal to a second preset threshold, and determines the selected live broadcast server as a stream pushing target, so that the users on the live broadcast server corresponding to the live broadcast server with the larger total rewarding amount can quickly see the live broadcast.
In a possible implementation manner, the historical viewing record includes a historical reward total amount of each user viewing the content corresponding to the anchor mark on the live broadcast server;
the live broadcast management server selects N live broadcast servers meeting a preset matching strategy from the plurality of live broadcast servers based on the historical watching records, and the method comprises the following steps:
and the live broadcast management server determines that the live broadcast server corresponding to the user who watches the content corresponding to the anchor broadcast identification and before the historical reward total amount sequencing M is the live broadcast server meeting the preset matching strategy from the plurality of live broadcast servers.
It should be noted that, the live broadcast management server determines, from the plurality of live broadcast servers, that the live broadcast server corresponding to the user who watches the content corresponding to the anchor broadcast identifier and before the historical total reward amount ranking M is the live broadcast server satisfying the preset matching policy, so that it can be ensured that the user with a larger reward amount can watch live broadcast quickly.
In a possible implementation manner, after the determining, by the live broadcast management server, N live broadcast servers that satisfy a preset matching policy from the plurality of live broadcast servers based on the historical viewing record, the method further includes:
the live broadcast management server receives a data transmission success message sent by the source live broadcast server, wherein the data transmission success message carries channel information of the live broadcast channel;
and the live broadcast management server sends a download instruction to the N live broadcast servers, wherein the download instruction comprises address information of the source live broadcast server and channel information of the live broadcast channel.
It should be noted that the live broadcast management server sends a download instruction to the N live broadcast servers, where the download instruction includes address information of the source live broadcast server and channel information of the live broadcast channel, so that the N live broadcast servers can successfully retrieve live broadcast data streams from the source.
In a second aspect, a method for selecting a live broadcast server is provided, and is applied to a live broadcast platform, where the live broadcast platform includes a live broadcast management server and a plurality of live broadcast servers, and the method includes:
the live broadcast management server receives a data transmission success message sent by a source live broadcast server, wherein the data transmission success message carries channel information of a live broadcast channel, the source live broadcast server is selected from a plurality of live broadcast servers after receiving a stream pushing request sent by an anchor terminal by the live broadcast management server and is used for storing a live broadcast data stream sent by the anchor terminal, and the live broadcast channel is established after the source live broadcast server is selected by the live broadcast management server;
the live broadcast management server acquires a corresponding anchor identifier from a corresponding relation between an anchor identifier and channel information based on the channel information of the live broadcast channel, acquires a corresponding historical viewing record from a corresponding relation between the stored anchor identifier and the historical viewing record, and stores the corresponding relation between the anchor identifier and the channel information of the live broadcast channel after the live broadcast management server establishes the live broadcast channel;
and the live broadcast management server selects at least one live broadcast server which accords with the preset matching strategy except the source live broadcast server from the plurality of live broadcast servers as a distribution live broadcast server based on the historical watching records.
In the embodiment of the invention, the live broadcast server meeting the preset matching strategy can be selected from the plurality of live broadcast servers as the live broadcast server according to the historical watching records in the process of distributing the live broadcast data stream, so that the live broadcast management server can be used for pertinently distributing the live broadcast data stream, and the live broadcast efficiency is improved.
In a possible implementation manner, after the live broadcast management server selects, from the plurality of live broadcast servers, at least one live broadcast server that conforms to the preset matching policy in addition to the source live broadcast server as a distribution live broadcast server based on the historical viewing record, the method further includes:
and sending a downloading instruction to the at least one distribution live broadcast server, wherein the downloading instruction comprises the address information of the source live broadcast server and the channel information of the live broadcast channel.
It should be noted that the live broadcast management server sends a download instruction to at least one distribution live broadcast server, where the download instruction includes address information of the source live broadcast server and channel information of the live broadcast channel, so that the at least one distribution live broadcast server can successfully pull back a live broadcast data stream from a source.
In a possible implementation manner, the historical viewing record includes the number of users viewing the content corresponding to the anchor mark on the live broadcast server;
the live broadcast management server selects at least one live broadcast server which accords with the preset matching strategy except the source live broadcast server from the plurality of live broadcast servers as a distribution live broadcast server based on the historical watching records, and the method comprises the following steps:
and the live broadcast management server determines at least one live broadcast server, which is used for watching the content corresponding to the anchor broadcast identification and has the number larger than or equal to a first preset threshold value, from the plurality of live broadcast servers as a distribution live broadcast server meeting the preset matching strategy.
It should be noted that the live broadcast management server selects, from the plurality of live broadcast servers, live broadcast servers with a larger number of users who have historically watched the content corresponding to the anchor identifier, and uses the selected live broadcast servers as a target of stream pushing, so that it can be ensured that most watching user terminals can acquire live broadcast data streams as quickly as possible.
In a possible implementation manner, the historical watching record includes a historical watching total amount of all users watching the content corresponding to the anchor mark on the live broadcast server;
the live broadcast management server selects at least one live broadcast server which accords with the preset matching strategy except the source live broadcast server from the plurality of live broadcast servers as a distribution live broadcast server based on the historical watching records, and the method comprises the following steps:
and the live broadcast management server determines at least one live broadcast server, which is used for watching the content corresponding to the anchor broadcast identification and has a historical reward total amount larger than or equal to a second preset threshold value, from the plurality of live broadcast servers as a distribution live broadcast server meeting the preset matching strategy.
It should be noted that the live broadcast management server selects a live broadcast server from the plurality of live broadcast servers, where the total historical reward amount of all users watching the content corresponding to the anchor broadcast identifier is greater than or equal to a second preset threshold, and determines the selected live broadcast server as a stream pushing target, so that the users on the live broadcast server can quickly see the live broadcast.
In a possible implementation manner, the historical viewing record includes a historical reward total amount of each user viewing the content corresponding to the anchor mark on the live broadcast server;
the live broadcast management server selects at least one live broadcast server which accords with the preset matching strategy except the source live broadcast server from the plurality of live broadcast servers as a distribution live broadcast server based on the historical watching records, and the method comprises the following steps:
and the live broadcast management server determines at least one live broadcast server corresponding to the user who watches the content corresponding to the anchor broadcast identification and before the historical reward total amount sequencing M is a distribution live broadcast server meeting the preset matching strategy from the plurality of live broadcast servers.
It should be noted that the live broadcast management server determines, from the plurality of live broadcast servers, that the live broadcast server corresponding to the user who watches the content corresponding to the anchor broadcast identifier and before the historical total rewarding amount ranking M is the live broadcast server satisfying the preset matching policy, so that it can be ensured that the user with a larger rewarding amount can watch live broadcast quickly.
In a third aspect, a selection device of a live server is provided, where the selection device of the live server has a function of implementing a behavior of a selection method of the live server in the first aspect or the second aspect. The selection device of the live server includes at least one unit, and the at least one unit is used for implementing the selection method of the live server provided in the first aspect and the second aspect.
In a fourth aspect, a selection device of a live broadcast server is provided, where the selection device of the live broadcast server includes a processor and a memory, and the memory is used to store a program for supporting the selection device of the live broadcast server to execute the selection method of the live broadcast server provided in the first aspect or the second aspect, and to store data for implementing the selection method of the live broadcast server provided in the first aspect or the second aspect. The processor is configured to execute programs stored in the memory. The operating means of the memory device may further comprise a communication bus for establishing a connection between the processor and the memory.
In a fifth aspect, a computer-readable storage medium is provided, where instructions are stored in the computer-readable storage medium, and when the instructions are executed on a computer, the computer is caused to execute the method for selecting a live server according to the first aspect or the second aspect.
A sixth aspect provides a computer program product containing instructions which, when run on a computer, cause the computer to perform the method for selecting a live server according to the first and second aspects.
The technical effects obtained by the third, fourth, fifth and sixth aspects are similar to the technical effects obtained by the corresponding technical means in the first and second aspects, and are not described herein again.
The beneficial effect that technical scheme that this application provided brought is: and after receiving a stream pushing request carrying the anchor identification and sent by the anchor terminal, the live broadcast management server acquires a historical viewing record corresponding to each live broadcast server in the plurality of live broadcast servers and the anchor identification. And then, the live broadcast management server determines a live broadcast server from the live broadcast servers as a source live broadcast server according to the three conditions of the historical viewing record, the communication quality parameter between each live broadcast server in the live broadcast servers and the anchor terminal and the communication quality parameter between the live broadcast servers. Therefore, the method can be used for rapidly pushing the stream for part of users in a targeted manner, and the time delay of the watching user terminal for acquiring the live data stream is reduced as much as possible, so that the live efficiency is improved.
Drawings
Fig. 1 is a schematic structural diagram of a live broadcast system provided in an embodiment of the present invention;
fig. 2 is a schematic structural diagram of a live broadcast management server according to an embodiment of the present invention;
fig. 3 is a flowchart of a method for selecting a live server according to an embodiment of the present invention;
fig. 4 is a flowchart of a method for distributing a live data stream according to an embodiment of the present invention;
FIG. 5 is a flow diagram illustrating another method of selection of a live server in accordance with an illustrative embodiment;
fig. 6A is a schematic structural diagram of a selection device of a live broadcast server according to an embodiment of the present invention;
fig. 6B is a schematic structural diagram of another selection apparatus of a live server according to an embodiment of the present invention;
fig. 6C is a schematic structural diagram of another selection apparatus of a live server according to an embodiment of the present invention.
Detailed Description
To make the objects, technical solutions and advantages of the present application more clear, embodiments of the present application will be described in further detail below with reference to the accompanying drawings.
Before explaining the embodiments of the present invention in detail, the system architecture of the embodiments of the present invention will be described. Fig. 1 is a schematic structural diagram of a live broadcast system according to an embodiment of the present invention. The live broadcast system mainly comprises an anchor terminal 11, a network live broadcast platform 12 and a watching user terminal 13. The anchor terminal 11 and the watching user terminal 13 can establish connection with the live webcast platform 12 through wireless networks, respectively.
The anchor terminal 11 is mainly used to collect and encode a live broadcast picture on an anchor side, and push a live broadcast data stream after the collection and encoding processing to a live broadcast server of the live broadcast platform 12 (see below for specific details about devices included in the live broadcast platform 12). In an actual application scenario, the anchor terminal 11 may be a device such as a mobile phone, a tablet computer, or a computer, which is not limited in this embodiment of the present invention.
The webcast platform 12 includes a webcast management server and a plurality of webcast servers. It should be noted that, in the embodiment of the present invention, the number of the live broadcast management servers and the number of the live broadcast servers are not limited. For convenience of description, fig. 1 of the embodiment of the present invention illustrates that the webcast platform 12 includes four live broadcast servers and one live broadcast management server.
The live broadcast management server is the core of the live broadcast network platform 12 and is also a key device influencing the live broadcast watching experience of the user. The live broadcast management server is mainly responsible for selecting a source live broadcast server from a plurality of live broadcast servers, and the source live broadcast server is any one of the plurality of live broadcast servers and is mainly used for storing live broadcast data streams uploaded by a main broadcast terminal.
In an actual implementation process, the anchor terminal 11 may send a stream pushing request carrying an anchor identifier to the live broadcast management server, where the anchor identifier may be used to uniquely identify an anchor, and for example, the anchor identifier may be an anchor account. And after receiving the stream pushing request, the live broadcast management server acquires a historical viewing record corresponding to each live broadcast server in the plurality of live broadcast servers and the anchor identification according to the anchor identification. Then, the live broadcast management server determines a live broadcast server from the plurality of live broadcast servers as a source live broadcast server according to the history viewing record, the communication quality parameter between each live broadcast server in the plurality of live broadcast servers and the anchor terminal 11, and the communication quality parameter between the plurality of live broadcast servers, and the anchor terminal 11 can push a live broadcast data stream to the source live broadcast server. For this specific implementation, see the embodiment described in fig. 3 below. The communication quality parameter may include, but is not limited to, a geographical location, a time delay, and a packet loss rate.
In the embodiment of the invention, when the source live broadcast server is selected, the communication quality between the anchor terminal and each live broadcast server is considered, and the communication quality between the historical watching record on each live broadcast server and the plurality of live broadcast servers is also considered, so that the stream is pushed quickly for some users in a targeted manner, the time delay of the watching user terminal for acquiring the live broadcast data stream can be reduced as much as possible, and the live broadcast efficiency is improved.
Further, the live management server may be further configured to select at least one live server from the plurality of live servers as a distribution live server. Each distribution live broadcast server is also any one of the plurality of servers and is mainly used for pulling the live broadcast data stream from the source live broadcast server. The specific implementation process can be seen in the embodiment described in fig. 4 or fig. 5 below.
It should be noted that, in order to improve the streaming and distribution speed of the live data stream, the multiple live servers are generally implemented by a Content Delivery Network (CDN) system dispersed in each geographic location.
The watching user terminal 13 is mainly used for acquiring a live data stream from a live server, and performing processing such as decoding, rendering and playing on the live data stream, so that a user can watch live. The watching user terminal 13 may be a device such as a mobile phone, a tablet computer, a computer, and the like, which is not limited in this embodiment of the present invention. In addition, the number of the watching user terminals 13 is not limited in the embodiment of the present invention, and fig. 1 illustrates that the live broadcast system includes 3 watching user terminals 13 as an example.
In a specific implementation, the watching user terminal 13 generally obtains a live data stream from a live server close to the watching user terminal. Specifically, when the watching user terminal 13 needs to acquire a live data stream, the watching user terminal 13 sends a request for watching a live broadcast to the live broadcast management server, where the request for watching the live broadcast generally carries an IP address of the watching user terminal 13. After receiving the request for watching the live broadcast, the live broadcast management server selects a live broadcast server in the same or a close area to the watching user terminal 13 from the plurality of live broadcast servers according to the IP address, and sends the address information of the live broadcast server to the watching user terminal 13, so that the watching user terminal 13 can obtain the live broadcast data stream from the distributed live broadcast server.
It should be noted that, in an actual application scenario, the anchor terminal 11 and the viewing user equipment 13 need to be able to push or acquire a live data stream to the live webcast platform 12 only when successfully logging into the live webcast platform 12. In a specific implementation, the anchor terminal 11 and the watching user device 13 may respectively send login requests to the live webcast platform 12, and in a possible implementation manner, a live webcast management server in the live webcast platform 12 may be responsible for performing identity authentication, where a specific implementation process of the identity authentication may refer to related technologies, which is not described in detail in the embodiments of the present invention. In the embodiment of the present invention, it is described as an example that the anchor terminal 11 and the watching user equipment 13 both successfully log in the live webcast platform 12 through the identity authentication.
Fig. 2 is a schematic structural diagram of a live broadcast management server according to an embodiment of the present invention. The live system in fig. 1 may be implemented by the live management server shown in fig. 2. The live management server may be a computer device, see fig. 2, comprising at least one processor 201, a communication bus 202, a memory 203 and at least one communication interface 204.
The processor 201 may be a general-purpose Central Processing Unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more ics for controlling the execution of programs in accordance with the present invention.
The communication bus 202 may include a path that conveys information between the aforementioned components.
The Memory 203 may be a Read-Only Memory (ROM) or other type of static storage device that can store static information and instructions, a Random Access Memory (RAM) or other type of dynamic storage device that can store information and instructions, an Electrically Erasable Programmable Read-Only Memory (EEPROM), a compact disc Read-Only Memory (CD-ROM) or other optical disc storage, optical disc storage (including compact disc, laser disc, optical disc, digital versatile disc, blu-ray disc, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited to these. The memory 203 may be self-contained and coupled to the processor 201 via the communication bus 202. The memory 203 may also be integrated with the processor 201.
Communication interface 204, using any transceiver or the like, is used for communicating with other devices or communication Networks, such as ethernet, Radio Access Network (RAN), Wireless Local Area Network (WLAN), etc.
In particular implementations, processor 201 may include one or more CPUs, such as CPU0 and CPU1 shown in fig. 2, as one embodiment.
In particular implementations, a computer device may include multiple processors, such as processor 201 and processor 205 shown in fig. 2, as one embodiment. Each of these processors may be a single-core (single-CPU) processor or a multi-core (multi-CPU) processor. A processor herein may refer to one or more devices, circuits, and/or processing cores for processing data (e.g., computer program instructions).
In particular implementations, the computer device may also include an output device 206 and an input device 207, as one embodiment. The output device 206 is in communication with the processor 201 and may display information in a variety of ways. For example, the output device 206 may be a Liquid Crystal Display (LCD), a Light Emitting Diode (LED) display device, a Cathode Ray Tube (CRT) display device, a projector (projector), or the like. The input device 207 is in communication with the processor 201 and may receive user input in a variety of ways. For example, the input device 207 may be a mouse, a keyboard, a touch screen device, or a sensing device, among others.
The computer device may be a general purpose computer device or a special purpose computer device. In a specific implementation, the computer device may be a desktop computer, a laptop computer, a network server, a Personal Digital Assistant (PDA), a mobile phone, a tablet computer, a wireless terminal device, a communication device, or an embedded device. The embodiment of the invention does not limit the type of the computer equipment.
The memory 203 is used for storing program codes for executing the scheme of the application, and the processor 201 controls the execution. The processor 201 is operable to execute program code 208 stored in the memory 203. One or more software modules may be included in program code 208. The processor 201 is configured to execute application code stored in the memory 203 to implement the functions of the live management server of fig. 1.
As can be seen from the foregoing description, the live broadcast management server needs to obtain a historical viewing record, and therefore, before implementing an embodiment of the present invention, the historical viewing record needs to be determined according to a historical live broadcast condition. Here, the procedure of storing the history viewing record will be described first. In an actual implementation, the historical viewing record may be stored on a centralized management device, for example, the centralized management device may be the live broadcast management server, or the centralized management device may also be a separate device, which is not limited in this embodiment of the present invention. Next, the description will be made by taking as an example that the history viewing record is stored by the live broadcast management server:
according to different actual requirements, the contents to be recorded in the historical viewing record are different, and specifically, the following situations can be included but not limited to:
in the first case: the historical viewing record includes the number of users viewing the content corresponding to the anchor identification on the live server.
As described above, the watching user terminal generally obtains the live data stream from the live server that is closer to the watching user terminal, that is, each of the live servers may have a user watching the live content. In order to record the number of users watching the content corresponding to the anchor identifier on each live broadcast server, after each live broadcast is finished, the live broadcast management server takes the anchor identifier as a unit and can record the content according to the format of the following table 1:
TABLE 1
Anchor identification Identification of live broadcast server Number of viewing users
Then, the live management server summarizes the recorded information. In a possible implementation manner, the live broadcast management server may store the anchor identifier, the identifier of the live broadcast server, and the number of users in a corresponding relationship format to obtain the historical viewing record. Further, in order to facilitate the subsequent acquisition of the address information of each live server, the historical viewing record may further include the address information of each live server. Specifically, the following table 2 may be mentioned:
TABLE 2
Figure BDA0001285657370000091
A second case; the historical watching record comprises the historical watching total amount of all users watching the content corresponding to the anchor identification on the live broadcast server.
In the live broadcast process, the user can enjoy the live broadcast according to the preference degree of the live broadcast content of the live broadcast. In a possible implementation manner, the watching and payment operations can be managed by a live broadcast management server in the live broadcast network platform. Of course, the description is given only by way of example that the live broadcast management server manages the reward and payment operations, and in another embodiment, the live broadcast management server may manage the reward and payment operations by another device in the live broadcast platform, which is not limited in the embodiment of the present invention.
Specifically, the user may send a reward message to the live broadcast management server through the watching user terminal, where the reward message may carry a reward amount, channel information of a live broadcast channel, and an identifier of a live broadcast server where the user watches the content of the anchor live broadcast. After receiving the reward message, the live broadcast management server determines a corresponding anchor identifier according to the channel information, and can record according to the format of the following table 3:
TABLE 3
Anchor identification Identification of live broadcast server User's reward amount
Then, the live management server summarizes the recorded information. Similarly, in order to facilitate the subsequent acquisition of the address information of each live server, the historical viewing record may further include the address information of each live server. Thus, the aggregated historical viewing records may be as shown in table 4 below:
TABLE 4
Figure BDA0001285657370000101
In this case, the virtual article may be converted into the prize amount according to a certain conversion policy, and the prize amount may be recorded and summarized, which is not limited in the embodiment of the present invention.
In the third case: the historical watching record comprises the historical reward total amount of each user watching the content corresponding to the anchor identification on the live broadcast server.
Similar to the second case, during the live broadcast, the live broadcast management server may record and summarize the enjoyment of the user. In this implementation, unlike the second case, the live broadcast management server aggregates the total amount of enjoyment of each user viewing the content corresponding to the anchor identifier on each live broadcast server. In an actual application scene, according to different preference degrees of the user to the content corresponding to the anchor identification, the appreciation limit of different users is different. In one possible implementation, the live management server records, and the summarized historical viewing records may be as shown in table 5 below:
TABLE 5
Figure BDA0001285657370000102
Figure BDA0001285657370000111
In practical implementation, not only the total reward amount of each user, but also the rank or the rank of each user may be considered, in which case, the historical watching record may include the total reward amount of a plurality of users watching the content corresponding to the main broadcasting identifier on the live broadcasting server and having a rank higher than a certain rank. For example, the historical viewing record may include a total amount of the rewards of a plurality of users who view the content corresponding to the anchor identifier on the live broadcast server and have the level higher than five.
In fact, since the larger the user's enjoyment quota, the higher the corresponding level generally, in the embodiment of the present invention, only the historical watching total quota of each user who watches the content corresponding to the anchor identifier on the live broadcast server is taken as an example for explanation.
It should be noted that, in the actual implementation process, the live broadcast management server may only store the information of the viewing users who have been live broadcast last time or last few times, where the information of the viewing users includes information such as the number of users and the amount of enjoying. Or, after the information of the watching users who have been live broadcast for the last multiple times is recorded, the live broadcast management server may perform calculation according to the information of the watching users who have been live broadcast for the multiple times to obtain a calculated historical watching record, for example, the calculation may be performed in an averaging manner, which is not limited in the embodiment of the present invention.
It should be noted that the foregoing merely shows the format of the historical viewing record by way of example, and in another embodiment, the historical viewing record may also be stored in other manners, which is not limited in this embodiment of the present invention.
Based on the historical viewing records provided by the above embodiment, a live server selection method provided by the embodiment of the present invention is described in detail next, please refer to fig. 3, where fig. 3 is a flowchart of a live server selection method provided by the embodiment of the present invention, and the method can be implemented by the live system shown in fig. 1, where the method includes:
301: and the live broadcast management server receives a push stream request sent by the anchor terminal, wherein the push stream request carries an anchor identifier.
As described above, when the anchor terminal needs to perform live broadcast, a stream pushing request carrying an anchor identifier may be sent to the live broadcast management server.
In addition, in order to facilitate the live broadcast management server to subsequently determine the communication quality between the anchor terminal and the plurality of live broadcast management servers, in a possible implementation manner, the stream pushing request may also carry an IP address of the anchor terminal.
302: and the live broadcast management server acquires the historical watching record corresponding to each live broadcast server in the plurality of live broadcast servers and the anchor identification based on the anchor identification.
As described above, in one possible implementation, the live management server records and stores the historical viewing record of each live server corresponding to the anchor identifier in advance. In this case, the live broadcast management server may directly obtain the historical viewing record corresponding to the anchor identifier of each live broadcast server from the local.
In a specific implementation, the content recorded in the historical viewing record may also be different according to different actual requirements, and the historical viewing record specifically includes the content shown in table 2, table 4, or table 5 in the above embodiment.
303: the live broadcast management server determines a live broadcast server from the plurality of live broadcast servers as a source live broadcast server based on the historical viewing record, the communication quality parameter between each live broadcast server in the plurality of live broadcast servers and the anchor terminal and the communication quality parameter between the plurality of live broadcast servers.
Specifically, the step may include the following 3031-3033 implementation processes:
3031: and the live broadcast management server determines N live broadcast servers meeting a preset matching strategy from the plurality of live broadcast servers based on the historical watching records, wherein N is the number of the live broadcast servers meeting the preset matching strategy.
The preset matching policy may be preset. According to the difference of the preset matching strategies, the method for determining the N live broadcast servers meeting the preset matching strategies from the multiple live broadcast servers by the live broadcast management server based on the historical viewing records is also different, and the method specifically includes the following possible implementation manners:
in the first case: the historical watching record comprises the number of users watching the content corresponding to the anchor mark on the live broadcast server, and the live broadcast management server determines that the live broadcast server which is larger than or equal to a first preset threshold value in the number of the users watching the content corresponding to the anchor mark from the plurality of live broadcast servers is the live broadcast server meeting the preset matching strategy.
In an actual application scenario, according to the number of users watching the content corresponding to the anchor identifier on each live broadcast server, the popularity of the content corresponding to the anchor identifier in the live broadcast server can be determined. The larger the number of users, the more users are viewed. Therefore, in order to enable most users to watch live broadcast quickly, the live broadcast management server determines, from the plurality of live broadcast servers, that the live broadcast server which watches the content corresponding to the anchor identifier and has the number of users greater than or equal to a first preset threshold is the live broadcast server which meets the preset matching policy.
The first preset threshold may be preset, for example, the first preset threshold may be 500. Referring to table 2, if the anchor identifier is a, it can be determined that, among the plurality of live servers, live servers in which the number of users viewing the content corresponding to the anchor identifier a is greater than or equal to 500 are the live server 1, the live server 2, the live server 4, and the live server 5, respectively. Therefore, the live broadcast management server determines that the live broadcast server 1, the live broadcast server 2, the live broadcast server 4 and the live broadcast server 5 are live broadcast servers meeting the preset matching policy.
It is worth mentioning that the live broadcast management server selects the live broadcast servers with a larger number of users who historically view the content corresponding to the anchor mark from the plurality of live broadcast servers, and uses the selected live broadcast servers as the target of stream pushing, so that most viewing user terminals can be ensured to acquire the live broadcast data stream as quickly as possible.
In the second case: the historical watching record comprises historical watching total amount of all users watching the content corresponding to the anchor broadcast identification on the live broadcast server, and the live broadcast management server determines the live broadcast server, which is more than or equal to a second preset threshold value, of the historical watching total amount of all users watching the content corresponding to the anchor broadcast identification from the live broadcast servers as the live broadcast server meeting the preset matching strategy.
It is understood that the higher the total historical reward amount of all users watching the content corresponding to the anchor mark on the live broadcast server is, the more important the users on the live broadcast server are, that is, it is necessary to ensure that the time delay of watching the live broadcast by the users on the live broadcast server is as short as possible. Therefore, the live broadcast management server determines, from the plurality of live broadcast servers, that the live broadcast server which has the historical reward total amount of all users watching the content corresponding to the anchor broadcast identifier greater than or equal to a second preset threshold is the live broadcast server which meets the preset matching policy.
The second preset threshold may be preset, for example, the second preset threshold may be 2000 yuan. Referring to table 4, if the anchor mark is a, it can be determined that the live servers of the plurality of live servers, in which the total historical reward amount of all users watching the content corresponding to the anchor mark a is greater than or equal to 2000, are the live server 1, the live server 2, and the live server 3, respectively. Therefore, the live management server determines the live server 1, the live server 2, and the live server 3 as live servers satisfying the preset matching policy.
It should be noted that, in this implementation manner, the live broadcast management server selects, from the plurality of live broadcast servers, a live broadcast server in which the total historical reward amount of all users watching the content corresponding to the anchor broadcast identifier is greater than or equal to a second preset threshold, and determines the selected live broadcast server as a stream pushing target, so that the users on the live broadcast server can quickly see the live broadcast.
In the third case: the historical watching record comprises the historical watching total amount of each user watching the content corresponding to the anchor broadcast identification on the live broadcast server, and the live broadcast management server determines that the live broadcast server corresponding to the user who watches the content corresponding to the anchor broadcast identification before the M ranking of the historical watching total amount of the user is the live broadcast server meeting the preset matching strategy from the plurality of live broadcast servers.
In practical application scenarios, the historical total reward amount of an individual user is large, for example, the total reward amount of a certain user exceeds ten thousand yuan. In order to enable the partial users to watch live broadcast quickly, in the implementation mode, the live broadcast management server selects the live broadcast server corresponding to the user who watches the content corresponding to the anchor broadcast identification before the historical total reward amount ranking M from the plurality of live broadcast servers, and determines the selected live broadcast server as the live broadcast server meeting the preset matching strategy. Wherein M may be a natural number greater than 1.
For example, if the anchor mark is a and the value of M is 3, referring to table 5, it can be determined that, among the live servers, the live servers corresponding to the users who viewed the content corresponding to the anchor mark a and whose historical total viewed amounts are ranked 3 are respectively the live server 4, the live server 3, and the live server 1. Therefore, the live management server can determine that the live server 4, the live server 3, and the live server 1 are live servers satisfying the preset matching policy.
It should be noted that, the live broadcast management server determines, from the plurality of live broadcast servers, that the live broadcast server corresponding to the user who watches the content corresponding to the anchor broadcast identifier before the user who ranks the historical watching total amount of content M is the live broadcast server satisfying the preset matching policy, so that it can be ensured that the user with a larger watching amount can watch live broadcast quickly.
It should be noted that, the method for determining, by the live broadcast management server, the N live broadcast servers meeting the preset matching policy from the multiple live broadcast servers based on the historical viewing record is merely exemplary, and in another embodiment, the live broadcast management server may also determine, by using another method, the N live broadcast servers meeting the preset matching policy from the multiple live broadcast servers based on the historical viewing record.
For example, in a possible implementation manner, when the history viewing record includes a plurality of dimensions related to the above three cases, for each live broadcast server in the plurality of live broadcast servers, the live broadcast management server may determine a sum of products between a numeric value statistically obtained according to the plurality of dimensions and a weight of the corresponding dimension on the live broadcast server, so as to obtain a total score of the live broadcast server. And then, the live broadcast management server determines the live broadcast server with the total score larger than or equal to a third preset threshold value from the plurality of live broadcast servers as the live broadcast server meeting the preset matching strategy.
Wherein the third preset threshold may be preset. For example, referring to tables 2, 4 and 5, for the live broadcast server 1 in the plurality of live broadcast servers, if the weight corresponding to the number of users is a, the weight corresponding to the total historical reward amount of all the users is b, and the weight corresponding to the total historical reward amount of each user is c, the total score of the live broadcast server 1 can be determined to be 1200 a +5000 b +1200 c. According to this algorithm, a total score for each live server may be determined. The live broadcast management server may determine, as a live broadcast server satisfying a preset matching policy, a live broadcast server of the plurality of live broadcast servers whose total score is greater than or equal to a third preset threshold.
In fact, it is understood from the above description that the N live servers are live servers that need to be streamed. In practical implementation, the time delay for the watching user terminal to acquire the live broadcast data stream includes two sections, one section is the time delay between the anchor terminal and the source live broadcast server, and the other section is the time delay between the source live broadcast server and the distribution live broadcast server. Therefore, how to select the source live server so that users on the N live servers can all view live more quickly becomes an important point, and the specific process is described below.
3032: and the live broadcast management server determines the weight of the N live broadcast servers according to the historical watching records.
The method for determining the weight of the N live broadcast servers is different according to different contents in the history viewing record, and then, the method for determining the weight of the N live broadcast servers is introduced by taking the number of users watching the content corresponding to the anchor mark on the live broadcast server in the history viewing record as an example.
The live broadcast management server can determine the corresponding weight according to the number of users in each live broadcast server. For example, the live management server may determine a total number of users in the plurality of live servers, then determine a ratio of the number of users in each live server to the total number of users, and determine the ratio as a weight of the corresponding live server.
It should be noted that the above-mentioned manner for determining the weight of the N live servers is only exemplary, and in another embodiment, other manners may also be adopted for determining the weight. For example, different weights may be set in advance for different user number ranges, so that the live broadcast management server may determine, according to the user number range in which the user number is located in each live broadcast server, the preset weight corresponding to the user number range, which is not limited in the embodiment of the present invention.
When the content included in the historical watching record of each live broadcast server is the historical watching amount, the historical watching amount can be converted according to a certain conversion algorithm, and the weight of each live broadcast server is determined according to the converted value.
In an actual implementation, the embodiment of the present invention does not limit a specific implementation manner in which the live broadcast management server determines the weights of the N live broadcast servers according to the historical viewing record.
3033: and the live broadcast management server selects a source live broadcast server according to the weight of the N live broadcast servers.
In a specific implementation, the step may include two possible implementations as follows:
the first mode is as follows: and the live broadcast management server determines a live broadcast server from the N live broadcast servers as the source live broadcast server according to the weight of the N live broadcast servers, the communication quality parameters between the anchor terminal and the N live broadcast servers and the communication quality parameters between the N live broadcast servers.
That is, in this implementation manner, the live broadcast management server selects one live broadcast server from the N live broadcast servers as the source live broadcast server, and a specific implementation process of the live broadcast management server may include the following steps (1) to (3):
(1) for each live broadcast server in the N live broadcast servers, determining a communication quality parameter between the live broadcast server and the anchor terminal, and determining a communication quality parameter between the live broadcast server and each live broadcast server except the live broadcast server in the N live broadcast servers.
For convenience of understanding, the following description will take the example that the N live broadcast servers include a shanghai live broadcast server, a Nanjing live broadcast server, a Suzhou live broadcast server, and a Yangzhou live broadcast server, and the communication quality parameter is a time delay.
For each of the N live servers, for example, for the shanghai live server, the live management server determines a time delay T1 between the shanghai live server and the anchor terminal, a time delay T2 between the shanghai live server and the Nanjing live server, a time delay T3 between the shanghai live server and the Suzhou live server, and a time delay T4 between the shanghai live server and the Yangzhou live server.
(2) And determining a comprehensive communication quality parameter corresponding to the live broadcast server according to the weight of the N live broadcast servers, the communication quality parameter between the live broadcast server and the anchor terminal and the communication quality parameter between the live broadcast server and each live broadcast server except the live broadcast server in the N live broadcast servers.
Suppose that the weights of shanghai live server, Nanjing live server, Suzhou live server and Yangzhou live server are S1, S2, S3 and S4, respectively. The integrated time delay of the shanghai live broadcast server is T1 × S1+ T2 × S2+ T3 × S3+ T4 × S4.
According to the implementation process, the comprehensive time delay of the Nanjing live broadcast server, the Suzhou live broadcast server and the Yangzhou live broadcast server can be respectively determined.
(3) And determining the live broadcast server corresponding to the minimum comprehensive communication quality parameter as the source live broadcast server from the N live broadcast servers.
The smaller the comprehensive communication quality parameter is, the smaller the time delay from the corresponding live broadcast server to the N live broadcast servers is. Therefore, the live broadcast management server selects the minimum integrated communication quality parameter from the plurality of determined integrated communication quality parameters, and determines the live broadcast server corresponding to the minimum integrated communication quality parameter as the source live broadcast server. For example, the live broadcast management server selects a live broadcast server corresponding to the minimum integrated delay from the N live broadcast servers, and determines the live broadcast server as the source live broadcast server.
The comprehensive communication parameters of each live broadcast server in the N live broadcast servers are determined, and one live broadcast server is determined from the N live broadcast servers as the source live broadcast server according to the comprehensive communication parameters of each live broadcast server, so that the operation amount of the live broadcast management server is reduced.
The second mode is as follows: and the live broadcast management server determines a live broadcast server from the live broadcast servers as the source live broadcast server according to the weight of the N live broadcast servers, the communication quality parameters between the anchor terminal and the live broadcast servers and the communication quality parameters between the live broadcast servers.
Different from the first manner, in this implementation manner, a live server is selected from the plurality of live servers as the source live server, and at this time, the source live server may be a certain live server of the N live servers or may be a certain live server of the plurality of live servers except for the N live servers.
It should be noted that, in this implementation manner, for each live server in the plurality of live servers, the live management server needs to determine a communication quality parameter between the live server and the anchor terminal and a communication quality parameter between the live management server and each live server in the N live servers, and then determines an integrated communication parameter of the live server according to the weight of the N live servers. Then, the live broadcast management server determines, from the plurality of live broadcast servers, a live broadcast server corresponding to the minimum integrated communication quality parameter as the source live broadcast server, which may specifically refer to the first implementation manner.
The method determines the comprehensive communication parameter of each live broadcast server in the plurality of live broadcast servers, and determines one live broadcast server from the plurality of live broadcast servers as the source live broadcast server according to the comprehensive communication parameter of each live broadcast server, so that the accuracy of determining the source live broadcast server is improved.
304: the live management server creates a live channel.
305: and the live broadcast management server sends a stream pushing response to the anchor terminal, wherein the stream pushing response carries the address information of the source live broadcast server and the channel information of the live broadcast channel.
In a possible implementation manner, the live broadcast management server may generate a Uniform Resource Locator (URL) based on the address information of the source live broadcast server and the channel information of the live broadcast channel, and carry the URL through the stream push response, so as to implement that the address information of the source live broadcast server and the channel information of the live broadcast channel are carried through the stream push response.
Further, after receiving the stream pushing response, the anchor terminal obtains the address information of the source live broadcast server and the channel information of the live broadcast channel from the stream pushing response, and sends a live broadcast data stream to the source live broadcast server based on the address information of the source live broadcast server and the channel information of the live broadcast channel, so as to store the live broadcast data stream through the source live broadcast server.
In a specific implementation, after the source live broadcast server successfully stores the live broadcast data stream, a data transmission success message carrying channel information may be sent to the live broadcast management server to notify the live broadcast management server of successful storage of the live broadcast data stream.
The live broadcast management server receives the data transmission success message, and can continuously and actively distribute the live broadcast data stream to other live broadcast servers, so that the watching user terminal can obtain the live broadcast data stream from other live broadcast servers. For the implementation process of actively distributing the live data stream to other live servers after the live management server receives the data transmission success message, please refer to the embodiment described in fig. 4 below.
In the embodiment of the invention, after receiving a stream pushing request carrying the anchor identifier and sent by an anchor terminal, a live broadcast management server acquires a historical viewing record corresponding to the anchor identifier of each live broadcast server in a plurality of live broadcast servers. And then, the live broadcast management server determines a live broadcast server from the live broadcast servers as a source live broadcast server according to the three conditions of the historical viewing record, the communication quality parameter between each live broadcast server in the live broadcast servers and the anchor terminal and the communication quality parameter between the live broadcast servers. Therefore, the method can be used for rapidly pushing the stream for part of users in a targeted manner, and the time delay of the watching user terminal for acquiring the live data stream is reduced as much as possible, so that the live efficiency is improved.
As described above, when the live broadcast management server receives the data transmission success message, the live broadcast management server may also actively distribute a live broadcast data stream to other live broadcast servers, and this implementation process will be described in detail herein. Referring to fig. 4, fig. 4 is a flowchart of a method for distributing a live data stream according to an embodiment of the present invention, where the method may also be implemented by a live system as shown in fig. 1, and the method mainly includes the following implementation steps:
401: the source live broadcast server sends a data transmission success message to the live broadcast management server, the live broadcast management server receives the data transmission success message sent by the source live broadcast server, and the data transmission success message carries channel information of the live broadcast channel.
And after receiving the data transmission success message sent by the source live broadcast server, the live broadcast management server determines that the source live broadcast server successfully stores the live broadcast data stream, and at the moment, the live broadcast management server can further actively distribute the live broadcast data stream.
402: and the live broadcast management server sends a download instruction to the N live broadcast servers, wherein the download instruction comprises the address information of the source live broadcast server and the channel information of the live broadcast channel.
According to the above description, the N live broadcast servers are live broadcast servers that need stream pushing, and therefore, the live broadcast management server sends a download instruction to the N live broadcast servers, so that after receiving the download instruction, the N live broadcast servers download and store live broadcast data streams from the source live broadcast server according to address information of the source live broadcast server and channel information of the live broadcast channel, which are carried in the download instruction.
It should be noted that, as described above, in an actual implementation, the source live server may be one of the N live servers, in which case, the live management server may send the download indication to each of the N live servers except the source live server.
Further, for the watching user terminal, when the watching user terminal wants to watch the live broadcast, the watching user terminal sends a request for watching the live broadcast to the live broadcast management server, wherein the request for watching the live broadcast comprises an IP address of the watching user terminal and channel information of a live broadcast channel. And the live broadcast management server selects a live broadcast server closest to the watching user terminal according to the IP address of the watching user terminal, and sends the address information of the live broadcast server to the watching user terminal. And the watching user terminal sends a content acquisition request to the live broadcast server according to the address information, wherein the content acquisition request comprises channel information of a live broadcast channel. And after receiving the content acquisition request, the live broadcast server acquires a corresponding live broadcast data stream according to the live broadcast channel information and sends the live broadcast data stream to the watching user terminal. And after receiving the live data stream, the watching user terminal decodes, renders, plays and the like the live data stream, so that the user can watch the live broadcast.
It should be noted that, here, it is only described by taking an example that the live broadcast management server actively distributes live broadcast data streams to the N live broadcast servers, in another embodiment, the live broadcast management server may further select, according to a history viewing record, at least one live broadcast server that meets a preset matching policy from the multiple live broadcast servers as a distribution live broadcast server, which is described in detail with reference to the embodiment shown in fig. 5 below.
In the embodiment of the invention, after receiving a stream pushing request carrying the anchor identifier and sent by an anchor terminal, a live broadcast management server acquires a historical viewing record corresponding to the anchor identifier of each live broadcast server in a plurality of live broadcast servers. And then, the live broadcast management server determines a live broadcast server from the live broadcast servers as a source live broadcast server according to the three conditions of the historical viewing record, the communication quality parameter between each live broadcast server in the live broadcast servers and the anchor terminal and the communication quality parameter between the live broadcast servers. Therefore, the method can be used for rapidly pushing the stream for part of users in a targeted manner, and the time delay of the watching user terminal for acquiring the live data stream is reduced as much as possible, so that the live efficiency is improved.
In practical implementation, the live broadcast management server may further select at least one live broadcast server satisfying a preset matching policy from the plurality of live broadcast servers according to the historical viewing record, and use the live broadcast server as a distribution live broadcast server. To this end, please refer to fig. 5, where fig. 5 is a flowchart illustrating another live server selection method according to an exemplary embodiment, the method is used to select at least one live server from a plurality of live servers as a distribution live server, and the method can also be implemented by the live system as shown in fig. 1 above, and the method includes the following implementation steps:
501: the live broadcast management server receives a data transmission success message sent by a source live broadcast server, the data transmission success message carries channel information of a live broadcast channel, the source live broadcast server is selected from the plurality of live broadcast servers after the live broadcast management server receives a stream pushing request sent by an anchor terminal and is used for storing a live broadcast data stream sent by the anchor terminal, and the live broadcast channel is established after the source live broadcast server is selected by the live broadcast management server.
In this implementation, the selection manner of the source live server may not be limited. For example, in one possible implementation, the live management server may select the source live server from the plurality of live servers according to a proximity principle. Specifically, the live broadcast management server may determine, according to a communication quality parameter between each of the plurality of live broadcast servers and the anchor terminal, a live broadcast server corresponding to a minimum communication quality parameter, and determine the live broadcast server as the source live broadcast server.
Alternatively, in another possible implementation manner, the live broadcast management server may further determine, according to the implementation method in the embodiment shown in fig. 3, a live broadcast server from among the multiple live broadcast servers as a source live broadcast server according to the historical viewing record, the communication quality parameter between each of the multiple live broadcast servers and the anchor terminal, and the communication quality parameter between the multiple live broadcast servers.
502: the live broadcast management server acquires a corresponding anchor identifier from a corresponding relation between the anchor identifier and the channel information based on the channel information of the live broadcast channel, acquires a corresponding historical viewing record from a corresponding relation between the stored anchor identifier and the historical viewing record, and stores the corresponding relation between the anchor identifier and the channel information of the live broadcast channel after the live broadcast management server establishes the live broadcast channel.
In an actual implementation process, after the live broadcast management server creates a live broadcast channel, the corresponding relationship between the anchor identifier and the channel information of the live broadcast channel may be stored. Therefore, when the live broadcast management server receives a data transmission success message which is sent by the source live broadcast server and carries the channel information, the anchor identifier corresponding to the channel information can be obtained from the corresponding relation between the anchor identifier and the channel information of the live broadcast channel. And then, the live broadcast management server acquires a corresponding historical viewing record from the corresponding relation between the anchor identification and the historical viewing record according to the anchor identification.
503: and the live broadcast management server selects at least one live broadcast server which accords with the preset matching strategy except the source live broadcast server from the plurality of live broadcast servers as a distribution live broadcast server based on the historical watching records.
It should be noted that, based on the historical viewing record, the live broadcast management server selects, from the multiple live broadcast servers, at least one live broadcast server that meets the preset matching policy, except for the source live broadcast server, in an implementation process, referring to the historical viewing record in the embodiment of fig. 3, and an implementation process of selecting, from the multiple live broadcast servers, N live broadcast servers that meet the preset matching policy is selected, which is not described repeatedly herein.
It should be noted that, because the method for selecting a live broadcast server satisfying a preset matching policy from a plurality of live broadcast servers is the same according to the history viewing record, when the live broadcast management server selects the source live broadcast server according to the implementation method described in the embodiment of fig. 3, the method may be the same as the method for selecting the live broadcast server, and therefore, in the implementation process, after the live broadcast management server selects the source live broadcast server according to the implementation method described in the embodiment of fig. 3, the live broadcast data stream may be directly distributed to the N live broadcast servers selected in the process, without being determined according to the history viewing record.
Further, in order to facilitate the at least one live distribution server to obtain the live data stream from the source live broadcast server, the live broadcast management server may further send a download instruction to the at least one live distribution server, where the download instruction includes address information of the source live broadcast server and channel information of the live broadcast channel. Therefore, the at least one live broadcast server can download the live broadcast data stream corresponding to the channel information from the source live broadcast server according to the address information of the source live broadcast server and the channel information of the live broadcast channel, and distribution of the live broadcast data stream is achieved.
In the embodiment of the invention, in the process of distributing the live broadcast data stream, the live broadcast management server selects at least one live broadcast server meeting a preset matching strategy from a plurality of live broadcast servers as a distribution live broadcast server according to the historical watching records, and actively distributes the live broadcast data stream to the at least one distribution live broadcast server. Therefore, the pertinence of live data stream distribution is increased, and the live efficiency is improved.
Referring to fig. 6A, fig. 6A is a schematic structural diagram of a selection apparatus for a live broadcast server according to an embodiment of the present invention, where the apparatus is applied to a live broadcast platform, where the live broadcast platform includes a live broadcast management server and a plurality of live broadcast servers, and the apparatus includes:
a receiving unit 610, configured to perform step 301 in the embodiment of fig. 3.
An obtaining unit 620, configured to perform step 302 in the embodiment of fig. 3 described above.
A determining unit 630, configured to perform step 303 in the embodiment of fig. 3 described above.
Optionally, referring to fig. 6B, the apparatus further includes:
a sending unit 640 is created for performing step 304 and step 305 in the embodiment of fig. 3 described above.
Optionally, the determining unit 630 is further configured to perform steps 3031 and 3033 in the embodiment of fig. 3.
Optionally, the determining unit 630 is further configured to perform step (1) -step (3) in the embodiment of fig. 3.
Optionally, the determining unit 630 is further configured to execute the first case, the second case, and the third case of step 3031 in the embodiment in fig. 3.
Optionally, the receiving unit 610 is further configured to execute step 401 in the embodiment of fig. 4.
The apparatus further comprises a sending unit 650, wherein the sending unit 650 is configured to perform step 402 in the embodiment of fig. 4.
In the embodiment of the invention, after receiving a stream pushing request carrying the anchor identifier and sent by an anchor terminal, a live broadcast management server acquires a historical viewing record corresponding to the anchor identifier of each live broadcast server in a plurality of live broadcast servers. And then, the live broadcast management server determines a live broadcast server from the live broadcast servers as a source live broadcast server according to the three conditions of the historical viewing record, the communication quality parameter between each live broadcast server in the live broadcast servers and the anchor terminal and the communication quality parameter between the live broadcast servers. Therefore, the method can be used for rapidly pushing the stream for part of users in a targeted manner, and the time delay of the watching user terminal for acquiring the live data stream is reduced as much as possible, so that the live efficiency is improved.
In an embodiment of the present invention, the selection means of the live server is presented in the form of a functional unit. An "element" may refer to an application-specific integrated circuit (ASIC), an electronic circuit, a processor and memory that execute one or more software or firmware programs, an integrated logic circuit, and/or other devices that may provide the described functionality. In a simple embodiment, the selection means of the live server may take the form shown in fig. 2, as will be appreciated by those skilled in the art. Among them, the receiving unit 610, the obtaining unit 620, the determining unit 630, the creating transmitting unit 640, and the transmitting unit 650 may be implemented by the processor and the memory of fig. 2, and in particular, may be implemented by executing program codes stored in the memory by the processor.
An embodiment of the present invention further provides a computer storage medium, configured to store computer software instructions for implementing the live broadcast server selection apparatus shown in fig. 3, fig. 4, and fig. 5, where the computer storage medium includes a program designed to execute the method embodiment. By executing the stored program, it is possible to realize acquisition of business data required for developing an application.
It should be noted that, for simplicity of description, the above-mentioned method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the present application is not limited by the order of acts described, as some steps may occur in other orders or concurrently depending on the application. Further, those skilled in the art should also appreciate that the acts and modules illustrated in the embodiments described in the specification are not necessarily required in this application.
While the present application has been described in connection with various embodiments, other variations to the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed application, from a review of the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other elements or steps, and the word "a" or "an" does not exclude a plurality. A single processor or other unit may fulfill the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, apparatus (device), or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein. A computer program stored/distributed on a suitable medium supplied together with or as part of other hardware, may also take other distributed forms, such as via the Internet or other wired or wireless telecommunication systems.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (devices) and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
Although the present application has been described in conjunction with specific features and embodiments thereof, it will be evident that various modifications and combinations can be made thereto without departing from the spirit and scope of the application. Accordingly, the specification and figures are merely exemplary of the present application as defined in the appended claims and are intended to cover any and all modifications, variations, combinations, or equivalents within the scope of the present application. It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the spirit and scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations as well.

Claims (19)

1. A selection method of a live broadcast server is applied to a network live broadcast platform, the network live broadcast platform comprises a live broadcast management server and a plurality of live broadcast servers, and the method comprises the following steps:
the live broadcast management server receives a push stream request sent by an anchor terminal, wherein the push stream request carries an anchor identifier;
the live broadcast management server acquires a historical watching record corresponding to each live broadcast server in the plurality of live broadcast servers and the anchor identification based on the anchor identification;
and the live broadcast management server determines a live broadcast server from the live broadcast servers as a source live broadcast server based on the historical viewing record, the communication quality parameters between each live broadcast server in the live broadcast servers and the anchor terminal and the communication quality parameters between the live broadcast servers.
2. The method of claim 1, wherein the method further comprises:
the live broadcast management server creates a live broadcast channel and sends a stream pushing response to the anchor terminal, wherein the stream pushing response carries the address information of the source live broadcast server and the channel information of the live broadcast channel.
3. The method of claim 1 or 2, wherein the live management server determining one live server from the plurality of live servers as a source live server based on the historical viewing record, the communication quality parameters between each of the plurality of live servers and the anchor terminal, and the communication quality parameters between the plurality of live servers comprises:
the live broadcast management server determines N live broadcast servers meeting a preset matching strategy from the plurality of live broadcast servers based on the historical viewing records, wherein N is the number of the live broadcast servers meeting the preset matching strategy;
the live broadcast management server determines the weight of the N live broadcast servers according to the historical watching records;
and the live broadcast management server determines a live broadcast server from the N live broadcast servers as the source live broadcast server according to the weight of the N live broadcast servers, the communication quality parameters between the anchor terminal and the N live broadcast servers and the communication quality parameters between the N live broadcast servers.
4. The method as claimed in claim 3, wherein the determining, by the live management server, one live server from the N live servers as the source live server according to the weights of the N live servers, the communication quality parameters between the anchor terminal and the N live servers, and the communication quality parameters between the N live servers comprises:
for each live server in the N live servers, determining a communication quality parameter between the live server and the anchor terminal, and determining a communication quality parameter between the live server and each live server except the live server in the N live servers;
determining a comprehensive communication quality parameter corresponding to the live broadcast server according to the weight of the N live broadcast servers, the communication quality parameter between the live broadcast server and the anchor terminal and the communication quality parameter between the live broadcast server and each live broadcast server except the live broadcast server in the N live broadcast servers;
and determining the live broadcast server corresponding to the minimum comprehensive communication quality parameter as the source live broadcast server from the N live broadcast servers.
5. The method of claim 1 or 2, wherein the live management server determining one live server from the plurality of live servers as a source live server based on the historical viewing record, the communication quality parameters between each of the plurality of live servers and the anchor terminal, and the communication quality parameters between the plurality of live servers comprises:
the live broadcast management server determines N live broadcast servers meeting a preset matching strategy from the plurality of live broadcast servers based on the historical viewing records, wherein N is the number of the live broadcast servers meeting the preset matching strategy;
the live broadcast management server determines the weight of the N live broadcast servers according to the historical watching records;
and the live broadcast management server determines one live broadcast server from the live broadcast servers as the source live broadcast server according to the weight of the N live broadcast servers, the communication quality parameters between the anchor terminal and any one live broadcast server of the live broadcast servers and the communication quality parameters between the live broadcast servers.
6. The method of claim 3, wherein the historical viewing record includes a number of users on a live server viewing content corresponding to the anchor identification;
the live broadcast management server determines N live broadcast servers meeting a preset matching strategy from the plurality of live broadcast servers based on the historical watching records, and the method comprises the following steps:
and the live broadcast management server determines that the live broadcast servers which are more than or equal to a first preset threshold value in the number of users watching the content corresponding to the anchor broadcast identification from the plurality of live broadcast servers are the live broadcast servers meeting the preset matching strategy.
7. The method of claim 3, wherein the historical viewing record comprises a historical viewing total amount of all users viewing the content corresponding to the anchor identification on a live broadcast server;
the live broadcast management server determines N live broadcast servers meeting a preset matching strategy from the plurality of live broadcast servers based on the historical watching records, and the method comprises the following steps:
and the live broadcast management server determines that the live broadcast servers meeting the preset matching strategy are the live broadcast servers, wherein the historical reward total amount of all users watching the content corresponding to the anchor broadcast identification is greater than or equal to a second preset threshold value.
8. The method of claim 3, wherein the historical viewing record comprises a historical viewing total amount of each user viewing the content corresponding to the anchor identification on a live server;
the live broadcast management server selects N live broadcast servers meeting a preset matching strategy from the plurality of live broadcast servers based on the historical watching records, and the method comprises the following steps:
and the live broadcast management server determines that the live broadcast server corresponding to the user who watches the content corresponding to the anchor broadcast identification and before the historical reward total amount sequencing M is the live broadcast server meeting the preset matching strategy from the plurality of live broadcast servers.
9. The method of claim 3, wherein after the live management server determines N live servers from the plurality of live servers that satisfy a preset matching policy based on the historical viewing records, further comprising:
the live broadcast management server receives a data transmission success message sent by the source live broadcast server, wherein the data transmission success message carries channel information of a live broadcast channel;
and the live broadcast management server sends a download instruction to the N live broadcast servers, wherein the download instruction comprises address information of the source live broadcast server and channel information of the live broadcast channel.
10. The utility model provides a selection device of live broadcast server, its characterized in that, the device is arranged in the live broadcast management server in the live broadcast platform of network, the live broadcast platform of network still includes a plurality of live broadcast servers, the device includes:
the system comprises a receiving unit, a sending unit and a receiving unit, wherein the receiving unit is used for receiving a stream pushing request sent by an anchor terminal, and the stream pushing request carries an anchor identifier;
the acquisition unit is used for acquiring a historical watching record corresponding to the anchor identification by each live broadcast server in the plurality of live broadcast servers based on the anchor identification;
and the determining unit is used for determining one live broadcast server from the plurality of live broadcast servers as a source live broadcast server based on the historical viewing record, the communication quality parameter between each live broadcast server in the plurality of live broadcast servers and the anchor terminal and the communication quality parameter between the plurality of live broadcast servers.
11. The apparatus of claim 10, wherein the apparatus further comprises:
and the creating and sending unit is used for creating a live channel and sending a stream pushing response to the anchor terminal, wherein the stream pushing response carries the address information of the source live server and the channel information of the live channel.
12. The apparatus according to claim 10 or 11, wherein the determining unit is configured to determine, based on the historical viewing record, a communication quality parameter between each of the plurality of live servers and the anchor terminal, and a communication quality parameter between the plurality of live servers, one live server from among the plurality of live servers as a source live server, specifically:
determining N live broadcast servers meeting a preset matching strategy from the plurality of live broadcast servers based on the historical viewing records, wherein N is the number of the live broadcast servers meeting the preset matching strategy;
determining the weight of the N live broadcast servers according to the historical watching records;
and determining a live broadcast server from the N live broadcast servers as the source live broadcast server according to the weight of the N live broadcast servers, the communication quality parameters between the anchor terminal and the N live broadcast servers and the communication quality parameters between the N live broadcast servers.
13. The apparatus according to claim 12, wherein the determining unit is configured to determine, as the source live server, one live server from the N live servers according to the weights of the N live servers, the communication quality parameters between the anchor terminal and the N live servers, and the communication quality parameters between the N live servers, and specifically:
for each live server in the N live servers, determining a communication quality parameter between the live server and the anchor terminal, and determining a communication quality parameter between the live server and each live server except the live server in the N live servers;
determining a comprehensive communication quality parameter corresponding to the live broadcast server according to the weight of the N live broadcast servers, the communication quality parameter between the live broadcast server and the anchor terminal and the communication quality parameter between the live broadcast server and each live broadcast server except the live broadcast server in the N live broadcast servers;
and determining the live broadcast server corresponding to the minimum comprehensive communication quality parameter as the source live broadcast server from the N live broadcast servers.
14. The apparatus according to claim 10 or 11, wherein the determining unit is configured to determine, based on the historical viewing record, a communication quality parameter between each of the plurality of live servers and the anchor terminal, and a communication quality parameter between the plurality of live servers, one live server from among the plurality of live servers as a source live server, specifically:
determining N live broadcast servers meeting a preset matching strategy from the plurality of live broadcast servers based on the historical viewing records, wherein N is the number of the live broadcast servers meeting the preset matching strategy;
determining the weight of the N live broadcast servers according to the historical watching records;
and determining one live broadcast server from the plurality of live broadcast servers as the source live broadcast server according to the weight of the N live broadcast servers, the communication quality parameters between the anchor terminal and any one live broadcast server of the plurality of live broadcast servers and the communication quality parameters between the plurality of live broadcast servers.
15. The apparatus of claim 12, wherein the historical viewing record includes a number of users on a live server viewing content corresponding to the anchor identification;
the determining unit is configured to determine, based on the historical viewing record, N live broadcast servers that meet a preset matching policy from among the plurality of live broadcast servers, and specifically includes:
and determining the live broadcast servers, in which the number of users watching the content corresponding to the anchor mark is greater than or equal to a first preset threshold value, as the live broadcast servers meeting the preset matching strategy.
16. The apparatus of claim 12, wherein the historical viewing record comprises a historical viewing total amount of all users viewing the content corresponding to the anchor identification on a live server;
the determining unit is configured to determine, based on the historical viewing record, N live broadcast servers that meet a preset matching policy from among the plurality of live broadcast servers, and specifically includes:
and determining the live broadcast servers, which are used for watching the content corresponding to the anchor broadcast identification and have the historical reward total amount larger than or equal to a second preset threshold value, as the live broadcast servers meeting the preset matching strategy.
17. The apparatus of claim 12, wherein the historical viewing record comprises a historical viewing total amount of each user viewing the content corresponding to the anchor identification on a live server;
the determining unit is configured to select, based on the historical viewing record, N live broadcast servers that satisfy a preset matching policy from the plurality of live broadcast servers, and specifically includes:
and determining that the live broadcast server corresponding to the user who watches the content corresponding to the anchor broadcast identification before the M ordered historical reward total amount of the user is the live broadcast server meeting the preset matching strategy from the plurality of live broadcast servers.
18. The apparatus of claim 12,
the receiving unit is further configured to receive a data transmission success message sent by the source live broadcast server, where the data transmission success message carries channel information of a live broadcast channel;
the device further comprises:
and the sending unit is used for sending a downloading instruction to the N live broadcast servers, wherein the downloading instruction comprises the address information of the source live broadcast server and the channel information of the live broadcast channel.
19. An apparatus for selecting a live server, the apparatus comprising:
a processor and a memory;
wherein the memory has a computer readable program stored therein;
the processor is configured to perform the method of any one of claims 1-9 by executing a program in the memory.
CN201710305843.6A 2017-05-03 2017-05-03 Live broadcast server selection method and device Active CN108810052B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710305843.6A CN108810052B (en) 2017-05-03 2017-05-03 Live broadcast server selection method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710305843.6A CN108810052B (en) 2017-05-03 2017-05-03 Live broadcast server selection method and device

Publications (2)

Publication Number Publication Date
CN108810052A CN108810052A (en) 2018-11-13
CN108810052B true CN108810052B (en) 2020-09-04

Family

ID=64054123

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710305843.6A Active CN108810052B (en) 2017-05-03 2017-05-03 Live broadcast server selection method and device

Country Status (1)

Country Link
CN (1) CN108810052B (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109413199A (en) * 2018-11-22 2019-03-01 北京大米科技有限公司 A kind of communication means, device, electronic equipment and medium
CN110460866A (en) * 2019-07-29 2019-11-15 网宿科技股份有限公司 Push method, system and the server of stream medium data
CN110798698B (en) * 2019-11-25 2020-09-11 盈动电子竞技(海南自贸区)有限公司 Multi-server stream pushing method, equipment and storage medium for live broadcast application program
CN112887740B (en) * 2019-11-29 2022-11-11 阿里巴巴集团控股有限公司 Data processing method and device, computer storage medium and electronic equipment
CN111314293A (en) * 2020-01-15 2020-06-19 安徽文香信息技术有限公司 Media resource service system, method, device, storage medium and processor
CN112423012B (en) * 2020-11-18 2023-05-09 青岛华升联信智慧科技有限公司 Multi-stage load live broadcast method
CN115412738B (en) * 2021-05-26 2023-09-08 广西三方大供应链技术服务有限公司 Scheduling method and device of server and storage medium
CN114584561A (en) * 2022-03-15 2022-06-03 联想(北京)有限公司 Information processing method and device and electronic equipment
CN117201502B (en) * 2023-09-12 2024-02-20 广州云硕科技发展有限公司 Intelligent cloud server access method and system based on artificial intelligence

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101964787A (en) * 2010-09-17 2011-02-02 深圳市同洲电子股份有限公司 Method, device and system for implementation of multiple-terminal breakpoint broadcast of programs
KR20150123678A (en) * 2014-04-24 2015-11-04 숭실대학교산학협력단 A CDN Service System through Distributed Mobility Management and Method Thereof
CN105872640A (en) * 2015-12-07 2016-08-17 乐视云计算有限公司 Live broadcast video obtaining method, device and system
CN105897836A (en) * 2015-12-07 2016-08-24 乐视云计算有限公司 Back source request processing method and device
CN106060605A (en) * 2016-05-25 2016-10-26 清华大学深圳研究生院 CDN-based live stream self-adaption method and system
CN106453328A (en) * 2016-10-18 2017-02-22 乐视控股(北京)有限公司 Publishing method for live broadcast video file, publishing client and edge streaming media server

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102123307B (en) * 2011-01-20 2014-02-26 深圳市龙视传媒有限公司 Method and system for playing programs
CN104135672A (en) * 2014-08-13 2014-11-05 浪潮软件集团有限公司 HLS-based method for realizing seamless disaster recovery of video on demand
CN105681835B (en) * 2016-02-26 2019-11-19 腾讯科技(深圳)有限公司 A kind of method and server of information push
CN105847874A (en) * 2016-04-20 2016-08-10 乐视控股(北京)有限公司 Live broadcasting device and live broadcasting terminal

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101964787A (en) * 2010-09-17 2011-02-02 深圳市同洲电子股份有限公司 Method, device and system for implementation of multiple-terminal breakpoint broadcast of programs
KR20150123678A (en) * 2014-04-24 2015-11-04 숭실대학교산학협력단 A CDN Service System through Distributed Mobility Management and Method Thereof
CN105872640A (en) * 2015-12-07 2016-08-17 乐视云计算有限公司 Live broadcast video obtaining method, device and system
CN105897836A (en) * 2015-12-07 2016-08-24 乐视云计算有限公司 Back source request processing method and device
CN106060605A (en) * 2016-05-25 2016-10-26 清华大学深圳研究生院 CDN-based live stream self-adaption method and system
CN106453328A (en) * 2016-10-18 2017-02-22 乐视控股(北京)有限公司 Publishing method for live broadcast video file, publishing client and edge streaming media server

Also Published As

Publication number Publication date
CN108810052A (en) 2018-11-13

Similar Documents

Publication Publication Date Title
CN108810052B (en) Live broadcast server selection method and device
US10798440B2 (en) Methods and systems for synchronizing data streams across multiple client devices
CN108391179B (en) Live broadcast data processing method and device, server, terminal and storage medium
US9787487B2 (en) Facilitating media streaming with social interaction
US10271079B1 (en) Live video streaming system and method
CN104980809B (en) A kind of barrage treating method and apparatus
US20130263182A1 (en) Customizing additional content provided with video advertisements
CN109257631B (en) Video carousel playing method and device, computer equipment and storage medium
CN106572358A (en) Live broadcast time shift method and client
US10554924B2 (en) Displaying content between loops of a looping media item
WO2017121303A1 (en) Method and apparatus for playing push information during video live broadcast
WO2015090095A1 (en) Information pushing method, device, and system
US10225319B2 (en) System and method of a link surfed http live streaming broadcasting system
CN104811814A (en) Video playing-based information processing method and system, client and server
He et al. Fog-based transcoding for crowdsourced video livecast
EP2493191B1 (en) Method, device and system for realizing hierarchically requesting content in http streaming system
CN110149525A (en) A kind of live broadcasting method, device, equipment and storage medium
CN111510789B (en) Video playing method, system, computer equipment and computer readable storage medium
CN107105316A (en) A kind of advertisement broadcast method and device
WO2020125381A1 (en) Method and apparatus for generating information
CN107920108A (en) A kind of method for pushing of media resource, client and server
CN112511849A (en) Game display method, device, equipment, system and storage medium
US10225293B1 (en) Decorating embedded graphic representations on social shares with metadata
CN113852834A (en) Content display method, device, equipment and storage medium
US20210136451A1 (en) Automatic rating of crowd-stream caller video

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