CN114598897A - Live scheduling method, device and readable medium - Google Patents
Live scheduling method, device and readable medium Download PDFInfo
- Publication number
- CN114598897A CN114598897A CN202210192767.3A CN202210192767A CN114598897A CN 114598897 A CN114598897 A CN 114598897A CN 202210192767 A CN202210192767 A CN 202210192767A CN 114598897 A CN114598897 A CN 114598897A
- Authority
- CN
- China
- Prior art keywords
- scheduling
- live video
- target live
- playing
- target
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 239000002699 waste material Substances 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/262—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
- H04N21/26208—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
- H04N21/26216—Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/64—Addressing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Transfer Between Computers (AREA)
Abstract
The embodiment of the application provides a live broadcast scheduling method, live broadcast scheduling equipment and a readable medium. The method comprises the following steps: receiving a playing request of a client, and determining a target live broadcast video according to the playing request; under the condition that the target live video meets the scheduling condition, determining a destination address of the target live video corresponding to scheduling; and feeding back the destination address to the client so that the client requests the target live video again according to the destination address. The condition that the edge node requests the video from the upper-layer node can be reduced, and the waste of bandwidth in the system is reduced.
Description
Technical Field
The present application relates to the field of computer technologies, and in particular, to a live broadcast scheduling method, a terminal device, and a machine-readable medium.
Background
With the development of technology, more and more platforms provide live broadcast services. The live broadcast platform generally adopts a distributed system to provide live broadcast service, and when a user watches live broadcast, the user is provided with video data of live broadcast video through edge nodes.
However, if the video data requested by the user is not available at the edge node, the edge node needs to request to the previous node, and may even request to the source of the live video. This video feed back process affects the bandwidth of the system and may affect the system's service for live broadcast.
Disclosure of Invention
The embodiment of the application provides a live scheduling method to reduce the influence of live scheduling on a system.
Correspondingly, the embodiment of the application also provides electronic equipment and a machine readable medium, which are used for ensuring the realization and the application of the method.
In order to solve the above problem, an embodiment of the present application discloses a live broadcast scheduling method, where the method includes:
receiving a playing request of a client, and determining a target live broadcast video according to the playing request;
under the condition that the target live video meets the scheduling condition, determining a destination address of the target live video corresponding to scheduling;
and feeding back the destination address to the client so that the client requests the target live video again according to the destination address.
Optionally, the method further includes: acquiring log data;
and judging whether the target live video meets scheduling conditions or not according to the log data.
Optionally, the determining, according to the log data, whether the target live video meets a scheduling condition includes:
determining the playing quantity corresponding to the target live video according to the log data;
comparing the playing number with a playing threshold value;
when the playing quantity is larger than the playing threshold value, judging that the target live video does not meet the scheduling condition;
and when the playing quantity is less than or equal to the playing threshold value, judging that the target live video meets the scheduling condition.
Optionally, determining a destination address of the target live video corresponding to the scheduling when the target live video meets the scheduling condition includes:
sending a scheduling request under the condition that the target live video meets the scheduling condition;
and receiving a destination address corresponding to the scheduling of the target live video.
Optionally, the method further includes: receiving a live video list, wherein the live video in the live video list is live video with the playing quantity larger than a playing threshold value;
if the target live video is in the live video list, judging that the target live video does not meet a scheduling condition;
and if the target live video is not in the live video list, judging that the target live video meets the scheduling condition.
Optionally, before sending the scheduling request, the method further includes:
whether the scheduling is executed or not is detected, and if the scheduling is executed, the scheduling request is triggered to be sent.
The embodiment of the application also discloses a live broadcast scheduling method, which comprises the following steps:
receiving a scheduling request, and determining a scheduled target live video;
analyzing the playing address of the target live video to determine a scheduled target address;
and transmitting the scheduled target address.
Optionally, analyzing the play address of the target live broadcast video to determine the scheduled target address includes:
calculating a hash value of a playing address of the target live video;
determining an edge node corresponding to the target live video according to the hash value;
and determining the playing address of the target live broadcast video in the edge node as a scheduled target address.
Optionally, the determining, according to the hash value, an edge node corresponding to the target live video includes:
determining the number of edge nodes of the designated area;
and determining edge nodes corresponding to the target live video in the edge nodes of the designated area according to the number of the edge nodes and the hash value.
Optionally, analyzing the play address of the target live broadcast video to determine a scheduled target address, further includes:
inquiring a scheduling list by using the playing address of the target live video;
if the playing address is inquired in the inquiry scheduling list, acquiring a destination address of scheduling corresponding to the playing address;
and if the playing address is not inquired in the inquiry scheduling list, executing the step of calculating the hash value of the playing address of the target live video.
The embodiment of the application also discloses an electronic device, which comprises: a processor; and a memory having executable code stored thereon that, when executed, causes the processor to perform a method as described in embodiments of the present application.
One or more machine-readable media having stored thereon executable code that, when executed, causes a processor to perform a method as described in embodiments of the present application are also disclosed.
Compared with the prior art, the embodiment of the application has the following advantages:
in the embodiment of the application, when a client requests a target live video, if the target live video meets a scheduling condition, the target live video can be scheduled, so that a destination address corresponding to scheduling of the target live video can be determined, and the destination address is fed back to the client, so that the client requests the target live video again according to the destination address, thereby reducing the situation that an edge node requests a video from an upper node and reducing the waste of bandwidth in a system.
Drawings
Fig. 1 is a schematic diagram of an example of a live system according to an embodiment of the present application;
fig. 2 is a flowchart illustrating steps of an embodiment of a live scheduling method according to the present application;
fig. 3 is a flow chart of steps of another embodiment of a live scheduling method of the present application;
fig. 4 is an interaction diagram of an embodiment of a live scheduling method according to the present application;
fig. 5 is a flow chart of steps of an alternative embodiment of a live scheduling method of the present application;
fig. 6 is a flow chart of steps of another alternative embodiment of a live scheduling method of the present application;
fig. 7 is a schematic structural diagram of an apparatus according to an embodiment of the present application.
Detailed Description
In order to make the aforementioned objects, features and advantages of the present application more comprehensible, the present application is described in further detail with reference to the accompanying drawings and the detailed description.
The embodiment of the application can be applied to a live scene, and a distributed system is adopted to provide live service. In order to provide live broadcast service more conveniently, the problems that a next layer node in a system requests video data to an upper layer node, the bandwidth is occupied and the like are solved. The embodiment of the application can realize scheduling among the edge nodes in the same layer.
In a live broadcast system shown in fig. 1, a live broadcast data service is provided for a user equipment through an edge node, where the live broadcast data service includes an edge node 1, an edge node 2 … …, and the user equipment includes a user equipment 1 and a user equipment 2. The live broadcast system also comprises a management server, and the management server at least comprises the following functions: the control function, the log function, and the scheduling function may further include other management functions such as stream pushing, which is not limited in this embodiment of the present application. The above-described management functions may be provided in one server, or may be provided in different servers or server clusters. As an example, the different servers in fig. 1 include a control server, a log server and a scheduling server.
The control server can manage and control the playing of the live video in the live system, including determining the number of people watching the live video, the popularity of the live video and the like. The log server is used for recording logs of the live broadcast system, including related logs of live broadcast video playing, logs of live broadcast watched by users and the like. The respective control server may determine relevant information of the live video based on the log. The scheduling server is used for scheduling the live video, for example, scheduling a user request among different edge nodes, and the like, and can also obtain a log from the log server to determine the playing condition of the video.
The method comprises the steps that a user can use user equipment to access a live broadcast system to watch live broadcast video data, a live broadcast client is started on the user equipment, the client can display a live broadcast page, the user can select a live broadcast video to be watched from the live broadcast page and generate a corresponding playing request to a server, and an edge node of the live broadcast server processes the request of the user.
Referring to fig. 2, a flowchart illustrating steps of an embodiment of a live scheduling method of the present application is shown.
In a live broadcast system, an edge node closest to a user provides a service for the user, and a corresponding edge node receives a play request of a client, and can acquire a target live broadcast video to be requested from the play request, for example, the target live broadcast video can be determined based on a video identifier, a play address, and the like.
The edge node analyzes the target live video to determine whether scheduling needs to be executed, and determines a destination address of scheduling corresponding to the target live video when the target live video meets scheduling conditions. The scheduling condition is a condition for scheduling the live video, and can be determined according to the playing condition of the live video, and the live video meeting the scheduling condition is scheduled to other edge nodes to provide services.
In an alternative embodiment, log data is obtained; and judging whether the target live video meets scheduling conditions or not according to the log data. The log data may be obtained from a log server and then analyzed to determine whether the target live video meets scheduling conditions. The log can determine the watching amount (or playing amount) of the live video data, and the like, and in a live scene, the watching amount (or playing amount) of the live video refers to the number of clients watching the live video. The playing condition of the live video can be determined according to the number of users watching the live video (the number of online users) or the playing amount of the live video, and whether the target live video meets the scheduling condition can be judged according to the playing condition of the live video.
Wherein, the judging whether the target live video meets the scheduling condition according to the log data comprises: determining the playing quantity corresponding to the target live video according to the log data; comparing the playing number with a playing threshold value; when the playing quantity is larger than the playing threshold value, judging that the target live video does not meet the scheduling condition; and when the playing quantity is less than or equal to the playing threshold value, judging that the target live video meets the scheduling condition. The playing quantity corresponding to the target live video can be determined through the live data, the playing quantity can be the current online user quantity of the live video, a playing threshold value can be set, the playing threshold value is a threshold value for measuring the playing condition of the live video, therefore, the playing quantity can be compared with the playing threshold value, when the playing quantity is larger than the playing threshold value, the heat degree of the target video data is considered to be higher, namely more users watch, the corresponding live streaming of the target video data can be called as heat flow, and therefore the target live video does not meet the scheduling condition. In contrast, when the playing number is less than or equal to the playing threshold, the target video data is considered to be less hot, that is, less users are watching, and the corresponding live stream of the target video data may be called a cold stream, so that the target live video satisfies the scheduling condition.
In other scenes, the control server can acquire log data from the log server, so that the cold and hot conditions of the live stream can be counted in real time, and certainly, the cold and hot conditions of the live stream can also be counted in real time by the log system, and then the cold and hot conditions of the live stream are fed back to the control server. The control server can then determine live video data belonging to the hot stream based on the cold and hot conditions of the live stream, and generate a live video list based on the live video data. The judgment of the cold and hot conditions of the live streaming can adopt a mode of comparing the playing quantity with a playing threshold value, correspondingly belongs to live video data of heat flow, and the playing quantity is greater than the playing threshold value, namely, the live video in the live video list is the live video of which the playing quantity is greater than the playing threshold value. The control server may send a list of live videos to each edge node. Therefore, in an optional embodiment, a live video list is received, and live videos in the live video list are live videos of which the playing quantity is greater than a playing threshold value; the edge node can also directly judge whether the target live video meets the scheduling condition based on the live video list. If the target live video is in the live video list, judging that the target live video does not meet a scheduling condition; and if the target live video is not in the live video list, judging that the target live video meets the scheduling condition.
For example, the client of the user equipment 2 sends a play request to the edge node 2, and the edge node 2 determines that the target live video requested by the edge node 2 meets the scheduling condition, and may request a scheduling destination address from the scheduling server.
And 204, determining a destination address of the corresponding scheduling of the target live video under the condition that the target live video meets the scheduling condition.
The target live video satisfying the scheduling condition is live video with a small number of watched by the user, and therefore, video data of the target live video is not available on all edge nodes. In order to avoid that the edge node does not have the video data of the target live video, the data needs to be requested to the upper-layer node, and the internal bandwidth of the system is occupied. Therefore, the cold-flow target live video can be uniformly dispatched to the designated edge node, so that the address of the target video data on the designated edge node can be determined as the destination address, and the target live video can be dispatched to the destination address.
In an optional embodiment, in a case that the target live video meets a scheduling condition, determining a destination address of a schedule corresponding to the target live video includes: sending a scheduling request under the condition that the target live video meets the scheduling condition; and receiving a destination address of the corresponding scheduling of the target live video. The scheduling of the live video can be executed by the scheduling server, so that the edge node can send a scheduling request to the scheduling server, the scheduling server determines the destination address of the target live video scheduling, and then the destination address of the target live video scheduling is sent to the edge node, and the destination address of the target live video corresponding to the scheduling can be received.
In the embodiment of the application, in order to ensure the quality of the live video, a scheduling time period can be set, wherein the scheduling time period is a time period allowing video scheduling, and the scheduling time period can be set by the management server and then issued to the edge node, so that the edge node can detect whether the video is in the scheduling execution time period, and if the video is in the scheduling execution time period, the edge node triggers the sending of the scheduling request. The edge node can detect whether the current time is in the time period for executing the scheduling, and if so, the edge node triggers the sending of the scheduling request so as to schedule the video data. If not within the time period for performing scheduling, the video data of the target video may be requested to the upper node.
And step 206, feeding the destination address back to the client, so that the client can request the target live video again according to the destination address.
The edge node can feed the destination address back to the client, so that the client can resend the playing request based on the destination address and send the request to the specified edge node where the destination address is located, and the video data of the target live video is obtained. As described above, the scheduling service analyzes and then determines that the edge node 1 provides the service, and determines the corresponding destination address. The edge node 2 receives the destination address sent by the scheduling server, and can send the destination address to the user equipment 2, so that the client of the user equipment 2 receives the destination address and then requests the edge node 1 for live video.
On the basis of the foregoing embodiment, the scheduling server may perform scheduling of live video data for cold streams, which may specifically be implemented by the following steps:
referring to fig. 3, a flow chart of steps of another embodiment of a live scheduling method of the present application is shown.
The scheduling server may receive a scheduling request of the edge node, determine a target live video from the scheduling request, and determine the target live video based on a video identifier, a source play address of the target live video, and the like.
And 304, analyzing the playing address of the target live broadcast video, and determining a scheduled target address.
The scheduling server can analyze the playing address of the target live broadcast video, and the playing address can be a source playing address of the target live broadcast video, namely an address for uploading the target live broadcast video to a source station. The designated edge node to be scheduled for the target live video can be analyzed based on the play address, and a corresponding scheduled target address is determined.
In an optional embodiment, the analyzing the playing address of the target live video and determining the scheduled target address includes: calculating a hash value of a playing address of the target live video; determining an edge node corresponding to the target live video according to the hash value; and determining the playing address of the target live broadcast video in the edge node as a scheduled target address. A hash algorithm may be used, a hash value may be calculated by using a play address of a target live video, an edge node corresponding to and designated by the target live video may be determined based on the hash value, and then the play address of the target live video in the edge node is determined as a scheduled target address. Determining an edge node corresponding to the target live video according to the hash value includes: determining the number of edge nodes of the designated area; and determining edge nodes corresponding to the target live video in the edge nodes of the designated area according to the number of the edge nodes and the hash value. The edge nodes generally have regional characteristics, for example, a plurality of edge nodes are arranged in a region such as province and city to provide services, so that scheduling can be performed in the region, the number of the edge nodes in the designated region can be determined, the hash value of the target live video is left according to the number of the edge nodes to obtain a corresponding calculation result, and the edge node corresponding to the target live video is determined in the edge nodes in the designated region according to the numerical value of the calculation result. If the edge nodes in the designated area can be numbered, the numerical value of the residue result determines that the corresponding number is the edge node designated by the dispatching, and the destination address of the target video data at the edge node is determined.
In the embodiment of the application, sometimes, the edge nodes may have a fault and other reasons, which may result in that services cannot be provided, in this case, the number of the edge nodes may change, and in order to ensure the stability of scheduling, the virtual nodes may be determined based on a hash ring and other manners, and the calculation may be performed based on the virtual nodes, so as to ensure the stability of the calculation result.
In other scenarios, after the destination address of the schedule is determined, the playing address of the target video and the destination address of the schedule can be put into a schedule list, so that the schedule list can be directly queried for the target live video with the destination address determined. Therefore, analyzing the playing address of the target live broadcast video to determine the scheduled target address further includes: inquiring a scheduling list by using the playing address of the target live video; if the playing address is inquired in the inquiry scheduling list, acquiring a destination address of scheduling corresponding to the playing address; and if the playing address is not inquired in the inquiry scheduling list, executing the step of calculating the hash value of the playing address of the target live video.
After the scheduled destination address is determined, the destination address can be sent to the requested edge node, so that the target live broadcast video is scheduled to be played. The method and the system have the advantages that the scheduled target address is returned to the client side so as to be scheduled, the method and the system can be realized based on corresponding protocols, various protocol scenes can be supported, and the protocols can be expanded so as to realize the method. The method can be applied to playing of protocols such as hypertext Transfer Protocol (HTTP) and the like, and can also be applied to scenes such as short-delay live broadcast and the like, such as Real-Time Communications (RTC) playing and the like.
In summary, when a client requests a target live video, if the target live video meets a scheduling condition, the target live video can be scheduled, so that a destination address of the target live video corresponding to scheduling can be determined, and the destination address is fed back to the client, so that the client re-requests the target live video according to the destination address, thereby reducing a situation that an edge node requests a video from an upper node and reducing waste of bandwidth in a system.
On the basis of the embodiment, the hit rate of live broadcast can be improved through scheduling. The hit rate of live broadcast refers to the probability of hitting live broadcast video by an edge node of live broadcast service. Wherein, the hit rate of live broadcast is (play bandwidth-back source bandwidth)/play bandwidth. The play bandwidth refers to the bandwidth of the current external service of the node. Back source bandwidth refers to the bandwidth that the node pulls the real-time media stream towards an upstream node or source station. If the node does not carry out scheduling, when the node does not have the video stream of the target live video, the video stream needs to be pulled to the upper side, and if the node on the upper layer does not have the video stream, the node needs to continue to return to the source station of the target live video, so that the video stream is obtained. The bandwidth in the system is occupied in the process of pulling up the video stream, and the system corresponds to other live broadcasts. By the mode, the video stream is not pulled back to the source upwards, but is directly scheduled to other nodes, so that the bandwidth in the system is not occupied.
On the basis of the above embodiment, the embodiment of the present application further provides a live broadcast scheduling method, which implements scheduling of cold-streaming live broadcast video in a live broadcast system.
Referring to fig. 4, an interaction diagram of a live scheduling method according to an embodiment of the present application is shown.
In step 402, the client sends a play request to the first edge node.
A user logs in a client on user equipment, a live broadcast page is displayed, a live broadcast video which the user wants to watch can be selected, and a playing request can be generated.
And step 404, the first edge node determines a target live video according to the playing request.
In step 406, the first edge node sends a log request to the log server.
In step 408, the log server returns log data.
And step 410, judging whether the target live video meets scheduling conditions or not according to the log data.
Determining the playing quantity corresponding to the target live video according to the log data; comparing the playing number with a playing threshold value; when the playing quantity is larger than the playing threshold value, judging that the target live video does not meet the scheduling condition; and when the playing quantity is less than or equal to the playing threshold value, judging that the target live video meets the scheduling condition.
Step 412, sending a scheduling request to a scheduling server when the target live video meets the scheduling condition.
In step 414, the scheduling server determines the scheduled target live video.
Step 416, the scheduling server analyzes the playing address of the target live broadcast video, and determines a scheduled target address.
Calculating a hash value of a playing address of the target live broadcast video; determining an edge node corresponding to the target live video according to the hash value; and determining the playing address of the target live broadcast video in the edge node as a scheduled target address.
The determining the edge node corresponding to the target live video according to the hash value includes: determining the number of edge nodes of the designated area; and determining edge nodes corresponding to the target live video in the edge nodes of the designated area according to the number of the edge nodes and the hash value.
Analyzing the playing address of the target live broadcast video to determine a scheduled target address, further comprising: inquiring a scheduling list by using the playing address of the target live video; if the playing address is inquired in the inquiry scheduling list, acquiring a destination address of scheduling corresponding to the playing address; and if the playing address is not inquired in the inquiry scheduling list, executing the step of calculating the hash value of the playing address of the target live video.
In step 418, the dispatch server sends the dispatched target address to the first edge node.
Step 420, the first edge node feeds back the destination address to the client.
In step 422, the client sends a play request to the second edge node according to the destination address.
Step 424, the second edge node sends the video stream of the target live video to the client.
And step 426, the client analyzes the video stream and plays the target live video.
Therefore, live video needing to be scheduled can be scheduled to other nearby edge nodes to provide services, and the occupation of the internal bandwidth of the system is reduced.
Referring to fig. 5, a flowchart illustrating steps of an alternative embodiment of a live scheduling method of the present application is shown.
And if the scheduling request is triggered to be sent in the scheduling execution time period, the scheduling request is sent.
If so, go to step 510, otherwise, go to step 512.
And step 510, judging that the target live video does not meet the scheduling condition.
And when the playing quantity is larger than the playing threshold value, judging that the target live video does not meet the scheduling condition. The process can be ended, and the video stream of the target live video can be directly sent to the client.
And step 512, the target live video meets the scheduling condition.
And when the playing quantity is less than or equal to the playing threshold value, judging that the target live video meets the scheduling condition.
Receiving a live video list, wherein the live video in the live video list is live video with the playing quantity larger than a playing threshold value; if the target live video is in the live video list, judging that the target live video does not meet a scheduling condition; and if the target live video is not in the live video list, judging that the target live video meets the scheduling condition.
And 516, receiving a destination address corresponding to the scheduling of the target live video.
Referring to fig. 6, a flow chart of steps of an alternative embodiment of a live scheduling method of the present application is shown.
And step 604, inquiring a scheduling list by using the playing address of the target live video.
If the play address is found in the query schedule list, step 612 is executed, and if the play address is not found in the query schedule list, step 606 is executed.
At step 608, the number of edge nodes of the specified area is determined.
And step 610, determining edge nodes corresponding to the target live broadcast video in the edge nodes of the designated area according to the number of the edge nodes and the hash value.
In summary, the embodiment of the application can effectively improve the hit rate of live broadcast and save the cost of the back source bandwidth in the live broadcast system without affecting the quality by combining the means of scheduling, time-wise control, stream pushing and the like based on various attributes of the live broadcast system, such as cold and hot streams, live broadcast quality and the like. And, applications in various live scenes can be supported.
It should be noted that, for simplicity of description, the method embodiments are described as a series of acts or combination of acts, but those skilled in the art will recognize that the embodiments are not limited by the order of acts described, as some steps may occur in other orders or concurrently depending on the embodiments. Further, those skilled in the art will also appreciate that the embodiments described in the specification are presently preferred and that no particular act is required of the embodiments of the application.
On the basis of the foregoing embodiments, this embodiment further provides a live broadcast scheduling apparatus, which is applied to an electronic device of a server device (cluster), such as an edge node.
The playing receiving module is used for receiving a playing request of a client and determining a target live video according to the playing request;
the scheduling module is used for determining a destination address of the corresponding scheduling of the target live video under the condition that the target live video meets the scheduling condition;
and the playing feedback module is used for feeding the destination address back to the client so that the client requests the target live video again according to the destination address.
The scheduling module is also used for acquiring log data; and judging whether the target live video meets scheduling conditions or not according to the log data.
In summary, when a client requests a target live video, if the target live video meets a scheduling condition, the target live video can be scheduled, so that a destination address of the target live video corresponding to scheduling can be determined, and the destination address is fed back to the client, so that the client re-requests the target live video according to the destination address, thereby reducing a situation that an edge node requests a video from an upper node and reducing waste of bandwidth in a system.
The scheduling module is used for determining the playing quantity corresponding to the target live video according to the log data; comparing the playing number with a playing threshold value; when the playing quantity is larger than the playing threshold value, judging that the target live video does not meet the scheduling condition; and when the playing quantity is less than or equal to the playing threshold value, judging that the target live video meets the scheduling condition.
The scheduling module is used for sending a scheduling request under the condition that the target live video meets a scheduling condition; and receiving a destination address corresponding to the scheduling of the target live video.
The scheduling module is further configured to receive a live video list, where live videos in the live video list are live videos whose playing number is greater than a playing threshold; if the target live video is in the live video list, judging that the target live video does not meet a scheduling condition; and if the target live video is not in the live video list, judging that the target live video meets the scheduling condition.
The scheduling module is further configured to detect whether the scheduling is performed within a scheduling time period, and if the scheduling is performed within the scheduling time period, trigger sending of a scheduling request.
On the basis of the foregoing embodiments, this embodiment further provides a live scheduling apparatus, which is applied to an electronic device of a server device (cluster), such as a scheduling server.
And the scheduling receiving module is used for receiving the scheduling request and determining the scheduled target live video.
And the scheduling analysis module is used for analyzing the playing address of the target live broadcast video and determining a scheduled target address.
And the scheduling feedback module is used for sending the scheduled target address.
The scheduling analysis module is used for calculating a hash value of a playing address of the target live broadcast video; determining an edge node corresponding to the target live video according to the hash value; and determining the playing address of the target live broadcast video in the edge node as a scheduled target address.
The scheduling analysis module is used for determining the number of edge nodes of the designated area; and determining edge nodes corresponding to the target live video in the edge nodes of the designated area according to the number of the edge nodes and the hash value.
The scheduling analysis module is further configured to query a scheduling list by using the playing address of the target live video; if the playing address is inquired in the inquiry scheduling list, acquiring a destination address of scheduling corresponding to the playing address; and if the playing address is not inquired in the inquiry scheduling list, executing the step of calculating the hash value of the playing address of the target live video.
In summary, the embodiment of the application can effectively improve the hit rate of live broadcast and save the cost of the back source bandwidth in the live broadcast system without affecting the quality by combining the means of scheduling, time-wise control, stream pushing and the like based on various attributes of the live broadcast system, such as cold and hot streams, live broadcast quality and the like. And, applications in various live scenes can be supported.
The present application further provides a non-transitory, readable storage medium, where one or more modules (programs) are stored, and when the one or more modules are applied to a device, the device may execute instructions (instructions) of method steps in this application.
Embodiments of the present application provide one or more machine-readable media having instructions stored thereon, which when executed by one or more processors, cause an electronic device to perform the methods as described in one or more of the above embodiments. In the embodiment of the present application, the electronic device includes various types of devices such as a terminal device and a server (cluster).
Embodiments of the present disclosure may be implemented as an apparatus, which may include electronic devices such as a terminal device, a server (cluster), etc. within a data center, using any suitable hardware, firmware, software, or any combination thereof, in a desired configuration. Fig. 7 schematically illustrates an example apparatus 700 that may be used to implement various embodiments described herein.
For one embodiment, fig. 7 illustrates an exemplary apparatus 700 having one or more processors 702, a control module (chipset) 704 coupled to at least one of the processor(s) 702, a memory 706 coupled to the control module 704, a non-volatile memory (NVM)/storage 708 coupled to the control module 704, one or more input/output devices 710 coupled to the control module 704, and a network interface 712 coupled to the control module 704.
The processor 702 may include one or more single-core or multi-core processors, and the processor 702 may include any combination of general-purpose or special-purpose processors (e.g., graphics processors, application processors, baseband processors, etc.). In some embodiments, the apparatus 700 can be used as a terminal device, a server (cluster), or the like in the embodiments of the present application.
In some embodiments, the apparatus 700 may include one or more computer-readable media (e.g., the memory 706 or the NVM/storage 708) having instructions 714 and one or more processors 702 in combination with the one or more computer-readable media configured to execute the instructions 714 to implement modules to perform the actions described in this disclosure.
For one embodiment, control module 704 may include any suitable interface controllers to provide any suitable interface to at least one of processor(s) 702 and/or any suitable device or component in communication with control module 704.
The control module 704 may include a memory controller module to provide an interface to the memory 706. The memory controller module may be a hardware module, a software module, and/or a firmware module.
The memory 706 may be used, for example, to load and store data and/or instructions 714 for the apparatus 700. For one embodiment, memory 706 may comprise any suitable volatile memory, such as suitable DRAM. In some embodiments, the memory 706 may comprise a double data rate type four synchronous dynamic random access memory (DDR4 SDRAM).
For one embodiment, control module 704 may include one or more input/output controllers to provide an interface to NVM/storage 708 and input/output device(s) 710.
For example, NVM/storage 708 may be used to store data and/or instructions 714. NVM/storage 708 may include any suitable non-volatile memory (e.g., flash memory) and/or may include any suitable non-volatile storage device(s) (e.g., one or more hard disk drive(s) (HDD (s)), one or more Compact Disc (CD) drive(s), and/or one or more Digital Versatile Disc (DVD) drive (s)).
NVM/storage 708 may include storage resources that are physically part of the device on which apparatus 700 is installed, or it may be accessible by the device and need not be part of the device. For example, NVM/storage 708 may be accessible over a network via input/output device(s) 710.
Input/output device(s) 710 may provide an interface for apparatus 700 to communicate with any other suitable device, input/output device(s) 710 may include communication components, audio components, sensor components, and so forth. Network interface 712 may provide an interface for device 700 to communicate over one or more networks, and device 700 may communicate wirelessly with one or more components of a wireless network according to any of one or more wireless network standards and/or protocols, such as access to a communication standard-based wireless network, such as WiFi, 2G, 3G, 4G, 5G, etc., or a combination thereof.
For one embodiment, at least one of the processor(s) 702 may be packaged together with logic for one or more controller(s) (e.g., memory controller module) of control module 704. For one embodiment, at least one of the processor(s) 702 may be packaged together with logic for one or more controllers of control module 704 to form a System In Package (SiP). For one embodiment, at least one of the processor(s) 702 may be integrated on the same die with logic for one or more controller(s) of control module 704. For one embodiment, at least one of the processor(s) 702 may be integrated on the same die with logic for one or more controllers of control module 704 to form a system on a chip (SoC).
In various embodiments, the apparatus 700 may be, but is not limited to being: a server, a desktop computing device, or a mobile computing device (e.g., a laptop computing device, a handheld computing device, a tablet, a netbook, etc.), among other terminal devices. In various embodiments, apparatus 700 may have more or fewer components and/or different architectures. For example, in some embodiments, device 700 includes one or more cameras, a keyboard, a Liquid Crystal Display (LCD) screen (including a touch screen display), a non-volatile memory port, multiple antennas, a graphics chip, an Application Specific Integrated Circuit (ASIC), and speakers.
The detection device can adopt a main control chip as a processor or a control module, sensor data, position information and the like are stored in a memory or an NVM/storage device, a sensor group can be used as an input/output device, and a communication interface can comprise a network interface.
For the device embodiment, since it is basically similar to the method embodiment, the description is simple, and for the relevant points, refer to the partial description of the method embodiment.
The embodiments in the present specification are described in a progressive manner, each embodiment focuses on differences from other embodiments, and the same and similar parts among the embodiments are referred to each other.
Embodiments of the present application are described with reference to flowchart illustrations and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing terminal to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing terminal to cause a series of operational steps to be performed on the computer or other programmable terminal to produce a computer implemented process such that the instructions which execute on the computer or other programmable terminal provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present application have been described, additional variations and modifications of these embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including the preferred embodiment and all such alterations and modifications as fall within the true scope of the embodiments of the application.
Finally, it should also be noted that, herein, relational terms such as first and second, and the like may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or terminal that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or terminal. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or terminal that comprises the element.
The live broadcast scheduling method, the terminal device and the machine-readable medium provided by the present application are introduced in detail, and a specific example is applied in the present application to explain the principle and the implementation of the present application, and the description of the above embodiment is only used to help understand the method and the core idea of the present application; meanwhile, for a person skilled in the art, according to the idea of the present application, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present application.
Claims (10)
1. A live scheduling method, the method comprising:
receiving a playing request of a client, and determining a target live broadcast video according to the playing request;
under the condition that the target live video meets the scheduling condition, determining a destination address of the target live video corresponding to scheduling;
and feeding back the destination address to the client so that the client requests the target live video again according to the destination address.
2. The method of claim 1, further comprising:
acquiring log data;
and judging whether the target live video meets scheduling conditions or not according to the log data.
3. The method of claim 2, wherein the determining whether the target live video meets a scheduling condition according to the log data comprises:
determining the playing quantity corresponding to the target live video according to the log data;
comparing the playing number with a playing threshold value;
when the playing quantity is larger than the playing threshold value, judging that the target live video does not meet the scheduling condition;
and when the playing quantity is less than or equal to the playing threshold value, judging that the target live video meets the scheduling condition.
4. The method of claim 1, wherein determining a destination address of a corresponding schedule of the target live video in a case that the target live video meets a schedule condition comprises:
sending a scheduling request under the condition that the target live video meets the scheduling condition;
and receiving a destination address corresponding to the scheduling of the target live video.
5. The method of claim 4, wherein prior to sending the scheduling request, further comprising:
and detecting whether the scheduling is performed in a time period, and if so, triggering and sending a scheduling request.
6. A live scheduling method, the method comprising:
receiving a scheduling request, and determining a scheduled target live video;
analyzing the playing address of the target live video to determine a scheduled target address;
and transmitting the scheduled target address.
7. The method of claim 6, wherein analyzing the playing address of the target live video to determine a scheduled target address comprises:
calculating a hash value of a playing address of the target live video;
determining an edge node corresponding to the target live video according to the hash value;
and determining the playing address of the target live broadcast video in the edge node as a scheduled target address.
8. The method according to claim 7, wherein the determining an edge node corresponding to the target live video according to the hash value includes:
determining the number of edge nodes of the designated area;
and determining edge nodes corresponding to the target live video in the edge nodes of the designated area according to the number of the edge nodes and the hash value.
9. An electronic device, comprising: a processor; and
a memory having executable code stored thereon that, when executed, causes the processor to perform the method of any of claims 1-8.
10. One or more machine-readable media having executable code stored thereon that, when executed, causes a processor to perform the method of any of claims 1-8.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210192767.3A CN114598897A (en) | 2022-02-28 | 2022-02-28 | Live scheduling method, device and readable medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210192767.3A CN114598897A (en) | 2022-02-28 | 2022-02-28 | Live scheduling method, device and readable medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114598897A true CN114598897A (en) | 2022-06-07 |
Family
ID=81815617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210192767.3A Pending CN114598897A (en) | 2022-02-28 | 2022-02-28 | Live scheduling method, device and readable medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114598897A (en) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105656876A (en) * | 2015-11-26 | 2016-06-08 | 乐视云计算有限公司 | Live video play method, device and system |
CN107317879A (en) * | 2017-08-02 | 2017-11-03 | 网宿科技股份有限公司 | The distribution method and system of a kind of user's request |
CN109067898A (en) * | 2018-08-24 | 2018-12-21 | 山东浪潮商用系统有限公司 | A method of being distributed by file hash, which reduces content distributing network fringe node, returns source rate |
CN110839049A (en) * | 2018-08-15 | 2020-02-25 | 阿里巴巴集团控股有限公司 | Data scheduling method and system based on domain name system |
CN111263171A (en) * | 2020-02-25 | 2020-06-09 | 北京达佳互联信息技术有限公司 | Live streaming media data acquisition method and edge node area networking system |
CN111614736A (en) * | 2020-04-30 | 2020-09-01 | 北京金山云网络技术有限公司 | Network content resource scheduling method, domain name scheduling server and electronic equipment |
CN112087644A (en) * | 2020-09-21 | 2020-12-15 | 北京金山云网络技术有限公司 | Pull stream request processing method, device, system, electronic equipment and storage medium |
CN112738548A (en) * | 2021-04-06 | 2021-04-30 | 北京百家视联科技有限公司 | Streaming media scheduling method, device, equipment and storage medium |
CN112929676A (en) * | 2019-12-06 | 2021-06-08 | 北京金山云网络技术有限公司 | Live data stream acquisition method, device, node and system |
WO2021164352A1 (en) * | 2020-02-20 | 2021-08-26 | 腾讯科技(深圳)有限公司 | Network live broadcast data management method and related device |
-
2022
- 2022-02-28 CN CN202210192767.3A patent/CN114598897A/en active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105656876A (en) * | 2015-11-26 | 2016-06-08 | 乐视云计算有限公司 | Live video play method, device and system |
CN107317879A (en) * | 2017-08-02 | 2017-11-03 | 网宿科技股份有限公司 | The distribution method and system of a kind of user's request |
CN110839049A (en) * | 2018-08-15 | 2020-02-25 | 阿里巴巴集团控股有限公司 | Data scheduling method and system based on domain name system |
CN109067898A (en) * | 2018-08-24 | 2018-12-21 | 山东浪潮商用系统有限公司 | A method of being distributed by file hash, which reduces content distributing network fringe node, returns source rate |
CN112929676A (en) * | 2019-12-06 | 2021-06-08 | 北京金山云网络技术有限公司 | Live data stream acquisition method, device, node and system |
WO2021164352A1 (en) * | 2020-02-20 | 2021-08-26 | 腾讯科技(深圳)有限公司 | Network live broadcast data management method and related device |
CN111263171A (en) * | 2020-02-25 | 2020-06-09 | 北京达佳互联信息技术有限公司 | Live streaming media data acquisition method and edge node area networking system |
CN111614736A (en) * | 2020-04-30 | 2020-09-01 | 北京金山云网络技术有限公司 | Network content resource scheduling method, domain name scheduling server and electronic equipment |
CN112087644A (en) * | 2020-09-21 | 2020-12-15 | 北京金山云网络技术有限公司 | Pull stream request processing method, device, system, electronic equipment and storage medium |
CN112738548A (en) * | 2021-04-06 | 2021-04-30 | 北京百家视联科技有限公司 | Streaming media scheduling method, device, equipment and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10575064B1 (en) | Systems and methods for internet video delivery | |
CN106851343B (en) | Method and device for live video | |
US10601891B2 (en) | Cloud streaming service system and cloud streaming service method for utilizing an optimal GPU for video decoding based on resource conditions, and apparatus for the same | |
WO2020192275A1 (en) | Live broadcast playback video generation method, device and apparatus | |
CN108810657B (en) | Method and system for setting video cover | |
CN111625743B (en) | Resource loading method and device and electronic equipment | |
CN107770624B (en) | Method and device for playing multimedia file in live broadcast process and storage medium | |
US11089073B2 (en) | Method and device for sharing multimedia content | |
CN102036058A (en) | Method, server, terminal and system for switching videos in video monitoring system | |
CN109168020A (en) | Method for processing video frequency, device, calculating equipment and storage medium based on live streaming | |
US20150134846A1 (en) | Method and apparatus for media segment request retry control | |
CN109089169A (en) | Live broadcast room switching method and device and storage medium | |
KR20180117163A (en) | Optimizing content distribution using models | |
CN113301397A (en) | CDN-based audio and video transmission, playing and delay detection method and device | |
CN104581340A (en) | Client-side, streaming media data receiving method and streaming media data transmission system | |
TW201445987A (en) | Transmitting information based on reading speed | |
US20230239347A1 (en) | Assisted delivery service for networks | |
CN114598897A (en) | Live scheduling method, device and readable medium | |
WO2017101363A1 (en) | Method and system for switching live video to video-on-demand | |
CN113296977B (en) | Message processing method and device | |
CN113468348A (en) | Multimedia playing method and device, electronic equipment and storage medium | |
CN116527992A (en) | Video playing resolution switching method and device | |
CN112689166A (en) | Method and system for flexibly increasing and decreasing CDN hot content in real time | |
CN114491096A (en) | Multimedia preloading method, device, equipment and storage medium | |
CN109257245B (en) | Method and equipment for flow monitoring and uploading control |
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 |