CN110913270B - Live broadcasting method and device - Google Patents

Live broadcasting method and device Download PDF

Info

Publication number
CN110913270B
CN110913270B CN201811075003.6A CN201811075003A CN110913270B CN 110913270 B CN110913270 B CN 110913270B CN 201811075003 A CN201811075003 A CN 201811075003A CN 110913270 B CN110913270 B CN 110913270B
Authority
CN
China
Prior art keywords
internet protocol
domain name
protocol address
request
name resolution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811075003.6A
Other languages
Chinese (zh)
Other versions
CN110913270A (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.)
Beijing Microlive Vision Technology Co Ltd
Original Assignee
Beijing Microlive Vision 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 Beijing Microlive Vision Technology Co Ltd filed Critical Beijing Microlive Vision Technology Co Ltd
Priority to CN201811075003.6A priority Critical patent/CN110913270B/en
Publication of CN110913270A publication Critical patent/CN110913270A/en
Application granted granted Critical
Publication of CN110913270B publication Critical patent/CN110913270B/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/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/437Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • H04N21/6175Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

The embodiment of the disclosure discloses a live broadcasting method and device. The specific implementation mode of the method comprises the following steps: in response to the generation of the pull flow request, selecting an internet protocol address from a pre-acquired internet protocol address set; sending a pull stream request by using the selected internet protocol address; wherein an internet protocol address in the set of internet protocol addresses indicates an electronic device for storing live video data. This embodiment provides a new live mode.

Description

Live broadcasting method and device
Technical Field
The embodiment of the disclosure relates to the technical field of computers, in particular to a live broadcast method and device.
Background
In the live broadcast field, a live broadcast provider can utilize a client to send a stream pushing request to a server, wherein the stream pushing request comprises live broadcast video data; the server stores live video data; a live viewer can send a pull stream request to a server by using a client, wherein the pull stream request can comprise a live provider identifier of a live provider which the live viewer wants to view; the server may return live video data to the live viewer in response to receiving the pull stream request.
Disclosure of Invention
The embodiment of the disclosure provides a live broadcasting method and device.
In a first aspect, an embodiment of the present disclosure provides a live broadcast method, where the method includes: sending a domain name resolution request including a domain name in response to determining that a preset trigger condition is met; generating an internet protocol address set according to an internet protocol address which is returned based on the domain name resolution request and indicates an edge node of the content distribution network; and the website indicated by the domain name stores data through a content distribution network.
In a second aspect, an embodiment of the present disclosure provides a live broadcast apparatus, including: the first selecting unit is configured to respond to a pull flow generating request and select an internet protocol address from a pre-acquired internet protocol address set; a first sending unit configured to send a pull request using the selected ip address; and the Internet protocol address in the Internet protocol address set indicates the electronic equipment for storing the live video data.
In a third aspect, an embodiment of the present disclosure provides an electronic device, including: one or more processors; a storage device, on which one or more programs are stored, which, when executed by the one or more processors, cause the one or more processors to implement the method as described in any implementation manner of the first aspect.
In a fourth aspect, the disclosed embodiments provide a computer-readable medium on which a computer program is stored, wherein the computer program, when executed by a processor, implements the method as described in any implementation manner of the first aspect.
According to the live broadcast method and device provided by the embodiment of the disclosure, an internet protocol address is selected from a pre-acquired internet protocol address set by responding to a pull stream generation request, wherein the internet protocol address in the internet protocol address set indicates an electronic device for storing live broadcast video data; the selected internet protocol address is used for sending the pull flow request, and the technical effects at least comprise that: a new live broadcasting mode is provided.
Drawings
Other features, objects and advantages of the disclosure will become more apparent upon reading of the following detailed description of non-limiting embodiments thereof, made with reference to the accompanying drawings in which:
FIG. 1 is an exemplary system architecture diagram in which the present disclosure may be applied;
fig. 2 is a flow diagram of one embodiment of a live method according to the present disclosure;
fig. 3 is a schematic diagram of an application scenario of a live method according to the present disclosure;
fig. 4 is a flow diagram of yet another embodiment of a live method according to the present disclosure;
FIG. 5 is a flow diagram according to one implementation of step 402 in FIG. 4 in this disclosure;
fig. 6 is a schematic structural diagram of one embodiment of a live device according to the present disclosure;
FIG. 7 is a schematic block diagram of a computer system suitable for use in implementing an electronic device of an embodiment of the present disclosure.
Detailed Description
The present disclosure is described in further detail below with reference to the accompanying drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the relevant invention and not restrictive of the invention. It should be noted that, for convenience of description, only the portions related to the related invention are shown in the drawings.
It should be noted that, in the present disclosure, the embodiments and features of the embodiments may be combined with each other without conflict. The present disclosure will be described in detail below with reference to the accompanying drawings in conjunction with embodiments.
Fig. 1 illustrates an exemplary system architecture 100 to which embodiments of the live method or live apparatus of the present disclosure may be applied.
As shown in fig. 1, the system architecture 100 may include terminal devices 101, 102, 103, a network 104, and a server 105. Network 104 may be the medium used to provide communication links between terminal devices 101, 102, 103 and server 105. Network 104 may include various connection types, such as wired, wireless communication links, or fiber optic cables, to name a few.
The terminal devices 101, 102, 103 interact with a server 105 via a network 104 to receive or send messages or the like. Various communication client applications, such as a web browser application, a live application, a search application, an instant messaging tool, a mailbox client, social platform software, and the like, may be installed on the terminal devices 101, 102, and 103.
The terminal apparatuses 101, 102, and 103 may be hardware or software. When the terminal apparatuses 101, 102, 103 are hardware, various electronic apparatuses having a communication function are possible.
The server 105 may be a server that provides various services. For example, the server 105 may be a background server that provides support for domain name resolution requirements on the terminal devices 101, 102, 103. The background server may analyze and otherwise process data such as the domain name resolution request, and feed back a processing result (e.g., an internet protocol address) to the terminal device. Alternatively, the server 105 may be a domain name resolution server. As another example, the server 105 may be a backend server that provides support for domain name resolution requirements on the terminal devices 101, 102, 103. The background server can also store live video data, analyze and process data such as a pull stream request and feed back a processing result (such as live video data) to the terminal equipment.
It should be noted that the live broadcast method provided by the embodiment of the present disclosure is generally executed by the terminal devices 101, 102, and 103, and accordingly, the live broadcast apparatus is generally disposed in the terminal devices 101, 102, and 103.
The server may be hardware or software. When the server is hardware, it may be implemented as a distributed server cluster formed by multiple servers, or may be implemented as a single server. When the server is software, it may be implemented as multiple pieces of software or software modules (e.g., to provide distributed services), or as a single piece of software or software module. And is not particularly limited herein.
It should be understood that the number of terminal devices, networks, and servers in fig. 1 is merely illustrative. There may be any number of terminal devices, networks, and servers, as desired for implementation.
Referring to fig. 2, a flow 200 of one embodiment of a method of live broadcasting is shown. The embodiment is mainly exemplified by applying the method to an electronic device with certain computing capability, and the electronic device may be the terminals 101, 102, 103 shown in fig. 1. The live broadcast method comprises the following steps:
step 201, in response to the generation of the pull flow request, selecting an internet protocol address from a pre-acquired internet protocol address set.
In this embodiment, an executing entity (for example, the terminal shown in fig. 1) of the live broadcast method may select an internet protocol address from a set of internet protocol addresses acquired in advance in response to a pull stream generation request.
Generally, in the live broadcast field, a live broadcast provider can send a push streaming request to a server by using a client, wherein the push streaming request comprises live broadcast video data; the server stores live video data; a live viewer can send a pull stream request to a server by using a client, wherein the pull stream request can comprise a live provider identifier of a live provider which the live viewer wants to view; the server may return live video data to the live viewer in response to receiving the pull stream request.
In the prior art, generally, after a pull flow request is generated, a domain name resolution request is started to be sent to a server. The server returns the IP address to the client, and the client sends a pull request by using the IP address which is returned by the server. Therefore, it can be seen that sending the domain name resolution request each time a pull stream request is generated and sent results in a delay in sending the pull stream request, and further results in a failure of the client to obtain live video data quickly.
In this embodiment, the execution subject may generate the pull stream request in response to receiving an operation of a preset control (for example, an opening operation of a preset live window) by a user.
In this embodiment, the ip address in the ip address set may indicate an electronic device for storing live video data.
Alternatively, the electronic device for storing live video data may be a separate server.
Alternatively, the electronic device for storing live video data may be an edge node of a content distribution network. The website can store data by using a Content Delivery Network (CDN), so that bottlenecks and links on the internet, which may affect the data transmission speed and stability, are avoided as much as possible, and Content transmission is faster and more stable. The content distribution network may include edge nodes.
In this embodiment, the ip address may be selected from the ip address set using various policies.
Optionally, the internet protocol address may be selected from the internet protocol address set by using a random selection method.
Alternatively, the internet protocol address may be selected from the internet protocol address set in a polling manner. For example, the ip address set has two ip addresses, and the execution entity sends the pull request by using the two ip addresses in turn.
It should be noted that after the pull request is generated, the internet protocol address is selected from the pre-obtained internet protocol address set, so that domain name resolution is avoided when the pull request is sent, and therefore, when the pull request is sent, the time for domain name resolution is saved, and further, the pull request can be sent as soon as possible, and the speed of obtaining live video data is improved.
Step 202, sending a pull request by using the selected ip address.
In this embodiment, an executing entity (for example, the terminal shown in fig. 1) of the live broadcasting method may send a pull stream request by using the selected internet protocol.
Here, the pulling request is sent by using the selected internet protocol address, and it is understood that the pulling request is sent to the device indicated by the selected internet protocol address.
It should be noted that, the manner provided by the present application may directly obtain the internet protocol address after generating the pull request, instead of obtaining the internet protocol address after sending the domain name resolution request, and may provide a live broadcast manner in which live broadcast video data is obtained faster, that is, a new live broadcast manner is provided.
With continued reference to fig. 3, fig. 3 is a schematic diagram of an application scenario of the live method according to the present embodiment. In the application scenario of fig. 3:
first, the terminal 301 selects an ip address from a set of ip addresses acquired in advance in response to a pull request. Here, the internet protocol address in the above-mentioned set of internet protocol addresses indicates an electronic device for storing live video data.
Then, the terminal 301 may send a pull request using the selected ip address. Here, the pull request may be sent to the electronic device 302 indicated by the picked-up internet protocol address.
In the method provided by the embodiment of the present disclosure, an internet protocol address is selected from a set of internet protocol addresses acquired in advance by responding to a request for generating a pull stream, where the internet protocol address in the set of internet protocol addresses indicates an electronic device for storing live video data; the selected internet protocol address is used for sending the pull flow request, and the technical effects at least comprise that:
first, a new live mode is provided.
Secondly, after the pull stream request is generated, the internet protocol address is selected from the internet protocol address set acquired in advance, and domain name resolution is avoided when the pull stream request is sent, so that the time of domain name resolution is saved when the pull stream request is sent, the pull stream request can be sent as soon as possible, and the speed of acquiring live video data is improved.
With further reference to fig. 4, a flow 400 of yet another embodiment of a live method is shown. The process 400 of the live broadcasting method includes the following steps:
step 401, in response to determining that the preset trigger condition is met, sending a domain name resolution request including a domain name.
In this embodiment, an execution subject (e.g., the terminal shown in fig. 1) of the live broadcast method may send a domain name resolution request including a domain name in response to determining that a preset trigger condition is satisfied.
In this embodiment, the website indicated by the domain name stores data via a content distribution network.
In this embodiment, a preset trigger condition may be used to trigger generation and sending of a domain name resolution request.
In this embodiment, the preset trigger condition may include, but is not limited to, at least one of the following: application startup, network system switching, and expiration of Time To Live (TTL).
Here, the application start in the trigger condition may refer to a live broadcast client start installed on the terminal.
Herein, the network system may refer to a network type. The network type switching in the trigger condition may mean that the type of the network in which the execution main body connects to the internet is changed.
Here, the lifetime may be a persistence time of the domain name resolution record in the domain name resolution server. When domain name resolution servers in various places receive resolution requests, the resolution requests are sent to authoritative domain name servers appointed by domain names, and resolution records are obtained; after obtaining the record, the record will be stored in the domain name resolution server (cache servers in various places, also called recursive domain name servers) for a period of time, and if receiving the resolution request of the domain name again in the period of time, the domain name resolution server will not send the request to the authoritative domain name server any more, but directly return to the record obtained just before; and the time that this record remains on the domain name resolution server is the time-to-live value. It is to be understood that the expiration of the time-to-live value in the above-mentioned trigger condition may refer to the expiration of a domain name record retention time (validity time) in the domain name resolution server.
In this embodiment, the electronic device to which the domain name resolution request is sent may be an electronic device with a domain name resolution function. As an example, the electronic device to which the domain name resolution request is sent may be a Local domain name resolution Server (Local DNS Server) and a network domain name resolution Server.
Here, the local domain name resolution server is generally a domain name resolution server that performs local default setting as described above, for example, a domain name resolution server of a communication operator. The network domain name resolution server described above is generally an authoritative domain name resolution server that provides authoritative resolution. It should be noted that, regarding the authoritative domain name resolution server, the settings of the domain name resolution servers at different levels in the domain name resolution system may be referred to, and details are not described herein.
Step 402, generating an internet protocol address set according to the internet protocol address returned based on the domain name resolution request.
In this embodiment, an execution subject (for example, a server shown in fig. 1) of the live method may be.
In this embodiment, an executing subject of the domain name resolution method (for example, the terminal device shown in fig. 1) may generate the set of internet protocol addresses based on the internet protocol address returned by the domain name resolution request and indicating the edge node of the content distribution network.
In this embodiment, the internet protocol address returned based on the domain name resolution request may be an electronic device with a domain name resolution function. As an example, the electronic device to which the domain name resolution request is sent may be a network domain name resolution server and/or a local domain name resolution server.
In this embodiment, the ip address received by the execution agent may indicate an edge node of the content distribution network (a content distribution network in which data of a website indicated by the domain name is stored).
As an example, the execution subject may use the forgotten protocol address returned based on the domain name resolution request as the internet protocol address set.
In response to generating the pull request, an ip address is selected from the ip address set, step 403.
In this embodiment, the execution body selects an ip address from the ip address set in response to generating the pull request.
Step 404, sending a pull request by using the selected ip address.
In this embodiment, the execution agent may send a pull request by using the ip address selected in step 403.
The specific operations of step 402 and step 403 in this embodiment are substantially the same as the operations of step 201 and step 202 in the embodiment shown in fig. 2, and are not described again here.
As can be seen from fig. 4, compared with the embodiment corresponding to fig. 2, the flow 400 of the live broadcasting method in the present embodiment highlights steps related to domain name resolution. Therefore, the scheme described by the embodiment can provide a more comprehensive live broadcast method.
In some optional implementations of this embodiment, the step 402 may be implemented by the step 402 shown in fig. 5, and the step 402 may include:
step 4021, determining the internet protocol address corresponding to the domain name from the internet protocol address returned based on the domain name resolution request.
In this embodiment, an executing entity (for example, the server shown in fig. 1) of the domain name resolution method may determine an internet protocol address corresponding to the domain name from internet protocol addresses returned based on the domain name resolution request.
Optionally, the execution main body may send a first domain name resolution request including the domain name to a network domain name resolution server.
Optionally, the execution main body may send a second domain name resolution request including the domain name to a local domain name resolution server.
Optionally, the executing entity may determine, in response to receiving a first ip address returned by the dns server, the first ip address as an ip address corresponding to the domain name; and in response to not receiving the first internet protocol address returned by the network domain name resolution server, determining a second internet protocol address returned by the local domain name resolution server as the internet protocol address corresponding to the domain name.
Step 4022, selecting an internet protocol address from the internet protocol addresses corresponding to the determined domain name to obtain an internet protocol address set.
In this embodiment, the execution body may select an ip address from the determined ip addresses corresponding to the domain name to obtain the ip address set.
In this embodiment, the ip address set may be obtained by selecting an ip address from the ip addresses corresponding to the determined domain name in various manners.
In some optional implementation manners of this embodiment, the execution main body may set a selection policy by itself, and select an ip address from ip addresses corresponding to the determined domain name to obtain the ip address set.
In some optional implementations of this embodiment, the execution subject may request the other electronic device to evaluate each of the internet protocol addresses corresponding to the determined domain name, and request the other electronic device to return the internet protocol address indicating the good edge node.
In some optional implementations of this embodiment, the method shown in this embodiment may further include: responding to the pull flow generation request, and selecting an internet protocol address from the internet protocol addresses returned by the node evaluation equipment; and sending the pull stream request by using the selected internet protocol address.
In some optional implementations of this embodiment, the method shown in this embodiment may further include: the execution main body sends a test request to the edge node according to the determined internet protocol address corresponding to the domain name; and generating a test result according to the request result of the test request returned by the edge node.
Here, the test request may be a request for testing a communication function of the edge node.
As an example, the test request may include an Internet Packet explorer (PING) request. The principle of PING request is roughly as follows: the execution body sends a data packet to the equipment indicated by the target internet protocol address, and then requires the other party to return a data packet with the same size to determine whether the two network machines are connected and communicated or not and what the time delay is.
In this embodiment, the execution body may generate the test result of each edge node according to the request result of the test request returned by each edge node.
As an example, the request result returned by the edge node may include a data packet returned by the edge node based on the PING request.
The execution body can compare the request result returned by the edge node with the data packet sent by the PING request, and calculate the packet loss rate of the PING request. The execution agent may compare a time when the request result is received with a time when the test request is transmitted, and calculate a time delay value of the PING request.
Optionally, the execution main body may package the packet loss rate and the time delay value into a test result, and send the test result to the node evaluation device.
Optionally, the executing entity may further pack another parameter based on the packet loss rate and the time delay value, and send the result to the node averaging device as a test result. Here, the above-mentioned other parameters may include, but are not limited to, at least one of: a time-to-live value of the acquired internet protocol address and source information (e.g., a local domain name resolution server or a network domain name resolution server) of the acquired internet protocol address.
As an example, the execution body acquires an internet protocol address F, an internet protocol address G, and an internet protocol address H. The execution body may send a test request F to the edge node F indicated by the ip address F, receive a request result F, and generate a test result F. The execution agent may send a test request G G to the edge node G indicated by the ip address G, receive a request result G, and generate a test result G. The execution body can send a test request H to the edge node H indicated by the IP address H, receive the request result H and generate a test result H.
In some optional implementations of this embodiment, step 4022 in this embodiment may include: the execution main body selects an internet protocol address from the determined internet protocol addresses corresponding to the domain name according to the generated test result to obtain the internet protocol address set.
In some optional implementations of this embodiment, step 4022 in this embodiment may include: sending a node evaluation request to a node evaluation device, wherein the node evaluation request includes the determined internet protocol address corresponding to the domain name, and the node evaluation device selects and returns the internet protocol address from the determined internet protocol address corresponding to the domain name according to edge node ranking information for edge nodes in the content distribution network; and determining the internet protocol address returned by the node evaluation equipment as the internet protocol address set.
Optionally, the edge node ranking information is generated in advance by the node evaluation device, and the node evaluation device determines, from the edge node ranking information, ranking information corresponding to each determined internet protocol address corresponding to the domain name, and selects a predetermined number of internet protocol addresses according to each determined ranking information.
As an example, the execution body may send a node evaluation request a to the node evaluation apparatus, the node evaluation request a including an internet protocol address a, an internet protocol address B, and an internet protocol address C. The above-described node evaluation device may determine edge node ranking information in advance, and may include, for example, an internet protocol address a (corresponding to a ranking name of 5), an internet protocol address B (corresponding to a ranking name of 4), an internet protocol address C (corresponding to a ranking name of 3), an internet protocol address D (corresponding to a ranking name of 2), and an internet protocol address E (corresponding to a ranking name of 1). The node evaluation device may find that the internet protocol address a, the internet protocol address B, and the internet protocol address C included in the node evaluation request a are arranged in the order of the ranking nouns in the edge node ranking information from high to low as the internet protocol address C, the internet protocol address B, and the internet protocol address a. The node evaluation device may select the ip address C if it is predetermined that an ip address is to be selected. The node evaluation device may select the ip address C and the ip address B if it is predetermined that two ip addresses are to be selected.
Optionally, the method shown in this embodiment may further include: and sending the generated test result to the node evaluation equipment. As an example, the execution subject may send the test result F, the test result H, and the test result G to the node evaluation device.
Optionally, the edge node ranking information may be generated in real time by the node evaluation device. The node evaluation equipment receives a test result sent by a client; and sequencing at least two edge nodes in the content distribution network according to the received test result, and generating edge node sequencing information aiming at the at least two edge nodes. Then, the node evaluation device may select a predetermined number of internet protocol addresses with a higher ranking, and return the selected internet protocol addresses to the execution main body.
Optionally, the node evaluation device may analyze each received test result by using some preset conditions, so as to implement sorting of the at least two edge nodes. As an example, three parameters, namely a parameter a, a parameter B and a parameter C, may be included in the test result. The preset conditions may include: firstly, comparing a parameter value A corresponding to the parameter A, and forward ranking a test result with a larger parameter value A; if the parameter values A are the same, comparing the parameter values B corresponding to the parameter values B, and forward ranking the test results with larger parameter values B; and if the parameter values B are the same, comparing the parameter values C corresponding to the parameter values C, and forward ranking the test results with larger parameter values C. Therefore, the test result ranking information can be obtained, and then, the order of the test results can be used as the order of the edge nodes (it can be understood that the edge nodes have a corresponding relationship with the test results), so that the edge node ranking information can be obtained.
Optionally, the node evaluation device may score at least two edge nodes in the content distribution network according to the received test result; and generating edge node sequencing information aiming at least two edge nodes according to the grading result.
Optionally, the edge node evaluation device may preset logic that generates the edge node ranking information according to a plurality of test results. For example, weights may be preset for various parameters in the test results, the parameters in each test result are weighted and summed to obtain a score corresponding to the test result, and the score corresponding to the test result is used as the score of the edge node. And sequencing the edge nodes according to the scores of the edge nodes to generate edge node ranking information.
As an example, the edge node evaluation device receives the test result F, the test result H, and the test result G. The edge node evaluation device may perform weighted summation on a plurality of parameters in the test result F to obtain a score F (for example, 70 scores) corresponding to the test result F, and use the score F as the score of the edge node F. The edge node evaluation device may perform weighted summation on a plurality of parameters in the test result H to obtain a score H (for example, 80 scores) corresponding to the test result H, and use the score H as the score of the edge node H. The edge node evaluation device may perform weighted summation on the plurality of parameters in the test result G to obtain a score G (e.g., 90 scores) corresponding to the test result G, and use the score G as the score of the edge node G. Thereby, the edge node ranking information is obtained in order of the internet protocol address G (corresponding ranking name is 1), the internet protocol address H (corresponding ranking name is 2), and the internet protocol address F (corresponding ranking name is 3).
With further reference to fig. 6, as an implementation of the methods shown in the above-mentioned figures, the present disclosure provides an embodiment of a live broadcast apparatus, where the embodiment of the apparatus corresponds to the embodiment of the method shown in fig. 2, and the apparatus may be specifically applied to various electronic devices.
As shown in fig. 6, the live device 600 of the present embodiment includes: a first selecting unit 601 and a first sending unit 602. The first selecting unit 601 is configured to select an internet protocol address from a set of internet protocol addresses acquired in advance in response to a pull stream generation request; a first sending unit 602 configured to send a pull request using the selected ip address; and the Internet protocol address in the Internet protocol address set indicates the electronic equipment for storing the live video data.
In some optional implementation manners of this embodiment, before the first selecting unit, the apparatus further includes: a second transmitting unit (not shown) configured to transmit a domain name resolution request including a domain name in response to determining that a preset trigger condition is satisfied; a first generating unit (not shown) configured to generate the set of internet protocol addresses according to the internet protocol address returned based on the domain name resolution request.
In the present embodiment, the first selecting unit 601 and the first sending unit 602 of the live device 600. The detailed processing of the first selecting unit 601 and the technical effects thereof can refer to the related descriptions of step 201 and step 202 in the corresponding embodiment of fig. 2, which are not repeated herein.
In some optional implementations of the present embodiment, the first generating unit is further configured to: determining an internet protocol address corresponding to the domain name from internet protocol addresses returned based on the domain name resolution request; and selecting an internet protocol address from the determined internet protocol addresses corresponding to the domain names to obtain the internet protocol address set.
In some optional implementations of this embodiment, the first sending unit is further configured to: sending a first domain name resolution request comprising the domain name to a network domain name resolution server; and sending a second domain name resolution request comprising the domain name to a local domain name resolution server.
In some optional implementations of the present embodiment, the first generating unit is further configured to: in response to receiving a first internet protocol address returned by the network domain name resolution server, determining the first internet protocol address as an internet protocol address corresponding to the domain name; and in response to not receiving the first internet protocol address returned by the network domain name resolution server, determining a second internet protocol address returned by the local domain name resolution server as the internet protocol address corresponding to the domain name.
In some optional implementations of this embodiment, the live video data is stored in an edge node in a content distribution network.
In some optional implementations of this embodiment, the method further includes: a third sending unit (not shown) configured to send a test request to the edge node according to the determined internet protocol address corresponding to the domain name; and a second generating unit (not shown) configured to generate a test result according to a request result of the test request returned by the edge node.
In some optional implementations of the present embodiment, the first generating unit is further configured to: and selecting an internet protocol address from the determined internet protocol addresses corresponding to the domain name according to the generated test result to obtain the internet protocol address set.
In some optional implementations of this embodiment, the method further includes: a fourth transmitting unit (not shown) configured to transmit the generated test result to the node evaluation device, wherein the node evaluation device receives the test result transmitted by the client; and sequencing at least two edge nodes in the content distribution network according to the received test result, and generating edge node sequencing information aiming at the at least two edge nodes.
In some optional implementations of the present embodiment, the first generating unit is further configured to: sending a node evaluation request to a node evaluation device, wherein the node evaluation request includes the determined internet protocol address corresponding to the domain name, and the node evaluation device selects and returns the internet protocol address from the determined internet protocol address corresponding to the domain name according to edge node ranking information for edge nodes in the content distribution network; and determining the internet protocol address returned by the node evaluation equipment as the internet protocol address set.
In some optional implementation manners of this embodiment, the edge node ranking information is generated in advance by the node evaluation device, and the node evaluation device determines, from the edge node ranking information, ranking information corresponding to each determined internet protocol address corresponding to the domain name, and selects a predetermined number of internet protocol addresses according to each determined ranking information.
It should be noted that details of implementation and technical effects of each unit in the live broadcast apparatus provided in the embodiment of the present disclosure may refer to descriptions of other embodiments in the present disclosure, and are not described herein again.
Referring now to fig. 7, a schematic diagram of an electronic device (e.g., the terminal device of fig. 1) 700 suitable for implementing embodiments of the present disclosure is shown. The terminal device in the embodiments of the present disclosure may include, but is not limited to, a mobile terminal such as a mobile phone, a notebook computer, a digital broadcast receiver, a PDA (personal digital assistant), a PAD (tablet computer), a PMP (portable multimedia player), a vehicle terminal (e.g., a car navigation terminal), and the like, and a stationary terminal such as a digital TV, a desktop computer, and the like. The electronic device shown in fig. 7 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 7, electronic device 700 may include a processing means (e.g., central processing unit, graphics processor, etc.) 701 that may perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)702 or a program loaded from storage 708 into a Random Access Memory (RAM) 703. In the RAM703, various programs and data necessary for the operation of the electronic apparatus 700 are also stored. The processing device 701, the ROM 702, and the RAM703 are connected to each other by a bus 704. An input/output (I/O) interface 705 is also connected to bus 704.
Generally, the following devices may be connected to the I/O interface 705: input devices 706 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; an output device 707 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage 708 including, for example, magnetic tape, hard disk, etc.; and a communication device 709. The communication means 709 may allow the electronic device 700 to communicate wirelessly or by wire with other devices to exchange data. While fig. 7 illustrates an electronic device 700 having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such embodiments, the computer program may be downloaded and installed from a network via the communication means 709, or may be installed from the storage means 708, or may be installed from the ROM 702. The computer program, when executed by the processing device 701, performs the above-described functions defined in the methods of the embodiments of the present disclosure.
It should be noted that the computer readable medium in the present disclosure can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In contrast, in the present disclosure, a computer readable signal medium may comprise a propagated data signal with computer readable program code embodied therein, either in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
The computer readable medium may be embodied in the electronic device; or may exist separately without being assembled into the electronic device. The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: in response to the generation of the pull flow request, selecting an internet protocol address from a pre-acquired internet protocol address set; sending a pull stream request by using the selected internet protocol address; and the Internet protocol address in the Internet protocol address set indicates the electronic equipment for storing the live video data.
Computer program code for carrying out operations for aspects of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present disclosure may be implemented by software or hardware. Where the name of a unit does not in some cases constitute a limitation of the unit itself, for example, the first selection unit may also be described as a "unit for selecting an internet protocol address".
The foregoing description is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the disclosure herein is not limited to the particular combination of features described above, but also encompasses other embodiments in which any combination of the features described above or their equivalents does not depart from the spirit of the disclosure. For example, the above features and (but not limited to) the features disclosed in this disclosure having similar functions are replaced with each other to form the technical solution.

Claims (13)

1. A live method, comprising:
in response to determining that a preset trigger condition is satisfied, sending a domain name resolution request including a domain name, the preset trigger condition including at least one of: application starting, network system switching and expiration of survival time;
generating an internet protocol address set according to the internet protocol address returned based on the domain name resolution request;
in response to the generation of the pull flow request, selecting an internet protocol address from a pre-acquired internet protocol address set;
sending a pull stream request by using the selected internet protocol address;
wherein an internet protocol address in the set of internet protocol addresses indicates an electronic device for storing live video data.
2. The method of claim 1, wherein the generating the set of internet protocol addresses from internet protocol addresses returned based on the domain name resolution request comprises:
determining an internet protocol address corresponding to the domain name from internet protocol addresses returned based on the domain name resolution request;
and selecting an internet protocol address from the determined internet protocol addresses corresponding to the domain name to obtain the internet protocol address set.
3. The method of claim 2, wherein the sending a domain name resolution request including a domain name comprises:
sending a first domain name resolution request including the domain name to a network domain name resolution server;
sending a second domain name resolution request including the domain name to a local domain name resolution server.
4. The method of claim 3, wherein the determining the internet protocol address corresponding to the domain name from the internet protocol addresses returned based on the domain name resolution request comprises:
in response to receiving a first internet protocol address returned by the network domain name resolution server, determining the first internet protocol address as an internet protocol address corresponding to the domain name;
and in response to not receiving the first internet protocol address returned by the network domain name resolution server, determining a second internet protocol address returned by the local domain name resolution server as the internet protocol address corresponding to the domain name.
5. The method of claim 2, wherein the live video data is stored at an edge node in a content distribution network.
6. The method of claim 5, wherein the method further comprises:
sending a test request to an edge node according to the determined internet protocol address corresponding to the domain name;
and generating a test result according to the request result of the test request returned by the edge node.
7. The method of claim 6, wherein the generating the set of internet protocol addresses from internet protocol addresses returned based on the domain name resolution request comprises:
and selecting an internet protocol address from the determined internet protocol addresses corresponding to the domain name according to the generated test result to obtain the internet protocol address set.
8. The method of claim 6, wherein the selecting an internet protocol address from the determined internet protocol addresses corresponding to the domain name to obtain the set of internet protocol addresses comprises:
sending a node evaluation request to node evaluation equipment, wherein the node evaluation request comprises the determined internet protocol address corresponding to the domain name, and the node evaluation equipment selects the internet protocol address from the determined internet protocol address corresponding to the domain name and returns the internet protocol address according to edge node ranking information aiming at edge nodes in the content distribution network;
and determining the internet protocol address returned by the node evaluation equipment as the internet protocol address set.
9. The method of claim 8, wherein the method further comprises:
sending the generated test result to the node evaluation equipment, wherein the node evaluation equipment receives the test result sent by the client; and sequencing at least two edge nodes in the content distribution network according to the received test result, and generating edge node sequencing information aiming at the at least two edge nodes.
10. The method according to claim 8, wherein the edge node ranking information is generated in advance by the node evaluation device, and the node evaluation device determines ranking information corresponding to each determined internet protocol address corresponding to the domain name from the edge node ranking information, and selects a predetermined number of internet protocol addresses according to each determined ranking information.
11. A live device, comprising:
a second sending unit configured to send a domain name resolution request including a domain name in response to determining that a preset trigger condition is satisfied, the preset trigger condition including at least one of: application starting, network system switching and expiration of survival time;
a first generating unit configured to generate a set of internet protocol addresses according to the internet protocol addresses returned based on the domain name resolution request;
the first selecting unit is configured to respond to a pull flow generating request and select an internet protocol address from a pre-acquired internet protocol address set;
a first sending unit configured to send a pull request using the selected ip address;
wherein an internet protocol address in the set of internet protocol addresses indicates an electronic device for storing live video data.
12. An electronic device, comprising:
one or more processors;
a storage device having one or more programs stored thereon,
when executed by the one or more processors, cause the one or more processors to implement the method of any one of claims 1-10.
13. A computer-readable medium, on which a computer program is stored, wherein the program, when executed by a processor, implements the method of any one of claims 1-10.
CN201811075003.6A 2018-09-14 2018-09-14 Live broadcasting method and device Active CN110913270B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811075003.6A CN110913270B (en) 2018-09-14 2018-09-14 Live broadcasting method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811075003.6A CN110913270B (en) 2018-09-14 2018-09-14 Live broadcasting method and device

Publications (2)

Publication Number Publication Date
CN110913270A CN110913270A (en) 2020-03-24
CN110913270B true CN110913270B (en) 2021-12-21

Family

ID=69812313

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811075003.6A Active CN110913270B (en) 2018-09-14 2018-09-14 Live broadcasting method and device

Country Status (1)

Country Link
CN (1) CN110913270B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111432248A (en) * 2020-03-30 2020-07-17 北京百度网讯科技有限公司 Quality monitoring method and device for live video stream
CN114245182B (en) * 2021-12-16 2023-11-21 上海哔哩哔哩科技有限公司 Live video stream acquisition method and device
CN114286125B (en) * 2021-12-30 2023-12-19 北京爱学习博乐教育科技有限公司 Method and system for realizing enterprise live broadcast

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008016695A3 (en) * 2006-08-02 2008-11-27 Vusion Inc Improved distribution of content and advertisement
CN101631133A (en) * 2008-07-15 2010-01-20 华为技术有限公司 Domain name analyzing system, equipment and method
EP2416572A4 (en) * 2009-03-31 2012-02-08 Huawei Tech Co Ltd Method and apparatus for obtaining address of video transmission management server
CN102404378A (en) * 2010-09-07 2012-04-04 成都索贝数码科技股份有限公司 Streaming media distribution and transmission network system
CN103188574A (en) * 2011-12-28 2013-07-03 华为技术有限公司 Method and system for transmitting network video
CN105656876A (en) * 2015-11-26 2016-06-08 乐视云计算有限公司 Live video play method, device and system
CN105872577A (en) * 2015-12-01 2016-08-17 乐视云计算有限公司 Method, device and system for obtaining video data
CN106453328A (en) * 2016-10-18 2017-02-22 乐视控股(北京)有限公司 Publishing method for live broadcast video file, publishing client and edge streaming media server
WO2017168215A1 (en) * 2016-03-27 2017-10-05 Aniview Ltd. A system and methods for dynamically generating animated gif files for delivery via the network
CN107682465A (en) * 2017-06-24 2018-02-09 平安科技(深圳)有限公司 Domain name mapping device, method and computer-readable recording medium
CN107846613A (en) * 2016-09-18 2018-03-27 中兴通讯股份有限公司 Video acquiring method, platform and system, terminal, scheduling and cache subsystem

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170142196A1 (en) * 2015-11-17 2017-05-18 Le Holdings (Beijing) Co., Ltd. Method and apparatus for selecting source server

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008016695A3 (en) * 2006-08-02 2008-11-27 Vusion Inc Improved distribution of content and advertisement
CN101631133A (en) * 2008-07-15 2010-01-20 华为技术有限公司 Domain name analyzing system, equipment and method
EP2416572A4 (en) * 2009-03-31 2012-02-08 Huawei Tech Co Ltd Method and apparatus for obtaining address of video transmission management server
CN102404378A (en) * 2010-09-07 2012-04-04 成都索贝数码科技股份有限公司 Streaming media distribution and transmission network system
CN103188574A (en) * 2011-12-28 2013-07-03 华为技术有限公司 Method and system for transmitting network video
CN105656876A (en) * 2015-11-26 2016-06-08 乐视云计算有限公司 Live video play method, device and system
CN105872577A (en) * 2015-12-01 2016-08-17 乐视云计算有限公司 Method, device and system for obtaining video data
WO2017168215A1 (en) * 2016-03-27 2017-10-05 Aniview Ltd. A system and methods for dynamically generating animated gif files for delivery via the network
CN107846613A (en) * 2016-09-18 2018-03-27 中兴通讯股份有限公司 Video acquiring method, platform and system, terminal, scheduling and cache subsystem
CN106453328A (en) * 2016-10-18 2017-02-22 乐视控股(北京)有限公司 Publishing method for live broadcast video file, publishing client and edge streaming media server
CN107682465A (en) * 2017-06-24 2018-02-09 平安科技(深圳)有限公司 Domain name mapping device, method and computer-readable recording medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于分布式的网络爬虫系统的研究与实现;荣晗;《中国优秀硕士学位论文全文数据库》;20180215;全文 *

Also Published As

Publication number Publication date
CN110913270A (en) 2020-03-24

Similar Documents

Publication Publication Date Title
US9699161B2 (en) Authentication mechanism
CN108494860B (en) WEB access system, WEB access method and device for client
CN110913270B (en) Live broadcasting method and device
CN112637287B (en) Load balancing method and equipment
CN110377440B (en) Information processing method and device
CN111432001B (en) Method, apparatus, electronic device and computer readable medium for jumping scenes
CN111694757A (en) Application program testing method and device, electronic equipment and computer readable storage medium
CN111246228B (en) Method, device, medium and electronic equipment for updating gift resources of live broadcast room
CN113254105B (en) Resource processing method and device, storage medium and electronic equipment
CN113507517A (en) Screen projection equipment discovery method and device, electronic equipment and storage medium
CN112953791B (en) Network detection method and device, electronic equipment and computer readable storage medium
CN109640176B (en) Method and apparatus for generating information
CN110781373A (en) List updating method and device, readable medium and electronic equipment
CN114071544B (en) Network testing method and device and electronic equipment
CN114938395A (en) Service response method, device, equipment and storage medium
CN108764866B (en) Method and equipment for allocating resources and drawing resources
CN109471713B (en) Method and device for inquiring information
CN113726801A (en) AB experiment method, device, equipment and medium applied to server
CN112367241A (en) Message generation and message transmission method, device, equipment and computer readable medium
CN110913027B (en) Domain name resolution method and device
CN112040328B (en) Data interaction method and device and electronic equipment
CN111212296B (en) Live broadcast room gift list configuration method, device, medium and electronic equipment
CN114827682A (en) Screen projection method, system, equipment and storage medium
CN111367592B (en) Information processing method and device
CN110061907B (en) Method and equipment for drawing resources and distributing resources

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