CN114501053A - Live stream acquisition method and device - Google Patents

Live stream acquisition method and device Download PDF

Info

Publication number
CN114501053A
CN114501053A CN202210116541.5A CN202210116541A CN114501053A CN 114501053 A CN114501053 A CN 114501053A CN 202210116541 A CN202210116541 A CN 202210116541A CN 114501053 A CN114501053 A CN 114501053A
Authority
CN
China
Prior art keywords
node
stream
edge
information
access
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210116541.5A
Other languages
Chinese (zh)
Other versions
CN114501053B (en
Inventor
董晓宏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Bilibili Technology Co Ltd
Original Assignee
Shanghai Bilibili Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Bilibili Technology Co Ltd filed Critical Shanghai Bilibili Technology Co Ltd
Priority to CN202210116541.5A priority Critical patent/CN114501053B/en
Publication of CN114501053A publication Critical patent/CN114501053A/en
Application granted granted Critical
Publication of CN114501053B publication Critical patent/CN114501053B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2385Channel allocation; Bandwidth allocation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44222Analytics of user selections, e.g. selection of programs or purchase activity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences

Abstract

The application provides a live stream acquisition method and a device, wherein the live stream acquisition method is applied to a stream information server, the stream information server contains historical node information of each node in a content distribution network, and the method comprises the following steps: receiving a live stream acquisition request sent by a viewer, wherein the live stream acquisition request carries a target live stream identifier; matching the target live broadcast stream identification with historical node information of a plurality of edge nodes respectively, determining access priorities of the edge nodes according to matching results, and determining a node sequence formed by the edge nodes according to the access priorities; and feeding back the node sequence to the audience so that the audience acquires the target live broadcast stream according to the access priority of each edge node in the node sequence. The edge nodes can be accurately scheduled, the convergence ratio of the source return is greatly improved, and the source return cost is effectively reduced.

Description

Live stream acquisition method and device
Technical Field
The application relates to the technical field of computers, in particular to a live stream acquisition method. The application also relates to a live stream acquisition device, a computing device and a computer readable storage medium.
Background
With the rapid development of computer technology and internet technology, live broadcast on a social networking platform is becoming a popular real-time interaction form. The live broadcast is generally divided into an upstream push stream and a downstream distribution, the main broadcast carries out the upstream push stream, the audience of the live broadcast room carries out subscription watching on the live broadcast, and then the live broadcast is distributed to the audience in the downstream mode.
The existing live broadcast is usually realized through a content distribution network, when selecting to watch the live broadcast, audiences firstly request a background scheduling center to serve and distribute an access node, the scheduling center selects a plurality of nodes with better experience relative to users to return to a user side, and when the users connect a certain node card, the switching line can be selected. However, the above method cannot clearly know the distribution of the current live broadcast stream in the distribution network, and cannot accurately schedule nodes, and for a large live broadcast platform, since the user base number, the push-pull stream number, and the content distribution flow are all large, the number of the source returns is large, an invalid source return is easily caused, and the bandwidth cost is increased.
Disclosure of Invention
In view of this, the present application provides a live stream acquisition method. The application also relates to a live stream acquisition device, a computing device and a computer readable storage medium, which are used for solving the technical defects of large return source quantity and high broadband cost in the prior art.
According to a first aspect of an embodiment of the present application, a live stream acquisition method is provided, which is applied to a stream information server, where the stream information server includes historical node information of each node in a content distribution network, and the method includes:
receiving a live stream acquisition request sent by a viewer, wherein the live stream acquisition request carries a target live stream identifier;
matching the target live broadcast stream identification with historical node information of a plurality of edge nodes respectively, determining access priorities of the edge nodes according to matching results, and determining a node sequence formed by the edge nodes according to the access priorities;
and feeding back the node sequence to the audience so that the audience acquires the target live broadcast stream according to the access priority of each edge node in the node sequence.
According to a second aspect of the embodiments of the present application, there is provided a live stream acquiring method, applied to a viewer side, including:
acquiring a target live stream identifier, and generating a live stream acquisition request based on the target live stream identifier;
sending the live stream acquisition request to a stream information server;
receiving a node sequence consisting of a plurality of edge nodes fed back by the stream information server, wherein the node sequence is determined by the stream information server according to access priorities of the edge nodes, and the access priorities of the edge nodes are determined by the stream information server according to the target live broadcast stream identifier and historical node information of the edge nodes;
and acquiring the target live broadcast stream according to the access priority of each edge node in the node sequence.
According to a third aspect of the embodiments of the present application, there is provided a live stream acquiring apparatus, which is applied to a stream information server, where the stream information server includes historical node information of each node in a content distribution network, and the apparatus includes:
the first receiving module is configured to receive a live stream acquisition request sent by a viewer, wherein the live stream acquisition request carries a target live stream identifier;
the determining module is configured to match the target live broadcast stream identifier with historical node information of a plurality of edge nodes respectively, determine access priorities of the edge nodes according to matching results, and determine a node sequence formed by the edge nodes according to the access priorities;
and the first sending module is configured to feed back the node sequence to the audience so that the audience obtains the target live broadcast stream according to the access priority of each edge node in the node sequence.
According to a fourth aspect of the embodiments of the present application, there is provided a live stream acquiring apparatus, applied to a viewer side, including:
the first acquisition module is configured to acquire a target live stream identifier and generate a live stream acquisition request based on the target live stream identifier;
the second sending module is configured to send the live stream acquisition request to a stream information server;
a second receiving module, configured to receive a node sequence composed of a plurality of edge nodes fed back by the stream information server, where the node sequence is determined by the stream information server according to access priorities of the plurality of edge nodes, and the access priorities of the plurality of edge nodes are determined by the stream information server according to the target live broadcast stream identifier and historical node information of the plurality of edge nodes;
and the second acquisition module is configured to acquire the target live broadcast stream according to the access priority of each edge node in the node sequence.
According to a fifth aspect of embodiments herein, there is provided a computing device comprising a memory, a processor, and computer instructions stored on the memory and executable on the processor, the processor implementing the steps of the live stream acquisition method when executing the computer instructions.
According to a sixth aspect of embodiments of the present application, there is provided a computer-readable storage medium storing computer instructions which, when executed by a processor, implement the steps of the live stream acquisition method.
The method for acquiring the live stream comprises the steps of receiving a live stream acquisition request sent by a spectator, wherein the live stream acquisition request carries a target live stream identification; matching the target live broadcast stream identification with historical node information of a plurality of edge nodes respectively, determining access priorities of the edge nodes according to matching results, and determining a node sequence formed by the edge nodes according to the access priorities; and feeding back the node sequence to the audience so that the audience acquires the target live broadcast stream according to the access priority of each edge node in the node sequence. Based on historical node information, the distribution condition of the target live broadcast stream in each edge node can be determined, and the edge nodes can be accurately scheduled; based on the target live broadcast stream identification and the historical node information, the access priority of each edge node can be determined, so that the audience terminal can obtain the target live broadcast stream based on the access priority.
Drawings
Fig. 1 is a flowchart of a method for acquiring a live stream in the prior art provided in this specification;
fig. 2 is a flowchart of a live stream acquiring method according to an embodiment of the present application;
fig. 3A is a processing flow diagram of a live stream acquiring method according to an embodiment of the present application;
fig. 3B is a processing flow diagram of another live stream acquiring method according to an embodiment of the present application;
fig. 4 is a flowchart of another live stream acquisition method according to an embodiment of the present application;
fig. 5 is a processing flow diagram of a live stream acquiring method applied to game live broadcast according to an embodiment of the present application;
fig. 6 is a schematic structural diagram of a live stream acquiring apparatus according to an embodiment of the present application;
fig. 7 is a schematic structural diagram of another live stream acquiring apparatus according to an embodiment of the present application;
fig. 8 is a block diagram of a computing device according to an embodiment of the present application.
Detailed Description
In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present application. This application is capable of implementation in many different ways than those herein set forth and of similar import by those skilled in the art without departing from the spirit and scope of this application, and thus this application is not limited to the specific implementations disclosed below.
The terminology used in the one or more embodiments of the present application is for the purpose of describing particular embodiments only and is not intended to be limiting of the one or more embodiments of the present application. As used in one or more embodiments of the present application and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used in one or more embodiments of the present application refers to and encompasses any and all possible combinations of one or more of the associated listed items.
It will be understood that, although the terms first, second, etc. may be used herein in one or more embodiments of the present application to describe various information, these information should not be limited by these terms. These terms are only used to distinguish one type of information from another. For example, a first aspect may be termed a second aspect, and, similarly, a second aspect may be termed a first aspect, without departing from the scope of one or more embodiments of the present application. The word "if" as used herein may be interpreted as "at … …" or "when … …" or "in response to a determination", depending on the context.
First, the noun terms referred to in one or more embodiments of the present application are explained.
Tree structure: namely, the Tree structure, is a data structure used for simulating a data set with the property of a Tree structure.
The first kilometer: the backbone networks on the internet are very smooth, only the network from the user to the first kilometer or the last kilometer of the access backbone network is very unstable, and most of network problems are in the first kilometer or the last kilometer.
Live broadcast distribution: the live broadcast is generally divided into an upstream push stream and a downstream distribution, the live broadcast in the general sense is pushed by a main broadcast, audiences in other live broadcast rooms subscribe and watch the stream, and the distribution refers to how to distribute the audio and video data pushed by the main broadcast, namely the live broadcast stream to audience terminals.
Then, the live stream acquisition method provided by the application is explained.
With the rapid development of computer technology and internet technology, live broadcast on a social networking platform is becoming a popular real-time interaction form. The live broadcast is generally divided into an upstream push stream and a downstream distribution, the main broadcast carries out the upstream push stream, the audience of the live broadcast room carries out subscription watching on the live broadcast, and then the live broadcast is distributed to the audience in the downstream mode.
The existing live broadcast is usually realized through a content distribution network, when selecting to watch the live broadcast, audiences firstly request a background scheduling center to serve and distribute an access node, the scheduling center selects a plurality of nodes with better experience relative to users to return to a user side, and when the users connect a certain node card, the switching line can be selected. Referring to fig. 1, fig. 1 shows a flowchart of a method for acquiring a live stream in the prior art provided in this specification: the anchor pushes and pulls to the root node L0 of the source station in the live broadcast room; the audience A enters a live broadcast room, and the scheduling server distributes four edge nodes for the audience A: l2-01, L2-02, L2-03 and L3-04, wherein the edge nodes L2-01 and L2-02 are connected with the secondary node L1-01, and the edge nodes L2-03 and L3-04 are connected with the secondary node L1-02; the viewer A selects the edge node L2-01, and at the moment, as the edge node L2-01 does not have a live stream, the stream needs to be pulled from L1-01, and the L1-01 does not have a live stream, and the stream needs to be pulled to the root node L0; at this time, the audience B also enters the live broadcast room, and the scheduling server also distributes four edge nodes for the audience B: l2-01, L2-02, L2-03 and L3-04, and the viewer B selects the edge node L2-03, and at this time, because the edge node L2-03 does not have the live stream, the edge node L2-03 gradually pulls the stream to the secondary node L1-02 and the root node L0.
However, the above method cannot clearly know the distribution of the current live broadcast stream in the distribution network, and cannot accurately schedule nodes, and for a large live broadcast platform, since the user base number, the push-pull stream number, and the content distribution flow are all large, the number of the source returns is large, an invalid source return is easily caused, and the bandwidth cost is increased.
Therefore, the present application provides a live broadcast acquisition method, which receives a live broadcast stream acquisition request sent by a viewer, where the live broadcast stream acquisition request carries a target live broadcast stream identifier; matching the target live broadcast stream identification with historical node information of a plurality of edge nodes respectively, determining access priorities of the edge nodes according to matching results, and determining a node sequence formed by the edge nodes according to the access priorities; and feeding back the node sequence to the audience so that the audience acquires the target live broadcast stream according to the access priority of each edge node in the node sequence. Based on historical node information, the distribution condition of the target live broadcast stream in each edge node can be determined, and the edge nodes can be accurately scheduled; based on the target live broadcast stream identification and the historical node information, the access priority of each edge node can be determined, so that the audience terminal can obtain the target live broadcast stream based on the access priority.
In the present application, a live stream acquisition method is provided, and the present application relates to a live stream acquisition apparatus, a computing device, and a computer-readable storage medium, which are described in detail in the following embodiments one by one.
Fig. 2 shows a flowchart of a live stream acquisition method provided in an embodiment of the present application, which is applied to a stream information server, where the stream information server includes historical node information of each node in a content distribution network, and the method specifically includes the following steps:
step 202: receiving a live stream acquisition request sent by a viewer, wherein the live stream acquisition request carries a target live stream identifier.
Specifically, the viewer side refers to a client side corresponding to a viewer watching a live broadcast; the target live stream refers to a video stream or video content which is required to be watched by a viewer; the live stream acquisition request is a request for acquiring a target live stream; the target live stream identifier refers to an identifier representing the target live stream, such as a name, a label, and an anchor name of the target live stream.
In practical application, when a viewer wants to watch a certain live broadcast, that is, a target live broadcast, the viewer responds to an instruction triggered by an operation of watching the target live broadcast by the viewer, and acquires a target live broadcast stream corresponding to the target live broadcast, wherein the target live broadcast stream identifier corresponding to the target live broadcast or the target live broadcast stream is required to be acquired first: the target live broadcast stream identifier can be carried in an instruction triggered by the operation of watching the target live broadcast by the audience, and can also be automatically identified and obtained by the audience based on the instruction triggered by the operation of watching the target live broadcast by the audience. And further generating a live stream acquisition request carrying the target live stream identifier, and sending the live stream acquisition request to the stream information server, namely, the stream information server receives the live stream acquisition request carrying the target live stream identifier sent by the audience.
In addition, after the audience generates the live stream acquisition request carrying the target live stream identifier, the audience can also send the live stream acquisition request to the scheduling server first, and then the scheduling server forwards the live stream acquisition request to the stream information server, that is, the stream information server receives the live stream acquisition request carrying the target live stream identifier sent by the audience.
In a possible implementation manner of the embodiment of the present specification, before receiving a live stream acquisition request, a stream information server receives and stores history node information sent by each edge node. That is, before receiving a live stream acquisition request sent by a viewer, the method further includes:
acquiring historical node information sent by each edge node;
and storing the historical node information sent by each edge node.
Specifically, the edge node is a node constructed on the network edge side close to the user, provides resources such as storage, calculation, network and the like, sinks part of key service application to the edge of the access network, and can reduce the width and delay loss caused by network transmission and multistage forwarding; the historical node information refers to current information of the edge node reported by the edge node, such as a live stream identifier, a connection number, a network condition and the like corresponding to a live stream already existing in the edge node.
In practical application, each edge node can send some information of the current node, namely historical node information, to the stream information server once every preset time interval; each edge node can also actively send current historical node information to the flow information server under the condition that some information of the current node changes. That is, the flow information server obtains the historical node information sent by each edge node. And then, the flow information server side stores the historical node information, and at the moment, the stored invalid historical node information, namely the historical node information acquired before the historical node information is acquired at this time, can be deleted. Therefore, the real-time performance of the historical node information in the stream information server is effectively guaranteed, a correct node sequence can be returned based on the historical node information, and the efficiency of obtaining the target live stream can be improved while the target live stream is guaranteed to be obtained smoothly.
It should be noted that not only the edge node sends the history node information to the flow information server, but also each node in the flow pulling process sends the history node information to the flow information server, such as a secondary node, a root node, and the like, and all the nodes send the history node information to the flow information server. In addition, the stream information server side can generate an information tree according to historical node information sent by each node, so that according to the information tree, a node path of a viewer side when watching the live broadcast can be determined, and a stream information query interface is provided for the scheduling server side to query.
In addition, the information acquisition end, namely each edge node, the secondary node and the source node, reports each live stream on the current node to the stream information server end, informs the stream information server end of which live streams exist in each node, namely historical node information, and historical node information reported by each node in real time. And each node can send a heartbeat packet to the flow information server side and keep the heartbeat.
Illustratively, the flow information server may receive the history node information through an external interface, where the external interface may be as follows:
sercive StreamCenter{
rpc GetStream(StreamReq)returns(StreamTreeInfo)
}
the parameters of the request, that is, the parameters of the live stream acquisition request, may be as follows:
message StreamReq{
string streamID=1[(gogoproto.jsontag)=’streamID’,(gogoproto.moretags)=’validate:”required”’];
}
step 204: and matching the target live broadcast stream identification with historical node information of a plurality of edge nodes, determining the access priority of the edge nodes according to the matching result, and determining a node sequence consisting of the edge nodes according to the access priority.
On the basis of receiving a live stream acquisition request carrying a target live stream identifier, further matching the target live stream identifier with historical node information of a plurality of edge nodes respectively to obtain a matching result, determining access priorities of the plurality of edge nodes according to the matching result, and then determining a node sequence consisting of the plurality of edge nodes according to the access priorities.
Specifically, the edge node is a node constructed on the network edge side close to the user, provides resources such as storage, calculation, network and the like, sinks part of key service application to the edge of the access network, and can reduce the width and delay loss caused by network transmission and multistage forwarding; the historical node information refers to current information of the edge node reported by the edge node, such as a live stream identifier, a connection number, a network condition and the like corresponding to a live stream already existing in the edge node. The access priority refers to accessing parameters of corresponding priority levels, nodes with higher access priority are accessed first, and nodes with lower access priority are accessed later; the node sequence refers to a sequence in which access priorities of nodes are arranged.
In practical application, after receiving a live stream acquisition request carrying a target live stream identifier, a stream information server extracts the target live stream identifier from the live stream acquisition request, matches the target live stream identifier with historical node information of a plurality of edge nodes, and determines the access priority of each edge node according to a matching result; or on the basis of matching the target live broadcast stream identifier with the historical node information of the plurality of edge nodes, determining the access priority of each edge node based on the matching result and the access parameters in the historical node information. Further, according to the access priority of each edge node, the edge nodes are sorted in the order from high to low or in the order from low to high to obtain a node sequence. In order to improve the access efficiency of the target live stream, the edge nodes are preferably sorted in the order of the access priority from high to low.
For example, the target live broadcast stream id zb is stored in the stream information server, historical node information of 5 edge nodes is stored in the stream information server, and the target live broadcast stream id zb is matched with the historical node information of 5 edge nodes, respectively, where the matching degree between the target live broadcast stream id zb and the historical node information of the first edge node is fifty percent, the matching degree between the target live broadcast stream id zb and the historical node information of the second edge node is ten percent, the matching degree between the target live broadcast stream id zb and the historical node information of the third edge node is forty percent, the matching degree between the target live broadcast stream id zb and the historical node information of the fourth edge node is one hundred percent, the matching degree between the target stream id zb and the historical node information of the fifth edge node is zero, and if the matching degree is higher, the access priority of the fourth edge node is the highest, The access priority of the first edge node is the second highest, the access priority of the third edge node is the third highest, the access priority of the second edge node is the fourth highest, the access priority of the fifth edge node is the lowest, all the edge nodes are sequenced according to the sequence from the high access priority to the low access priority, and the obtained node sequence is as follows: a fourth edge node, a first edge node, a third edge node, a second edge node, and a fifth edge node.
It should be noted that there are many information contained in the history node information, and the history node information of a certain node is taken as an example for description, the history node information may include a frame rate, a bit rate, a number of times, and an identifier of a source return node, such as an ID, where the node receives an IP query address of a target live stream, an IP query address of a source return node, quality of service data information, a current live stream state, whether the node is a stream push node, source information, service information, a total play number, a single protocol play number, reported node information, specific stream information, and the like. If the node is a stream pushing node, the identifier of the source returning node is the identifier of the node, and the IP inquiry address of the source returning node is the user IP of the user; the service quality data information can be filled in the blank when no data exists, namely invalid data is cleared at the edge node; the source information is used for the stream information server side to construct a stream forwarding tree; the service information may include the number of users, and is used for the flow information server to decide the cold and hot flows.
In a possible implementation manner of the embodiment of the present specification, the access priority of the edge node may be determined based on whether a target live broadcast stream identifier exists in history node information, that is, the target live broadcast stream identifier is respectively matched with the history node information of a plurality of edge nodes, and the access priorities of the plurality of edge nodes are determined according to a matching result, where a specific implementation process may be as follows:
and aiming at any edge node in the plurality of edge nodes, if the target live broadcast stream identifier is successfully matched with the live broadcast stream identifier contained in the historical node information of the edge node, determining that the access priority of the edge node is the first priority.
Specifically, the first priority is the highest access priority.
In practical application, when determining the access priority of an edge node, for any edge node, checking whether a target live stream identifier exists in live stream identifiers contained in history node information of the edge node, or directly checking whether the history node information of the edge node contains the target live stream identifier, that is, judging whether a target live stream exists in the edge node, that is, whether the target live stream identifier matches a live stream identifier contained in the history node information of the edge node, if the history node information of the edge node or a live stream identifier contained in the history node information contains the target live stream identifier, it indicates that a target live stream corresponding to the target live stream identifier exists in the edge node, that is, the target stream identifier matches the live stream identifier contained in the history node information of the edge node successfully, that is, an audience can directly acquire the target live stream in the edge node, therefore, the access priority of the edge node is determined to be the highest, i.e., the first priority.
In addition, the history node information of the edge node or the live stream identifier included in the history node information may not have the target live stream identifier, and at this time, it may be determined that the access priority of the edge node is lower than the first priority, that is, for any edge node in the plurality of edge nodes, if the matching between the target live stream identifier and the live stream identifier included in the history node information of the edge node fails, the access priority of the edge node is determined to be the second priority, and the first priority is higher than the second priority.
In practical application, for any edge node, whether a target live stream identifier exists in the live stream identifiers contained in the historical node information of the edge node or whether the target live stream identifier exists in the historical node information of the edge node is directly checked, that is, whether the target live stream exists in the edge node is judged, that is, whether the target live stream identifier matches with the live stream identifier contained in the historical node information of the edge node, if the target live stream identifier does not contain the target live stream identifier, it is indicated that the edge node does not have a target live stream corresponding to the target live stream identifier, that is, the target live stream identifier fails to match with the live stream identifier contained in the historical node information of the edge node, that is, the audience end cannot directly connect to the edge node to obtain the target live stream, therefore, the access priority of the edge node is lower than the first priority, that is, the access priority of the edge node is determined to be a second priority lower than the first priority.
For example, there are 2 edge nodes, where the historical node information for edge node 1 contains live stream identifications: a1, B1, and C1, the live stream id included in the history node information of the edge node 2 includes: a2, B2, and C2, assuming that the target live stream identifier is B2, the history node information of the edge node 1 does not include the target live stream identifier, the history node information of the edge node 2 includes the target live stream identifier, the access priority of the edge node 2 is determined to be a first priority, and the access priority of the edge node 1 is determined to be a second priority.
Therefore, the access priority of the edge node is determined according to whether the historical node information contains the target live broadcast stream identification, the method is simple and quick, the speed of determining the access priority can be increased, and the accuracy of determining the access priority can be increased.
It should be noted that there may be a plurality of edge nodes with the same access priority, and at this time, the sub-priorities of the edge nodes with the same access priority may be determined according to the connection information in the history node information, that is, in the case that the history node information further includes the connection information, the method further includes:
if a plurality of edge nodes with the access priorities of the designated priorities exist, determining the edge nodes with the access priorities of the designated priorities as target edge nodes, wherein the designated priorities are first priorities or second priorities;
and determining the sub-priority of each target edge node in the designated priority according to the connection information of each target edge node.
Specifically, the designated priority is a first priority or a second priority; the connection information refers to information of the edge node about the connection, such as network speed, number of connections.
In practical application, if a plurality of edge nodes with the access priority of the first priority are determined, the plurality of edge nodes with the access priority of the first priority are determined as target edge nodes, then the sub-priorities of the target edge nodes in the first priority are determined according to the connection information of the target edge nodes, that is, the connection information of the target edge nodes is compared, the stronger the connection information is, the higher the sub-priority of the target edge nodes is, and the weaker the connection information is, the lower the sub-priority of the target edge nodes is. Similarly, if there are a plurality of edge nodes with the access priority of the second priority, determining that the plurality of edge nodes with the access priority of the second priority are target edge nodes, and then determining the sub-priority of each target edge node in the second priority according to the connection information of each target edge node, that is, comparing the connection information of each target edge node, the stronger the connection information, the higher the sub-priority of the target edge node, and the weaker the connection information, the lower the sub-priority of the target edge node.
For example, there are 3 edge nodes with the access priority of the first priority, which are edge nodes f1, f2, and f3, respectively, and the connection information is the network speed, assuming that the network speed of the edge node f2 is higher than that of the edge node f3 and the network speed of the edge node f3 is higher than that of the edge node f1, under the first priority, the sub-priority of the edge node f2 is the highest, the sub-priority of the edge node f3 is the next lowest, and the sub-priority of the edge node f1 is the lowest.
And determining the sub-priorities of a plurality of edge nodes under the same access priority through the connection information of each edge node, so that the efficiency of determining the node sequence is improved, and the efficiency of acquiring the live broadcast stream is improved.
In addition, when determining the access priorities of a plurality of edge nodes, the load problem of each edge node also needs to be considered, that is, the access number of each edge node is considered, at this time, for any edge node, if the access number in the history node information of the edge node is greater than a preset threshold, it is indicated that the access number of the edge node has reached an upper limit or the access number is enough, and the access of the audience end which does not access the edge node cannot be allowed, and at this time, the access priority of the edge node can be determined as the lowest priority. That is, for any edge node, if the access number in the history node information of the edge node is greater than a preset threshold, determining that the access priority of the edge node is the lowest priority.
Preferably, while considering the access number, it may also be required to consider whether the history node information includes the target live broadcast stream identifier, and when the history node information of a certain edge node includes the target live broadcast stream identifier and the access number is greater than a preset threshold, the access priority of the edge node may be determined as the lowest priority. That is, under the condition that the history node information further includes the access number, the target live broadcast stream identifier is respectively matched with the history node information of the plurality of edge nodes, and the access priorities of the plurality of edge nodes are determined according to the matching result, and the specific implementation process may be as follows:
and if the target live broadcast stream identifier is successfully matched with the live broadcast stream identifiers contained in the historical node information of the designated edge node, and the access number is greater than a preset threshold value, determining that the access priority of the designated edge node is the lowest priority, wherein the designated edge node is any edge node.
Specifically, the access number is the number of the audience terminals accessed by the edge node, or the number of the audience terminals accessed by the edge node; the preset threshold is a preset value used for judging whether the access number of the edge node is full.
In practical application, under the condition that the history node information further includes the access number, for any edge node, if the history node information of the edge node includes the target live broadcast stream identifier and the access number in the history node information of the edge node is greater than a preset threshold, it indicates that the access number of the edge node has reached an upper limit or the access number is sufficient, and an audience terminal which does not access the edge node cannot be allowed to access the edge node, and since the history node information of the edge node includes the target live broadcast stream identifier, in order to avoid that the edge node is preferentially accessed, the access priority of the edge node may be determined as the lowest priority. Therefore, the condition that the historical node information contains the target live broadcast stream identifier and the edge nodes with the access number larger than the preset threshold value are preferentially accessed can be avoided, and the efficiency of obtaining the target live broadcast stream is improved.
Step 206: and feeding back the node sequence to the audience so that the audience acquires the target live broadcast stream according to the access priority of each edge node in the node sequence.
And further, the node sequence is sent to a spectator end so that the spectator end can obtain the target live broadcast stream.
In practical application, after the streaming information server determines a node sequence consisting of a plurality of edge nodes, the node sequence can be directly sent to the audience; the node sequence can also be sent to the scheduling server side first, and then the scheduling server side forwards the node sequence to the audience side. After receiving the node sequence, the audience terminal automatically acquires a target live broadcast stream from the edge node with the highest access priority according to the access priority of each edge node.
Referring to fig. 3A, fig. 3A shows a processing flow diagram of a live stream acquisition method according to an embodiment of the present application: the anchor pushes and pulls to the root node L0 of the source station in the live broadcast room; the audience A enters a live broadcast room, the stream information server discovers that the four edge nodes L2-01, L2-02, L2-03 and L3-04 do not have the anchor stream based on the historical node information, and the node sequence fed back by the audience A is as follows: edge nodes L2-01, L2-02, L2-03 and L3-04, wherein the edge nodes L2-01 and L2-02 are connected with the secondary node L1-01, and the edge nodes L2-03 and L3-04 are connected with the secondary node L1-02; the viewer A selects the edge node L2-01, and at the moment, as the edge node L2-01 does not have a live stream, the stream needs to be pulled from L1-01, and the L1-01 does not have a live stream, and the stream needs to be pulled to the root node L0; at this time, the viewer b also enters the live broadcasting room, and since the edge node L2-01 has the live broadcasting stream, the streaming information server also allocates a main edge node for the viewer b: l2-01 and three minor edge nodes L2-02, L2-03 and L3-04, i.e., the returned sequence of nodes is: the edge nodes L2-01, L2-02, L2-03 and L3-04, and the viewer side of viewer B automatically selects the edge node L2-01 for direct streaming. Therefore, the stream information server side can return a plurality of edge nodes according to the access priority of each edge node in a live broadcast acquisition request, can determine that the audience side can automatically select the edge node with the highest access priority, can perform a plurality of fine treatments on scheduling, and further reduces cost and improves efficiency. For example, viewers of the same live stream in the same region are all dispatched to the same edge node, so that the convergence ratio of the source return is greatly improved, and the source return cost is effectively reduced.
Referring to fig. 3B, fig. 3B is a processing flow chart of another live stream acquisition method according to an embodiment of the present application: firstly, the anchor pushes and pulls the root node L0 to the source station in the live broadcast room; then the root node L0, the secondary nodes L1-01 and L1-02, the edge nodes L2-01, L2-02, L2-03 and L3-04 send respective historical node information to the flow information server; the method comprises the steps that a spectator A enters a live broadcast room and sends a live broadcast stream acquisition request to a scheduling server; the scheduling server requests the stream information server for the specific information of the live stream, i.e. the stream information server for forwarding the live stream acquisition request; the flow information server discovers that the four edge nodes L2-01, L2-02, L2-03 and L3-04 do not have the anchor flow on the basis of the historical node information, and feeds back a node sequence to the scheduling server, wherein the fed back node sequence is as follows: edge nodes L2-01, L2-02, L2-03 and L3-04, wherein the edge nodes L2-01 and L2-02 are connected with the secondary node L1-01, and the edge nodes L2-03 and L3-04 are connected with the secondary node L1-02; the scheduling server forwards the node sequence to a viewer A, the viewer A selects an edge node L2-01, and at the moment, as the edge node L2-01 does not have a live stream, the stream needs to be pulled from L1-01, and the L1-01 does not have a live stream, and the stream needs to be pulled to a root node L0; at the moment, the root node L0, the secondary nodes L1-01 and L1-02, and the edge nodes L2-01, L2-02, L2-03 and L3-04 update the respective historical node information and send the historical node information to the flow information server. Then, the audience B also enters a live broadcast room and sends a live broadcast stream acquisition request to the scheduling server; a stream information server for forwarding the live stream acquisition request by the scheduling server; the flow information server discovers that L2-01 in four edge nodes has the live broadcast flow based on historical node information, and L2-02, L2-03 and L3-04 do not have the live broadcast flow, and feeds back a node sequence to the scheduling server, wherein the fed back node sequence is as follows: l2-01, L2-02, L2-03 and L3-04, the scheduling server forwards the node sequence to the audience B, and the audience B selects the edge node L2-01 automatically for the audience B to pull the stream directly.
The method for acquiring the live stream comprises the steps of receiving a live stream acquisition request sent by a spectator end, wherein the live stream acquisition request carries a target live stream identifier; matching the target live broadcast stream identification with historical node information of a plurality of edge nodes respectively, determining access priorities of the edge nodes according to matching results, and determining a node sequence formed by the edge nodes according to the access priorities; and feeding back the node sequence to the audience so that the audience acquires the target live broadcast stream according to the access priority of each edge node in the node sequence. Based on historical node information, the distribution condition of the target live broadcast stream in each edge node can be determined, and the edge nodes can be accurately scheduled; based on the target live broadcast stream identification and the historical node information, the access priority of each edge node can be determined, so that the audience terminal can obtain the target live broadcast stream based on the access priority.
Fig. 4 shows a flowchart of another live stream acquiring method provided in an embodiment of the present application, which is applied to a viewer side, and specifically includes the following steps:
step 402: and acquiring a target live stream identifier, and generating a live stream acquisition request based on the target live stream identifier.
Specifically, the target live stream refers to a video stream or video content that a viewer needs to watch; the target live stream identifier is an identifier representing a target live stream, such as a name, a label, a main broadcast name and the like of the target live stream; the live stream acquisition request refers to a request for acquiring a target live stream.
In practical application, when a viewer wants to watch a certain live broadcast, that is, a target live broadcast, the viewer responds to an instruction triggered by an operation of watching the target live broadcast by the viewer, and acquires a target live broadcast stream corresponding to the target live broadcast, wherein the target live broadcast stream identifier corresponding to the target live broadcast or the target live broadcast stream is required to be acquired first: the target live broadcast stream identifier can be carried in an instruction triggered by the operation of watching the target live broadcast by the audience, and can also be automatically identified and obtained by the audience based on the instruction triggered by the operation of watching the target live broadcast by the audience. And further generating a live stream acquisition request carrying the target live stream identification.
Step 404: and sending the live stream acquisition request to a stream information server.
And further, sending the live stream acquisition request to a stream information server on the basis of acquiring the target live stream identifier and generating a live stream acquisition request based on the target live stream identifier.
Specifically, the flow information server refers to a server storing history node information of each node in the distribution network, that is, the flow information server includes history node information of each node in the content distribution network.
In practical application, after generating a live stream acquisition request carrying a target live stream identifier, a spectator end can directly send the live stream acquisition request to a stream information server end; the live stream acquisition request can also be sent to the scheduling server first, and then the scheduling server forwards the live stream acquisition request to the stream information server.
Step 406: and receiving a node sequence consisting of a plurality of edge nodes fed back by the stream information server, wherein the node sequence is determined by the stream information server according to the access priorities of the edge nodes, and the access priorities of the edge nodes are determined by the stream information server according to the target live stream identifier and the historical node information of the edge nodes.
And further, receiving a node sequence fed back by the stream information server based on the live stream acquisition request on the basis of sending the live stream acquisition request to the stream information server.
Specifically, the edge node is a node constructed on the network edge side close to the user, provides resources such as storage, calculation, network and the like, sinks part of key service application to the edge of the access network, and can reduce the width and delay loss caused by network transmission and multistage forwarding; the historical node information refers to current information of the edge node reported by the edge node, such as a live stream identifier, a connection number, a network condition and the like corresponding to a live stream already existing in the edge node. The access priority refers to accessing parameters of corresponding priority levels, nodes with higher access priority are accessed first, and nodes with lower access priority are accessed later; the node sequence refers to a sequence in which access priorities of nodes are arranged.
In practical application, after receiving a live stream acquisition request carrying a target live stream identifier, a stream information server extracts the target live stream identifier from the live stream acquisition request, matches the target live stream identifier with historical node information of a plurality of edge nodes, and determines the access priority of each edge node according to a matching result; or on the basis of matching the target live broadcast stream identifier with the historical node information of the plurality of edge nodes, determining the access priority of each edge node based on the matching result and the access parameters in the historical node information. Further, according to the access priority of each edge node, the edge nodes are sorted according to the sequence from high to low of the access priority or the sequence from low to high of the access priority, and a node sequence is obtained. In order to improve the access efficiency of the target live stream, the edge nodes are preferably sorted in the order of the access priority from high to low. Then, the stream information server can directly send the node sequence to the audience; the node sequence can also be sent to the scheduling server side first, and then the scheduling server side forwards the node sequence to the audience side. Namely, the audience receives the node sequence formed by a plurality of edge nodes fed back by the stream information server.
Step 408: and acquiring the target live broadcast stream according to the access priority of each edge node in the node sequence.
And further, on the basis of receiving the node sequence fed back by the stream information server based on the live stream acquisition request, acquiring the target live stream according to the access priority of each edge node in the node sequence.
In practical application, after receiving the node sequence, the viewer side automatically acquires a target live broadcast stream from the edge node with the highest access priority according to the access priority of each edge node.
In a possible implementation manner of the embodiment of the present specification, the edge nodes in the node sequence are sorted from high to low according to the access priority, and at this time, the viewer side acquires the target live stream from the edge node with the highest priority in the node sequence. That is, the acquiring the target live stream according to the access priority of the edge node in the node sequence includes:
and acquiring the target live broadcast stream from the first edge node in the node sequence according to the access priority of each edge node.
Specifically, the first edge node in the node sequence is the node with the highest access priority.
In practical application, in order to improve the acquisition efficiency of the target live broadcast stream and improve the experience of audiences, an audience terminal acquires the target live broadcast stream from an edge node with the highest access priority, that is, acquires the target live broadcast stream from a first edge node in a node sequence under the condition that all edge nodes in the node sequence are ordered from high to low according to the access priority.
When a user connects a certain edge node and is in pause, the edge node can be selected to be switched, and one edge node is selected from the node sequence to be accessed. That is, after the target live stream is obtained according to the access priority of each edge node in the node sequence, the method further includes:
receiving a selection instruction aiming at a designated edge node, wherein the designated edge node is any edge node in the node sequence;
and acquiring the target live broadcast stream from the specified edge node.
Specifically, the selection instruction is an instruction triggered based on an operation of selecting a certain edge node from the node sequence by a user or a viewer.
In practical application, the edge nodes accessed or connected by the viewer end may display each edge node in a node sequence on a display interface due to some problems, such as the phenomenon of blocking of live video at the network speed, and the like, and the viewer selects one of the edge nodes for switching, that is, after the viewer selects one of the edge nodes and confirms, the viewer end sends a selection instruction from the receiving end to the edge node selected by the viewer, that is, the edge node is designated, and then the viewer end responds to the selection instruction and acquires a target live stream from the designated edge node in the selection instruction. So, can provide changeable marginal node when current marginal node card pause, be favorable to improving the efficiency of acquireing the live stream of target, make the broadcast that the live stream of target can be smooth, and then improve user's viscosity.
According to the live stream acquisition method, a target live stream identification is acquired, and a live stream acquisition request is generated based on the target live stream identification; sending the live stream acquisition request to a stream information server; receiving a node sequence consisting of a plurality of edge nodes fed back by the stream information server, wherein the node sequence is determined by the stream information server according to access priorities of the edge nodes, and the access priorities of the edge nodes are determined by the stream information server according to the target live broadcast stream identifier and historical node information of the edge nodes; and acquiring the target live broadcast stream according to the access priority of each edge node in the node sequence. Based on historical node information, the distribution condition of the target live broadcast stream in each edge node can be determined, and the edge nodes can be accurately scheduled; based on the target live broadcast stream identification and the historical node information, the access priority of each edge node can be determined, so that the audience terminal can obtain the target live broadcast stream based on the access priority.
The above is an illustrative scheme of the live stream acquiring method applied to the audience in this embodiment. It should be noted that the technical solution of the live stream acquisition method applied to the viewer side and the technical solution of the live stream acquisition method applied to the stream information server side belong to the same concept, and details of the technical solution of the live stream acquisition method applied to the viewer side, which are not described in detail, can be referred to the description of the technical solution of the live stream acquisition method applied to the stream information server side.
The following describes the live stream acquisition method further by taking an application of the live stream acquisition method provided by the present application in live game play as an example with reference to fig. 5. Fig. 5 shows a processing flow chart of a live stream acquiring method applied to game live broadcast provided in an embodiment of the present application, which specifically includes the following steps:
step 502: and the spectator end acquires the live stream identification of the target game.
Step 504: and the audience generates a live stream acquisition request based on the target game live stream identification.
Step 506: and the audience end sends a live stream acquisition request to the stream information server end.
Optionally, before receiving the live streaming acquisition request sent by the viewer, the streaming information service further includes:
acquiring historical node information sent by each edge node;
and storing the historical node information sent by each edge node.
Step 508: and the stream information server side aims at any edge node in the edge nodes, and if the target live broadcast stream identifier is successfully matched with the live broadcast stream identifier contained in the historical node information of the edge node, the access priority of the edge node is determined to be the first priority.
Step 510: and the stream information server side aims at any edge node in the edge nodes, and if the matching of the target live broadcast stream identifier and the live broadcast stream identifier contained in the historical node information of the edge node fails, the access priority of the edge node is determined to be a second priority.
Wherein the first priority is higher than the second priority.
Step 512: if a plurality of edge nodes with the access priorities of the designated priorities exist, the flow information server determines that the edge node with the access priority of the designated priority is a target edge node, and the designated priority is a first priority or a second priority.
Step 514: and the flow information server side determines the sub-priority of each target edge node in the designated priority according to the connection information in the historical node information of each target edge node.
Step 516: if the target live broadcast stream identifier is successfully matched with the game live broadcast stream identifier contained in the historical node information of the designated edge node, and the access number in the historical node information is greater than a preset threshold value, the stream information server determines that the access priority of the designated edge node is the lowest priority, and the designated edge node is any edge node.
Step 518: and the flow information server determines a node sequence consisting of a plurality of edge nodes according to the access priority of each edge node.
Step 520: and the stream information server side sends the node sequence to the viewer side.
Step 522: and the spectator end acquires the target game live broadcast stream according to the access priority of each edge node in the node sequence.
Optionally, obtaining a target game live stream according to an access priority of an edge node in the node sequence, includes:
and acquiring a target game live broadcast stream from the first edge node in the node sequence according to the access priority of each edge node.
Optionally, after obtaining the target game live stream according to the access priority of each edge node in the node sequence, the method further includes:
receiving a selection instruction aiming at a designated edge node, wherein the designated edge node is any edge node in a node sequence;
and acquiring a target game live stream from the designated edge node.
According to the live broadcast stream acquisition method, based on historical node information, the distribution condition of the target live broadcast stream in each edge node can be determined, and the edge nodes can be accurately scheduled; based on the target live broadcast stream identification and the historical node information, the access priority of each edge node can be determined, so that the audience terminal can obtain the target live broadcast stream based on the access priority.
Corresponding to the foregoing method embodiment, the present application further provides an embodiment of a live stream acquisition device applied to a stream information server, and fig. 6 illustrates a schematic structural diagram of a live stream acquisition device provided in an embodiment of the present application. As shown in fig. 6, the apparatus is applied to a streaming information server, where the streaming information server includes historical node information of each node in a content distribution network, and the apparatus includes:
a first receiving module 602, configured to receive a live stream acquisition request sent by a viewer, where the live stream acquisition request carries a target live stream identifier;
a determining module 604, configured to match the target live broadcast stream identifier with historical node information of a plurality of edge nodes, determine access priorities of the plurality of edge nodes according to a matching result, and determine a node sequence composed of the plurality of edge nodes according to the access priorities;
a first sending module 606 configured to feed back the node sequence to the viewer side, so that the viewer side obtains the target live broadcast stream according to the access priority of each edge node in the node sequence.
Optionally, the apparatus further comprises a storage module configured to:
acquiring historical node information sent by each edge node;
and storing the historical node information sent by each edge node.
Optionally, the determining module 604 is further configured to:
and aiming at any edge node in the plurality of edge nodes, if the target live broadcast stream identifier is successfully matched with the live broadcast stream identifier contained in the historical node information of the edge node, determining that the access priority of the edge node is the first priority.
Optionally, the determining module 604 is further configured to:
and if the matching of the target live broadcast stream identifier and the live broadcast stream identifier contained in the historical node information of the edge node fails, determining that the access priority of the edge node is a second priority, wherein the first priority is higher than the second priority.
Optionally, the history node information further includes connection information;
optionally, the determining module 604 is further configured to:
if a plurality of edge nodes with the access priorities of the designated priorities exist, determining the edge nodes with the access priorities of the designated priorities as target edge nodes, wherein the designated priorities are first priorities or second priorities;
and determining the sub-priority of each target edge node in the designated priority according to the connection information of each target edge node.
Optionally, the history node information further includes an access number;
the determining module 604, further configured to:
and if the target live broadcast stream identifier is successfully matched with the live broadcast stream identifiers contained in the historical node information of the designated edge node, and the access number is greater than a preset threshold value, determining that the access priority of the designated edge node is the lowest priority, wherein the designated edge node is any edge node.
The live stream acquisition device receives a live stream acquisition request sent by a spectator, wherein the live stream acquisition request carries a target live stream identifier; matching the target live broadcast stream identification with historical node information of a plurality of edge nodes respectively, determining access priorities of the edge nodes according to matching results, and determining a node sequence formed by the edge nodes according to the access priorities; and feeding back the node sequence to the audience so that the audience acquires the target live broadcast stream according to the access priority of each edge node in the node sequence. Based on historical node information, the distribution condition of the target live broadcast stream in each edge node can be determined, and the edge nodes can be accurately scheduled; based on the target live broadcast stream identification and the historical node information, the access priority of each edge node can be determined, so that the audience terminal can obtain the target live broadcast stream based on the access priority.
The foregoing is an illustrative scheme of a live stream acquiring apparatus applied to a stream information server in this embodiment. It should be noted that the technical solution of the live stream acquiring apparatus applied to the stream information server and the technical solution of the live stream acquiring method applied to the stream information server belong to the same concept, and details of the technical solution of the live stream acquiring apparatus applied to the stream information server, which are not described in detail, can be referred to the description of the technical solution of the live stream acquiring method applied to the stream information server.
Corresponding to the above method embodiment, the present application further provides an embodiment of a live stream acquiring apparatus applied to a viewer side, and fig. 7 shows a schematic structural diagram of another live stream acquiring apparatus provided in an embodiment of the present application. As shown in fig. 7, the apparatus is applied to a viewer side, and includes:
a first obtaining module 702, configured to obtain a target live stream identifier, and generate a live stream obtaining request based on the target live stream identifier;
a second sending module 704, configured to send the live stream obtaining request to a stream information server;
a second receiving module 706, configured to receive a node sequence composed of a plurality of edge nodes fed back by the stream information server, where the node sequence is determined by the stream information server according to access priorities of the plurality of edge nodes, and the access priorities of the plurality of edge nodes are determined by the stream information server according to the target live broadcast stream identifier and historical node information of the plurality of edge nodes;
a second obtaining module 708 configured to obtain the target live stream according to the access priority of each edge node in the node sequence.
Optionally, the second obtaining module 708 is further configured to:
and acquiring the target live broadcast stream from the first edge node in the node sequence according to the access priority of each edge node.
Optionally, the apparatus further includes a third obtaining module configured to:
receiving a selection instruction aiming at a designated edge node, wherein the designated edge node is any edge node in the node sequence;
and acquiring the target live broadcast stream from the specified edge node.
The live stream acquisition device acquires a target live stream identifier, and generates a live stream acquisition request based on the target live stream identifier; sending the live stream acquisition request to a stream information server; receiving a node sequence consisting of a plurality of edge nodes fed back by the stream information server, wherein the node sequence is determined by the stream information server according to access priorities of the edge nodes, and the access priorities of the edge nodes are determined by the stream information server according to the target live broadcast stream identifier and historical node information of the edge nodes; and acquiring the target live broadcast stream according to the access priority of each edge node in the node sequence. Based on historical node information, the distribution condition of the target live broadcast stream in each edge node can be determined, and the edge nodes can be accurately scheduled; based on the target live broadcast stream identification and the historical node information, the access priority of each edge node can be determined, so that the audience terminal can obtain the target live broadcast stream based on the access priority.
The above is an illustrative scheme of the present embodiment applied to a live stream acquiring apparatus at a viewer side. It should be noted that the technical solution of the live stream acquisition apparatus applied to the viewer side and the technical solution of the live stream acquisition method applied to the viewer side belong to the same concept, and details of the technical solution of the live stream acquisition apparatus applied to the viewer side, which are not described in detail, can be referred to the description of the technical solution of the live stream acquisition method applied to the viewer side.
Fig. 8 shows a block diagram of a computing device 800 according to an embodiment of the present application. The components of the computing device 800 include, but are not limited to, memory 810 and a processor 820. The processor 820 is coupled to the memory 810 via a bus 830, and the database 850 is used to store data.
Computing device 800 also includes access device 840, access device 840 enabling computing device 800 to communicate via one or more networks 860. Examples of such networks include a Public Switched Telephone Network (PSTN), a Local Area Network (LAN), a Wide Area Network (WAN), a Personal Area Network (PAN), or a combination of communication networks such as the internet. Access device 840 may include one or more of any type of Network Interface (e.g., a Network Interface Controller) whether wired or Wireless, such as an IEEE802.11 Wireless Local Area Network (WLAN) Wireless Interface, a Worldwide Interoperability for microwave Access (Wi-MAX) Interface, an ethernet Interface, a Universal Serial Bus (USB) Interface, a cellular Network Interface, a bluetooth Interface, a Near Field Communication (NFC) Interface, and so forth.
In one embodiment of the application, the above-described components of the computing device 800 and other components not shown in fig. 8 may also be connected to each other, for example, by a bus. It should be understood that the block diagram of the computing device architecture shown in FIG. 8 is for purposes of example only and is not limiting as to the scope of the present application. Other components may be added or replaced as desired by those skilled in the art.
Computing device 800 may be any type of stationary or mobile computing device, including a mobile computer or mobile computing device (e.g., tablet, personal digital assistant, laptop, notebook, netbook, etc.), a mobile phone (e.g., smartphone), a wearable computing device (e.g., smartwatch, smartglasses, etc.), or other type of mobile device, or a stationary computing device such as a desktop computer or PC. Computing device 800 may also be a mobile or stationary server.
Wherein, the steps of the live stream acquiring method are realized when the processor 820 executes the computer instructions.
The above is an illustrative scheme of a computing device of the present embodiment. It should be noted that the technical solution of the computing device and the technical solution of the above live stream acquisition method belong to the same concept, and details that are not described in detail in the technical solution of the computing device can all refer to the description of the technical solution of the above live stream acquisition method.
An embodiment of the present application further provides a computer readable storage medium, which stores computer instructions, and the computer instructions, when executed by a processor, implement the steps of the live stream acquiring method as described above.
The above is an illustrative scheme of a computer-readable storage medium of the present embodiment. It should be noted that the technical solution of the storage medium and the technical solution of the above live stream acquisition method belong to the same concept, and details that are not described in detail in the technical solution of the storage medium can be referred to the description of the technical solution of the above live stream acquisition method.
The foregoing description of specific embodiments of the present application has been presented. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
The computer instructions comprise computer program code which may be in the form of source code, object code, an executable file or some intermediate form, or the like. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, usb disk, removable hard disk, magnetic disk, optical disk, computer Memory, Read-Only Memory (ROM), Random Access Memory (RAM), electrical carrier wave signals, telecommunications signals, software distribution medium, and the like. It should be noted that the computer readable medium may contain content that is subject to appropriate increase or decrease as required by legislation and patent practice in jurisdictions, for example, in some jurisdictions, computer readable media does not include electrical carrier signals and telecommunications signals as is required by legislation and patent practice.
It should be noted that, for the sake of simplicity, the above-mentioned method embodiments are described as a series of acts or combinations, but those skilled in the art should understand that the present application is not limited by the described order of acts, as some steps may be performed in other orders or simultaneously according to the present application. Further, those skilled in the art should also appreciate that the embodiments described in the specification are preferred embodiments and that the acts and modules referred to are not necessarily required in this application.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
The preferred embodiments of the present application disclosed above are intended only to aid in the explanation of the application. Alternative embodiments are not exhaustive and do not limit the invention to the precise embodiments described. Obviously, many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the application and its practical applications, to thereby enable others skilled in the art to best understand and utilize the application. The application is limited only by the claims and their full scope and equivalents.

Claims (13)

1. A live broadcast stream acquisition method is applied to a stream information server, wherein the stream information server contains historical node information of each node in a content distribution network, and the method comprises the following steps:
receiving a live stream acquisition request sent by a viewer, wherein the live stream acquisition request carries a target live stream identifier;
matching the target live broadcast stream identification with historical node information of a plurality of edge nodes respectively, determining access priorities of the edge nodes according to matching results, and determining a node sequence formed by the edge nodes according to the access priorities;
and feeding back the node sequence to the audience so that the audience acquires the target live broadcast stream according to the access priority of each edge node in the node sequence.
2. The method of claim 1, wherein before receiving the request for acquiring the live stream from the viewer, the method further comprises:
acquiring historical node information sent by each edge node;
and storing the historical node information sent by each edge node.
3. The method according to claim 1, wherein the matching the target live stream identifier with historical node information of a plurality of edge nodes respectively, and determining access priorities of the plurality of edge nodes according to the matching result comprises:
and aiming at any edge node in the plurality of edge nodes, if the target live broadcast stream identifier is successfully matched with the live broadcast stream identifier contained in the historical node information of the edge node, determining that the access priority of the edge node is the first priority.
4. The method of claim 3, further comprising:
and if the matching of the target live broadcast stream identifier and the live broadcast stream identifier contained in the historical node information of the edge node fails, determining that the access priority of the edge node is a second priority, wherein the first priority is higher than the second priority.
5. The method of claim 4, wherein the historical node information further includes connection information, the method further comprising:
if a plurality of edge nodes with the access priorities of the designated priorities exist, determining the edge nodes with the access priorities of the designated priorities as target edge nodes, wherein the designated priorities are first priorities or second priorities;
and determining the sub-priority of each target edge node in the designated priority according to the connection information of each target edge node.
6. The method of any of claims 1-5, wherein the historical node information further comprises a number of visits;
the matching the target live broadcast stream identifier with the historical node information of the plurality of edge nodes respectively, and determining the access priority of the plurality of edge nodes according to the matching result comprises the following steps:
and if the target live broadcast stream identifier is successfully matched with the live broadcast stream identifiers contained in the historical node information of the designated edge node, and the access number is greater than a preset threshold value, determining that the access priority of the designated edge node is the lowest priority, wherein the designated edge node is any edge node.
7. A live stream acquisition method is applied to a viewer side, and comprises the following steps:
acquiring a target live stream identifier, and generating a live stream acquisition request based on the target live stream identifier;
sending the live stream acquisition request to a stream information server;
receiving a node sequence consisting of a plurality of edge nodes fed back by the stream information server, wherein the node sequence is determined by the stream information server according to access priorities of the edge nodes, and the access priorities of the edge nodes are determined by the stream information server according to the target live broadcast stream identifier and historical node information of the edge nodes;
and acquiring the target live broadcast stream according to the access priority of each edge node in the node sequence.
8. The method of claim 7, wherein the obtaining the target live stream according to the access priority of the edge node in the node sequence comprises:
and acquiring the target live broadcast stream from the first edge node in the node sequence according to the access priority of each edge node.
9. The method of claim 7, wherein after the obtaining the target live stream according to the access priority of each edge node in the node sequence, the method further comprises:
receiving a selection instruction aiming at a designated edge node, wherein the designated edge node is any edge node in the node sequence;
and acquiring the target live broadcast stream from the specified edge node.
10. A live stream acquiring device is applied to a stream information server, wherein the stream information server contains historical node information of each node in a content distribution network, and the device comprises:
the first receiving module is configured to receive a live stream acquisition request sent by a viewer, wherein the live stream acquisition request carries a target live stream identifier;
the determining module is configured to match the target live broadcast stream identifier with historical node information of a plurality of edge nodes respectively, determine access priorities of the edge nodes according to matching results, and determine a node sequence formed by the edge nodes according to the access priorities;
and the first sending module is configured to feed back the node sequence to the audience so that the audience obtains the target live broadcast stream according to the access priority of each edge node in the node sequence.
11. A live stream acquiring device applied to a spectator side comprises:
the first acquisition module is configured to acquire a target live stream identifier and generate a live stream acquisition request based on the target live stream identifier;
the second sending module is configured to send the live stream acquisition request to a stream information server;
a second receiving module, configured to receive a node sequence composed of a plurality of edge nodes fed back by the stream information server, where the node sequence is determined by the stream information server according to access priorities of the plurality of edge nodes, and the access priorities of the plurality of edge nodes are determined by the stream information server according to the target live broadcast stream identifier and historical node information of the plurality of edge nodes;
and the second acquisition module is configured to acquire the target live broadcast stream according to the access priority of each edge node in the node sequence.
12. A computing device comprising a memory, a processor, and computer instructions stored on the memory and executable on the processor, wherein the processor implements the steps of the method of any of claims 1-6 or 7-9 when executing the computer instructions.
13. A computer-readable storage medium storing computer instructions, which when executed by a processor, perform the steps of the method of any one of claims 1-6 or 7-9.
CN202210116541.5A 2022-02-07 2022-02-07 Live stream acquisition method and device Active CN114501053B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210116541.5A CN114501053B (en) 2022-02-07 2022-02-07 Live stream acquisition method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210116541.5A CN114501053B (en) 2022-02-07 2022-02-07 Live stream acquisition method and device

Publications (2)

Publication Number Publication Date
CN114501053A true CN114501053A (en) 2022-05-13
CN114501053B CN114501053B (en) 2023-10-20

Family

ID=81479586

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210116541.5A Active CN114501053B (en) 2022-02-07 2022-02-07 Live stream acquisition method and device

Country Status (1)

Country Link
CN (1) CN114501053B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022660A (en) * 2022-06-01 2022-09-06 上海哔哩哔哩科技有限公司 Parameter configuration method and system for content distribution network

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102726031A (en) * 2011-07-22 2012-10-10 华为技术有限公司 Content processing method, device and system
US20170142177A1 (en) * 2015-11-13 2017-05-18 Le Holdings (Beijing) Co., Ltd. Method and system for network dispatching
CN107801086A (en) * 2017-10-20 2018-03-13 广东省南方数字电视无线传播有限公司 The dispatching method and system of more caching servers
CN110446054A (en) * 2018-05-03 2019-11-12 腾讯科技(深圳)有限公司 A kind of live stream transmission method, device, relevant device and system
CN111263171A (en) * 2020-02-25 2020-06-09 北京达佳互联信息技术有限公司 Live streaming media data acquisition method and edge node area networking system
CN112087644A (en) * 2020-09-21 2020-12-15 北京金山云网络技术有限公司 Pull stream request processing method, device, system, electronic equipment and storage medium
WO2021004384A1 (en) * 2019-07-09 2021-01-14 阿里巴巴集团控股有限公司 Content delivery network, data processing method, apparatus and device, and storage medium
CN112511868A (en) * 2020-11-17 2021-03-16 创盛视联数码科技(北京)有限公司 Video playing method and device, electronic equipment and computer storage medium
CN113055693A (en) * 2021-04-20 2021-06-29 上海哔哩哔哩科技有限公司 Data processing method and device
WO2021135835A1 (en) * 2019-12-31 2021-07-08 北京金山云网络技术有限公司 Resource acquisition method and apparatus, and node device in cdn network
US20210368239A1 (en) * 2018-05-14 2021-11-25 Wangsu Science & Technology Co., Ltd. Distributing method, system, edge node, and central scheduling system for streaming media resource

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102726031A (en) * 2011-07-22 2012-10-10 华为技术有限公司 Content processing method, device and system
US20170142177A1 (en) * 2015-11-13 2017-05-18 Le Holdings (Beijing) Co., Ltd. Method and system for network dispatching
CN107801086A (en) * 2017-10-20 2018-03-13 广东省南方数字电视无线传播有限公司 The dispatching method and system of more caching servers
CN110446054A (en) * 2018-05-03 2019-11-12 腾讯科技(深圳)有限公司 A kind of live stream transmission method, device, relevant device and system
US20210368239A1 (en) * 2018-05-14 2021-11-25 Wangsu Science & Technology Co., Ltd. Distributing method, system, edge node, and central scheduling system for streaming media resource
WO2021004384A1 (en) * 2019-07-09 2021-01-14 阿里巴巴集团控股有限公司 Content delivery network, data processing method, apparatus and device, and storage medium
WO2021135835A1 (en) * 2019-12-31 2021-07-08 北京金山云网络技术有限公司 Resource acquisition method and apparatus, and node device in cdn network
CN111263171A (en) * 2020-02-25 2020-06-09 北京达佳互联信息技术有限公司 Live streaming media data acquisition method and edge node area networking system
CN112087644A (en) * 2020-09-21 2020-12-15 北京金山云网络技术有限公司 Pull stream request processing method, device, system, electronic equipment and storage medium
CN112511868A (en) * 2020-11-17 2021-03-16 创盛视联数码科技(北京)有限公司 Video playing method and device, electronic equipment and computer storage medium
CN113055693A (en) * 2021-04-20 2021-06-29 上海哔哩哔哩科技有限公司 Data processing method and device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022660A (en) * 2022-06-01 2022-09-06 上海哔哩哔哩科技有限公司 Parameter configuration method and system for content distribution network
CN115022660B (en) * 2022-06-01 2024-03-19 上海哔哩哔哩科技有限公司 Parameter configuration method and system for content distribution network

Also Published As

Publication number Publication date
CN114501053B (en) 2023-10-20

Similar Documents

Publication Publication Date Title
CN108737405B (en) Method, CCL server and system for guiding direct broadcasting video stream
US20210368239A1 (en) Distributing method, system, edge node, and central scheduling system for streaming media resource
US9615119B2 (en) Method and apparatus for providing timeshift service in digital broadcasting system and system thereof
JP5709858B2 (en) Method and apparatus for multi-screen service notification and interaction in a communication system
CN113923470B (en) Live stream processing method and device
CN108063769B (en) Method and device for realizing content service and content distribution network node
US10469627B2 (en) Rapid optimization of media stream bitrate
CN114501073B (en) Live broadcast source returning method and device
EP3001692A1 (en) Streaming media processing method, apparatus and system
WO2018090978A1 (en) Self-adaptive playing and control method, set top box and electronic programme server
US9866602B2 (en) Adaptive bit rates during broadcast transmission in distributed content delivery networks
CN113055692A (en) Data processing method and device
CN114222168B (en) Resource scheduling method and system
CN114679604B (en) Resource processing method and device
CN109842804A (en) Processing method and server, the computer storage medium of audio, video data
CN113891114A (en) Transcoding task scheduling method and device
WO2023061060A1 (en) Audio and video code stream scheduling method, system, medium and electronic apparatus
US8948144B1 (en) System and method for creating a preferential ad-hoc network
CN114501053A (en) Live stream acquisition method and device
CN111328136A (en) Data transmission control method and device based on eMBMS and electronic equipment
US10708330B2 (en) Multimedia resource management method, cloud server and electronic apparatus
CN115002497B (en) Live broadcast source-returning scheduling method and system and source-returning server
CN113194335B (en) Streaming media transmission method, transmission equipment and playing equipment
CN115942007A (en) Live streaming scheduling method and device
US11431770B2 (en) Method, system, apparatus, and electronic device for managing data streams in a multi-user instant messaging system

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