CN110418154B - Multimedia data pushing method, device and system - Google Patents

Multimedia data pushing method, device and system Download PDF

Info

Publication number
CN110418154B
CN110418154B CN201910695650.5A CN201910695650A CN110418154B CN 110418154 B CN110418154 B CN 110418154B CN 201910695650 A CN201910695650 A CN 201910695650A CN 110418154 B CN110418154 B CN 110418154B
Authority
CN
China
Prior art keywords
node
state
stream
flow
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.)
Active
Application number
CN201910695650.5A
Other languages
Chinese (zh)
Other versions
CN110418154A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910695650.5A priority Critical patent/CN110418154B/en
Publication of CN110418154A publication Critical patent/CN110418154A/en
Application granted granted Critical
Publication of CN110418154B publication Critical patent/CN110418154B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2407Monitoring of transmitted content, e.g. distribution time, number of downloads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26291Content 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 for providing content or additional data updates, e.g. updating software modules, stored at the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2743Video hosting of uploaded data from client
    • 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/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting

Abstract

The invention discloses a multimedia data pushing method, a device and a system, wherein the multimedia data pushing method comprises the following steps: determining stream storage address information matched with a target client; sending the stream storage address information to a first target stream pushing node, so that the first target stream pushing node obtains the multimedia data stream of the target client according to the stream storage address information and pushes the multimedia data stream to a streaming media server; the first target push flow node is at least one push flow node in a push flow node cluster. The method and the device can avoid the problem that the multimedia data stream cannot be pushed due to the failure of the stream pushing equipment, ensure the live broadcast effect in the live broadcast scene and the quality and stability of the live broadcast service, and are convenient for managing and monitoring the multimedia data stream.

Description

Multimedia data pushing method, device and system
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a method, an apparatus, and a system for pushing multimedia data.
Background
With the development of internet technology, the live webcast platform is applied, and different users can directly communicate and interact online in real time in a comprehensive manner through the live webcast platform.
In the related art, a client of a user directly interacts with a stream pushing device, and a multimedia data stream such as a live data stream is pushed to a streaming media server through the stream pushing device. Obviously, this kind of plug flow mode has very big risk, in case the plug flow equipment breaks down will lead to the unable propelling movement of multimedia data stream, to the scene that is living the broadcast, will unable guarantee live broadcast effect, and the quality and the stability of live broadcast service are all relatively poor. In addition, the stream pushing method is not convenient for managing the multimedia data stream.
Disclosure of Invention
In order to solve the problems in the prior art, embodiments of the present invention provide a method, an apparatus, and a system for pushing multimedia data. The technical scheme is as follows:
in one aspect, a multimedia data pushing method is provided, which is applied to a stream control node, and the method includes:
determining stream storage address information matched with a target client;
sending the stream storage address information to a first target stream pushing node, so that the first target stream pushing node obtains the multimedia data stream of the target client according to the stream storage address information and pushes the multimedia data stream to a streaming media server;
the first target push flow node is at least one push flow node in a push flow node cluster.
In another aspect, a multimedia data pushing method is provided, and the method includes:
the flow control node determines the flow storage address information matched with the target client and sends the flow storage address information to the first target flow pushing node; the first target push flow node is at least one push flow node in a push flow node cluster;
and the first target stream pushing node acquires the multimedia data stream of the target client according to the stream storage address information and pushes the multimedia data stream to a streaming media server.
In another aspect, a multimedia data pushing apparatus applied to a stream control node is provided, the apparatus including:
the first determining module is used for determining the stream storage address information matched with the target client;
the first sending module is used for sending the stream storage address information to a first target stream pushing node, so that the first target stream pushing node obtains the multimedia data stream of the target client according to the stream storage address information and pushes the multimedia data stream to a streaming media server;
the first target push flow node is at least one push flow node in a push flow node cluster.
Optionally, the first determining module is specifically configured to: and responding to a stream pushing request of a target client for the live data stream, and determining stream storage address information of the live data stream matched with the target client.
Correspondingly, the first sending module is specifically configured to: and sending the stream storage address information of the live data stream to a first target stream pushing node, so that the first target stream pushing node acquires the live data stream according to the stream storage address information of the live data stream and pushes the live data stream to a streaming media server.
Optionally, the apparatus further comprises:
the first judgment module is used for judging whether the live data stream exists in a storage space corresponding to the stream storage address information of the live data stream;
the second determining module is used for determining the stream storage address information of the pre-stored data stream matched with the target client when the judgment result of the first judging module is negative; the pre-stored data stream is a multimedia data stream pre-recorded by the target client;
and the second sending module is used for sending the stream storage address information of the pre-stored data stream to the first target stream pushing node, so that the first target stream pushing node obtains the pre-stored data stream according to the stream storage address information of the pre-stored data stream, and pushes the pre-stored data stream to a streaming media server.
Optionally, the apparatus further comprises:
a first obtaining module, configured to obtain a first streaming status of the multimedia data stream from a streaming status server at preset time intervals; the first streaming state is the state of the multimedia data stream determined by the streaming state server according to the heartbeat information reported by the first target streaming node;
a third determining module, configured to determine a node state of the first target push flow node when the first flow state is a first preset flow state;
a fourth determining module, configured to determine a second target push flow node in the push flow node cluster when the node state is a preset node state; the second target push flow node is at least one push flow node except the first target push flow node in the push flow node cluster;
and a first execution module, configured to take the second target push flow node as the first target push flow node, and execute the step of sending the flow storage address information to the first target push flow node.
Optionally, the apparatus further comprises:
a first receiving module, configured to receive a second streaming status of the multimedia data stream sent by the streaming media server; the second streaming status is the status of the multimedia data stream determined by the streaming media server according to the received multimedia data stream;
the second judgment module is used for judging whether the first flow state of the multimedia data flow is acquired or not;
and a second executing module, configured to, when a result of the determination by the second determining module is negative, take the second flow state as the first flow state, and execute the step of determining the node state of the first target push flow node when the first flow state is a first preset flow state.
In another aspect, a multimedia data push system is provided, the system includes a stream control node and a push stream node cluster;
the flow control node is used for determining the flow storage address information matched with the target client and sending the flow storage address information to the first target flow pushing node;
the first target stream pushing node is used for acquiring the multimedia data stream of the target client according to the stream storage address information and pushing the multimedia data stream to a streaming media server; the first target push flow node is at least one push flow node in the push flow node cluster.
Optionally, the system further includes a streaming state server;
correspondingly, the first target stream pushing node is further configured to report heartbeat information of the multimedia data stream to the stream state server;
the stream state server is used for determining a first stream state of the multimedia data stream according to the heartbeat information;
the flow control node is further configured to acquire the first flow state from the flow state server at preset time intervals; when the first flow state is a first preset flow state, determining a node state of the first target flow pushing node; when the node state is a preset node state, determining a second target push flow node in the push flow node cluster; taking the second target flow pushing node as the first target flow pushing node, and executing the step of sending the flow storage address information to the first target flow pushing node; and the second target push flow node is at least one push flow node except the first target push flow node in the push flow node cluster.
Optionally, the streaming media server is further configured to determine a second streaming status of the multimedia data stream according to the received multimedia data stream; sending a second streaming status of the multimedia data stream to the streaming control node;
the stream control node is further configured to receive a second stream status of the multimedia data stream; judging whether a first flow state of the multimedia data flow is acquired; and if the judgment result is negative, taking the second flow state as the first flow state, and executing the step of determining the node state of the first target push flow node when the first flow state is a first preset flow state.
In another aspect, a server is provided, which includes a processor and a memory, where at least one instruction, at least one program, a set of codes, or a set of instructions is stored in the memory, and the at least one instruction, the at least one program, the set of codes, or the set of instructions is loaded and executed by the processor to implement the multimedia data pushing method described above.
In another aspect, a computer-readable storage medium is provided, in which at least one instruction, at least one program, a set of codes, or a set of instructions is stored, which is loaded and executed by a processor to implement the multimedia data pushing method as described above.
In the embodiment of the invention, the stream storage address information matched with the target client is sent to at least one stream pushing node in the stream pushing node cluster through the stream control node, so that the stream pushing node acquires the multimedia data stream of the target client according to the stream storage address information and pushes the multimedia data stream to the stream media server, thereby avoiding the problem that the multimedia data stream cannot be pushed due to the failure of the stream pushing equipment and ensuring the live broadcast effect in a live broadcast scene and the quality and stability of live broadcast service. And stream storage address information is issued based on the stream control node, which can facilitate management and control of multimedia data streams.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is a schematic diagram of an implementation environment related to a multimedia data pushing method according to an embodiment of the present invention;
fig. 2 is a flowchart illustrating a multimedia data pushing method according to an embodiment of the present invention;
fig. 3 is a flowchart illustrating another multimedia data pushing method according to an embodiment of the present invention;
fig. 4 is a flowchart illustrating another multimedia data pushing method according to an embodiment of the present invention;
fig. 5 is a flowchart illustrating another multimedia data pushing method according to an embodiment of the present invention;
fig. 6 is a flowchart illustrating another multimedia data pushing method according to an embodiment of the present invention;
fig. 7 is a schematic structural diagram of a multimedia data pushing apparatus according to an embodiment of the present invention;
fig. 8 is a schematic structural diagram of another multimedia data pushing apparatus according to an embodiment of the present invention;
fig. 9 is a schematic structural diagram of another multimedia data pushing apparatus according to an embodiment of the present invention;
fig. 10 is a block diagram of a hardware structure of a server according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be obtained by a person skilled in the art without any inventive step based on the embodiments of the present invention, are within the scope of the present invention.
It should be noted that the terms "first," "second," and the like in the description and claims of the present invention and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the invention described herein are capable of operation in sequences other than those illustrated or described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or server that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
Referring to fig. 1, a schematic diagram of an implementation environment related to a multimedia data pushing method according to an embodiment of the present invention is shown, where the implementation environment may include: flow control node 110, push flow node cluster 120, flow state server 130, streaming media server 140, and streaming data storage system 150.
Wherein, the push flow node cluster 120 includes a plurality of push flow nodes having a function of normally pushing multimedia data. The stream data storage system 150 may include different types of databases, such as a relational database, a Key-Value database (Redis database), and a hard disk storage space.
It should be noted that the above-mentioned node may be a server, that is, the flow control node may be referred to as a flow control server, and the streaming node may be referred to as a streaming server, which is not specifically limited in this embodiment of the present invention.
The stream control node 110, the stream push node cluster 120, the stream state server 130, the streaming media server 140, and the stream data storage system 150 may be connected to each other through a wired network or a wireless network.
Referring to fig. 2, a flow chart of a multimedia data pushing method according to an embodiment of the present invention is shown, where the method can be applied to the stream control node 110 in fig. 1. It is noted that the present specification provides the method steps as described in the examples or flowcharts, but may include more or less steps based on routine or non-inventive labor. The order of steps recited in the embodiments is merely one manner of performing the steps in a multitude of orders and does not represent the only order of execution. In actual system or product execution, sequential execution or parallel execution (e.g., parallel processor or multi-threaded environment) may be possible according to the embodiments or methods shown in the figures. Specifically, as shown in fig. 2, the method may include:
s201, determining the stream storage address information matched with the target client.
The target client is a client for uploading the multimedia data stream to the streaming media server, and the target client can interact with the stream control node. For a live application scenario, the target client may be a live client.
In practical application, a corresponding relation table between the client identifier and stream storage address information may be pre-established, where the stream storage address information is address information which is provided to the client in advance before the client performs live broadcast and is used for storing a multimedia data stream provided by the client, and thus, the stream storage address information corresponding to the target client identifier may be determined by querying the corresponding relation table. In the architecture diagram shown in fig. 1, the stream storage address information may correspond to a designated storage space in the stream data storage system 150.
S203, sending the stream storage address information to a first target stream pushing node, so that the first target stream pushing node obtains the multimedia data stream of the target client according to the stream storage address information, and pushing the multimedia data stream to a streaming media server.
In this embodiment of the present specification, the first target push flow node is at least one push flow node in a push flow node cluster, and is preferably any one push flow node. The stream pushing nodes in the stream pushing node cluster have a function of normally pushing multimedia data, that is, the stream pushing nodes in the stream pushing node cluster are normal stream pushing nodes, if a certain stream pushing node fails and cannot push multimedia data, the stream pushing node can be kicked out of the stream pushing node cluster, and the stream pushing node can be added into the stream pushing node cluster again after the failure of the stream pushing node is eliminated.
In a specific embodiment, as shown in step S301 in fig. 3, the stream control node may determine, in response to a push stream request of a target client for a live data stream, stream storage address information of the live data stream matching the target client. That is to say, when a target client initiates a push stream request of a live data stream, the stream control node may determine, based on an identifier of the target client carried in the push stream request, stream storage address information of the live data stream corresponding to the identifier, where the stream storage address information of the live data stream is used to indicate a storage space a in which the live data stream of the target client is stored. Then, in step 303, the stream control node may send the stream storage address information of the live data stream to the first target stream pushing node, so that the first target stream pushing node obtains the live data stream from the storage space a according to the stream storage address information of the live data stream, and pushes the live data stream to the streaming media server. The streaming media server can send the corresponding live data stream to the audience client for playing based on the live data stream acquisition request sent by the audience client.
In practical application, under the influence of network stability, a live data stream of a target client may not be uploaded to a storage space a corresponding to stream storage address information of the live data stream in time, under such a situation, there may not be a corresponding live data stream in the storage space a, if a first target stream pushing node continues to acquire from the storage space a, the live data stream may not be acquired for pushing, so that a viewer client cannot play and blank the screen, and the live effect and the quality of live service are affected.
In view of this, in other embodiments, as shown in fig. 3, the stream control node may perform real-time monitoring on the live data stream in the storage space a, perform step S305, determine whether there is a live data stream in the storage space corresponding to the stream storage address information of the live data stream, and perform steps S307 to S309 if the determination result is no; step S307, determining the stream storage address information of the pre-stored data stream matched with the target client; step S309, sending the stream storage address information of the pre-stored data stream to the first target stream pushing node, so that the first target stream pushing node obtains a corresponding pre-stored data stream according to the stream storage address information of the pre-stored data stream, and pushes the pre-stored data stream to the streaming media server. Therefore, the method can ensure that the continuous multimedia data stream of the target client is pushed to the streaming media server in the live broadcast process, so that the corresponding audience client can uninterruptedly receive and play the corresponding multimedia data, thereby effectively avoiding the occurrence of a black screen and ensuring the quality and stability of the live broadcast effect and the live broadcast service.
The pre-stored data stream is a multimedia data stream pre-recorded by the target client, for example, the pre-stored data stream may be pre-recorded audio, video, and other data. To further improve the quality of the live service, the pre-stored data stream may be pre-recorded audio-video data associated with the live content of the live data stream. For example, for live broadcasting of a concert in city x with a star, the preset data stream may be a partially recorded video of a concert in city y before the star, or the like.
The stream storage address information of the pre-stored data stream is used for indicating a storage space B for storing the pre-stored data stream of the target client. The stream storage address information of the pre-stored data stream is different from the stream storage address information of the live data stream described above, i.e., the storage space a and the storage space B may correspond to two different storage spaces in the stream data storage system 150.
In another specific embodiment, the flow control node may further determine, in response to a stream pushing request of a target client for a pre-stored data stream, stream storage address information of the pre-stored data stream matching the target client. That is to say, when the target client directly initiates a stream pushing request for pre-storing the data stream, the flow control node may determine, based on the identifier of the target client carried in the stream pushing request, stream storage address information of the pre-stored data stream corresponding to the identifier, where the stream storage address information of the pre-stored data stream is used to indicate a storage space B in which the pre-stored data stream of the target client is stored. Also, the stream storage address information of the pre-stored data stream may be different from the stream storage address information of the live data stream, i.e. storage space a and storage space B may correspond to two different storage spaces in the stream data storage system 150.
According to the technical scheme of the embodiment of the invention, the stream storage address information of the target client is sent to at least one stream pushing node in the stream pushing node cluster through the stream control node, so that the problem that the multimedia data stream cannot be pushed due to the failure of the stream pushing equipment can be avoided, and the live broadcast effect in a live broadcast scene and the quality and stability of the live broadcast service are ensured. And stream storage address information is issued based on the stream control node, which can facilitate management and control of multimedia data streams.
In order to further ensure continuous pushing of the multimedia data stream and improve the pushing quality of the multimedia data stream, as shown in fig. 4, during the pushing of the multimedia data stream, the method may further include:
s401, acquiring a first streaming state of the multimedia data stream from a streaming state server at intervals of a preset time interval; the first streaming state is the state of the multimedia data stream determined by the streaming state server according to the heartbeat information reported by the first target streaming node.
In this embodiment of the present specification, when pushing a multimedia data stream to a streaming media server, a first target streaming node may obtain heartbeat information of the pushed multimedia data stream at every first preset time interval, where the heartbeat information includes a parameter for characterizing a pushing speed of the multimedia data stream, and for example, the heartbeat information may include a code rate, a frame rate, and the like of the pushed multimedia data stream. The first preset time interval may be set according to actual needs, and may be set to 1 second, 2 seconds, or the like, for example. The first target stream pushing node reports the acquired heartbeat information to the stream state server, and the stream state server can provide heartbeat service and state service, wherein the heartbeat service can determine a first stream state of the multimedia data stream according to the received heartbeat information of the multimedia data stream, and the state service can store the first stream state.
In practical application, when the state service stores the first flow state of the multimedia data flow, the state service may obtain a node identifier of a stream pushing node that pushes the multimedia data flow and a flow identifier of the multimedia data flow, and store a corresponding relationship between the node identifier, the flow identifier, and the first flow state. The node identification is used for uniquely determining a stream pushing node, and the stream identification is used for uniquely determining a multimedia data stream.
The flow control node may monitor the multimedia data stream pushed by the first target push streaming node, specifically, the first stream state of the multimedia data stream pushed by the first target push streaming node may be acquired from the stream state server at preset time intervals, where the preset time intervals may be set according to actual needs, for example, may be set to 1 minute, 2 minutes, and so on. In a specific embodiment, the stream control node may maintain a correspondence table between a stream identifier and a stream state of a multimedia data stream being pushed, where a stream state in the correspondence table may be updated according to a first stream state of the multimedia data stream obtained in actual pushing. The flow control node obtains the first flow state of the multimedia data flow corresponding to the flow identifier in the corresponding relation table every preset time interval by the flow state server, updates the flow state in the corresponding relation table to the current first flow state, and can record the current flow states of all pushed multimedia data flows through the corresponding relation table, so that the flow control node can conveniently perform corresponding control or management measures subsequently.
It is understood that the flow control node may acquire the first flow state by acquiring a node identifier corresponding to the flow identifier at the flow state server, and a corresponding relationship between the flow identifier and the first flow state.
S403, when the first flow state is a first preset flow state, determining a node state of the first target push flow node.
Specifically, the first streaming state of the pushed multimedia data stream may include a normal streaming state and an abnormal streaming state, where the normal streaming state refers to a state of the multimedia data stream when the heartbeat information meets a preset condition; the abnormal flow state refers to a state of the multimedia data flow when the heartbeat information does not meet a preset condition. The preset condition may be set according to actual parameters included in the heartbeat information, for example, the heartbeat information includes a code rate and a frame rate, the preset condition may be that the code rate is greater than a preset code rate threshold and the frame rate is greater than a preset frame rate threshold, both the preset code rate threshold and the preset frame rate threshold may be set according to actual conditions, and may be set to be zero or a number greater than zero, generally, the larger the preset code rate threshold and the preset frame rate threshold are set, the stricter the monitoring on the multimedia data stream is, and the better the monitoring on the pushed multimedia data stream is, the better the effect of the pushed multimedia data stream and the quality of the push service are guaranteed.
In this embodiment of the present specification, the first preset streaming state refers to an abnormal streaming state of a multimedia data stream, that is, when a first streaming state of a pushed multimedia data stream is an abnormal streaming state, a streaming control node needs to determine a node state of a first target streaming node that pushes the multimedia data stream. The flow control node may determine, based on the obtained correspondence between the node identifier, the stream identifier, and the first stream state, a first target stream pushing node that pushes the multimedia data stream in the abnormal stream state, and further determine a node state of the first target stream pushing node.
The node state of the first target push flow node may be, but is not limited to: the method comprises the steps that a flow control node obtains process information of a first target plug flow node, whether a push process of a multimedia data stream corresponding to an abnormal flow state exists in the process information is judged, when the judgment result is that the push process of the multimedia data stream corresponding to the abnormal flow state exists in the process information of the first target plug flow node, the abnormal flow state of the multimedia data stream is shown to be irrelevant to the process and is caused by equipment failure of the first target plug flow node, and at the moment, the node state of the first target plug flow node can be determined to be a second preset node state (namely equipment failure state); if the judgment result is negative, that is, if there is no multimedia data stream push process corresponding to the abnormal stream state in the process information of the first target push stream node, it indicates that the abnormal stream state of the multimedia data stream occurs because the corresponding push process is killed, and at this time, it may be determined that the node state of the first target push stream node is the first preset node state (that is, there is no corresponding push process state). That is, in the embodiment of the present specification, the preset node state may include a first preset node state and a second preset node state.
S405, when the node state is a preset node state, determining a second target push flow node in the push flow node cluster.
And the second target push flow node is at least one push flow node except the first target push flow node in the push flow node cluster.
In this embodiment, when determining that the node state of the first target stream pushing node is the preset node state (the first preset node state or the second preset node state), the flow control node may select a second target stream pushing node from the stream pushing node cluster, where the second target stream pushing node is different from the first target stream pushing node.
S407, taking the second target push flow node as the first target push flow node, and executing the step of sending the flow storage address information to the first target push flow node.
After determining a second target push flow node from the push flow node cluster, the second target push flow node may be used as a first target push flow node, and the foregoing step of sending the flow storage address information to the first target push flow node is executed, which is specifically referred to corresponding contents of the first target push flow node in the method embodiments shown in fig. 2 to fig. 4, and is not described herein again.
In practical applications, in order to improve the risk resistance of the push flow system and ensure the push quality of the multimedia data stream, as shown in a flow diagram of another multimedia data push method shown in fig. 5, the method further includes:
s501, receiving a second streaming status of the multimedia data stream sent by the streaming media server; the second streaming status is a status of the multimedia data stream determined by the streaming media server according to the received multimedia data stream.
In this embodiment, when receiving a multimedia data stream pushed by a stream pushing node, a streaming media server determines a second stream status of the multimedia data stream according to the received multimedia data stream, and sends the second stream status of the pair of media data streams to the stream control node. Specifically, the streaming media server may obtain heartbeat information of the received multimedia data stream, and determine a second streaming status of the corresponding multimedia data stream according to the heartbeat information, where the second streaming status, similar to the first streaming status, may include a normal streaming status and an abnormal streaming status. The normal stream state refers to a state of the multimedia data stream when the heartbeat information meets a preset condition; the abnormal flow state refers to a state of the multimedia data flow when the heartbeat information does not meet a preset condition. The preset condition may be set according to actual parameters included in the heartbeat information, for example, the heartbeat information includes a code rate and a frame rate, the preset condition may be that the code rate is greater than a preset code rate threshold and the frame rate is greater than a preset frame rate threshold, both the preset code rate threshold and the preset frame rate threshold may be set according to actual conditions, and may be set to be zero or a number greater than zero, generally, the larger the preset code rate threshold and the preset frame rate threshold are set, the stricter the monitoring on the multimedia data stream is, and the better the monitoring on the pushed multimedia data stream is, the better the effect of the pushed multimedia data stream and the quality of the push service are guaranteed.
Correspondingly, the stream control node receives a second stream state of the multimedia data stream sent by the streaming media server.
S503, judging whether the first flow state of the multimedia data flow is acquired, and executing the step S505 when the judgment result is negative; when the result of the determination is yes, the aforementioned step S403 is executed.
In practical applications, when the streaming state server fails, the streaming state server cannot provide the heartbeat service and the state service, and at this time, the streaming control node cannot acquire the first streaming state of the multimedia data stream from the streaming state server. In order to enhance monitoring on the multimedia data stream being pushed and ensure the pushing effect and the quality of the pushing service, in this embodiment of the present specification, the flow control node may determine whether a first stream state of the multimedia data stream is currently acquired, and if the determination result is negative, execute step S505; when the result of the determination is yes, the aforementioned step S403 is executed.
And S505, taking the second flow state as the first flow state, and executing the step of determining the node state of the first target push flow node when the first flow state is a first preset flow state.
When the stream control node determines that the first stream state of the pushed multimedia data stream is not acquired, in order to enhance monitoring of the multimedia data stream, the second stream state of the multimedia data stream received from the streaming media server may be taken as the first stream state, and the foregoing step S403 is executed, and when the first stream state is the first preset stream state, the node state of the first target stream push node is determined.
Referring to fig. 6, a flow chart of another multimedia data pushing method according to an embodiment of the present invention is shown, where the method can be applied to the system shown in fig. 1, and as shown in fig. 6, the method can include:
s601, the flow control node determines the flow storage address information matched with the target client and sends the flow storage address information to a first target flow pushing node; the first target push flow node is at least one push flow node in the push flow node cluster.
Correspondingly, the first target stream pushing node receives the stream storage address information of the target client sent by the stream control node.
S603, the first target stream pushing node acquires the multimedia data stream of the target client according to the stream storage address information, and pushes the multimedia data stream to a streaming media server.
In order to enhance the monitoring of the pushed multimedia data stream, in a specific embodiment, the multimedia data pushing method may further include steps S605 to S609:
s605, the first target stream pushing node reports the heartbeat information of the multimedia data stream to the stream state server.
In this embodiment of the present specification, when pushing a multimedia data stream to a streaming media server, a first target streaming node may obtain heartbeat information of the pushed multimedia data stream at every first preset time interval, where the heartbeat information includes a parameter for characterizing a pushing speed of the multimedia data stream, and for example, the heartbeat information may include a code rate, a frame rate, and the like of the pushed multimedia data stream. The first preset time interval may be set according to actual needs, and may be set to 1 second, 2 seconds, or the like, for example. And the first target stream pushing node reports the acquired heartbeat information to the stream state server.
Correspondingly, the stream state server receives heartbeat information reported by the first target stream pushing node.
S607, the stream state server determines the first stream state of the multimedia data stream according to the heartbeat information.
In this specification, a stream state server may provide a heartbeat service and a state service, where the heartbeat service may determine a first stream state of a received multimedia data stream according to heartbeat information of the multimedia data stream, and the state service may store the first stream state.
The first streaming state of the pushed multimedia data stream may include a normal streaming state and an abnormal streaming state, wherein the normal streaming state refers to a state of the multimedia data stream when the heartbeat information meets a preset condition; the abnormal flow state refers to a state of the multimedia data flow when the heartbeat information does not meet a preset condition. The preset condition may be set according to actual parameters included in the heartbeat information, for example, the heartbeat information includes a code rate and a frame rate, the preset condition may be that the code rate is greater than a preset code rate threshold and the frame rate is greater than a preset frame rate threshold, both the preset code rate threshold and the preset frame rate threshold may be set according to actual conditions, and may be set to be zero or a number greater than zero, generally, the larger the preset code rate threshold and the preset frame rate threshold are set, the stricter the monitoring on the multimedia data stream is, and the better the monitoring on the pushed multimedia data stream is, the better the effect of the pushed multimedia data stream and the quality of the push service are guaranteed.
S609, the flow control node acquires the first flow state from the flow state server at preset time intervals; when the first flow state is a first preset flow state, determining a node state of the first target flow pushing node; when the node state is a preset node state, determining a second target push flow node in the push flow node cluster; taking the second target flow pushing node as the first target flow pushing node, and executing the step of sending the flow storage address information to the first target flow pushing node; and the second target push flow node is at least one push flow node except the first target push flow node in the push flow node cluster.
In this embodiment of the present specification, the first preset streaming state refers to an abnormal streaming state of a multimedia data stream, that is, when a first streaming state of a pushed multimedia data stream is an abnormal streaming state, a streaming control node needs to determine a node state of a first target streaming node that pushes the multimedia data stream.
The preset node states of the stream pushing node may include a first preset node state and a second preset node state, where the second preset node state is an equipment failure state of the stream pushing node, and the first preset node state is a state where equipment of the stream pushing node is normal, but there is no process of pushing a corresponding multimedia data stream in process information of the stream pushing node.
In a specific embodiment, when the node state of the first target streaming node is the first preset node state, the flow control node may send the stream storage address information of the target client to the second target streaming node, and the second target streaming node may perform the corresponding action of the first target streaming node, that is, obtain the multimedia data stream of the target client according to the stream storage address of the target client, and push the multimedia data stream to the streaming media server. Meanwhile, when the node state of the first target stream pushing node is determined to be the first preset node state, the stream storage address information of the target client side is obtained from the target cache, and the multimedia data stream of the target client side is pushed again according to the stream storage address information. In practical applications, the crontab service of the first target push streaming node may determine, by a timing task, whether the node state of the first target push streaming node is in the first preset node state, where the crontab is used to set a command to be periodically executed, where the command reads an instruction from a standard input device and stores the instruction in a "crontab" file for later reading and execution, and specifically, in this embodiment, the "crontab" file includes an execution time interval and a specific execution command, where the executed command may be a script used to determine whether the node state of the first target push streaming node is in the first preset node state.
In another specific embodiment, when the node state of the first target streaming node is the second preset node state, the flow control node may send the stream storage address information of the target client to the second target streaming node, and the second target streaming node may perform the corresponding action of the first target streaming node, that is, obtain the multimedia data stream of the target client according to the stream storage address of the target client, and push the multimedia data stream to the streaming media server. When the second preset node state of the first target stream pushing node is eliminated, the first target stream pushing node can restart to operate, at the moment, the first target stream pushing node can acquire the stream storage address information of the target client from the target cache, and the multimedia data stream of the target client is pushed again according to the stream storage address information.
The target cache may be a key-value database (e.g., a Redis database) configured to store data information written by the first target streaming node when the first target streaming node pushes the multimedia data stream of the target client, where the data information may include stream storage address information of the target client, a node identifier (e.g., an IP address) of the first target streaming node, a timestamp, heartbeat information, and the like.
In practical application, before the first target streaming node re-pushes the multimedia data stream of the target client according to the stream storage address information, the first target streaming node may further determine whether a node identifier corresponding to the stream storage address information in the target cache is consistent with a current streaming node identifier, and whether a difference between the corresponding timestamp and the current timestamp satisfies a preset time condition, and only when the node identifier is consistent with the current streaming node identifier and the difference between the corresponding timestamp and the current timestamp satisfies the preset time condition, the multimedia data stream is pushed again. The preset time condition may be set according to actual needs, and may be set to not more than 1 minute, for example.
In the two specific embodiments, once the first target streaming node pushes the multimedia data stream of the target client according to the stream storage address information again, the same multimedia data stream is pushed by the two streaming nodes, in this case, the streaming node periodically obtains the node identifier corresponding to the multimedia data stream maintained in its own process, and compares the node identifier with the corresponding node identifier in the target cache, and if the node identifier and the node identifier are not consistent, the current streaming node abandons the pushing of the multimedia data stream of the target client and delivers the pushing to the other streaming node.
In order to further enhance the monitoring of the pushed multimedia data stream and improve the quality of the push service, in another specific embodiment, the multimedia data pushing method may further include steps S611 to S613:
s611, the streaming media server determines a second streaming state of the multimedia data stream according to the received multimedia data stream; sending a second flow state of the multimedia data flow to the flow control node.
S613, the stream control node receives a second stream state of the multimedia data stream; judging whether a first flow state of the multimedia data flow is acquired; and if the judgment result is negative, taking the second flow state as the first flow state, and executing the step of determining the node state of the first target push flow node when the first flow state is a first preset flow state.
The details of steps S611 to S613 can refer to the related contents in the embodiment of the method shown in fig. 5, and are not described herein again.
As can be seen from the foregoing technical solutions of the embodiments of the present invention, the multimedia data pushing method according to the embodiments of the present invention enhances monitoring of the pushed multimedia data stream, ensures a pushing effect of the pushed multimedia data stream and quality and stability of the pushing service, and has high reliability and disaster tolerance.
Corresponding to the multimedia data pushing methods provided in the foregoing embodiments, embodiments of the present invention further provide a multimedia data pushing apparatus and system, and since the multimedia data pushing apparatus and system provided in embodiments of the present invention correspond to the multimedia data pushing methods provided in the foregoing embodiments, the foregoing embodiments of the multimedia data pushing method are also applicable to the multimedia data pushing apparatus and system provided in this embodiment, and are not described in detail in this embodiment.
Please refer to fig. 7, which is a schematic structural diagram illustrating a multimedia data pushing apparatus according to an embodiment of the present invention, where the apparatus has a function of implementing a multimedia data pushing method at a flow control node side in the foregoing method embodiments, and the function may be implemented by hardware or by hardware executing corresponding software. As shown in fig. 7, the apparatus may include:
a first determining module 710, configured to determine stream storage address information matching the target client;
a first sending module 720, configured to send the stream storage address information to a first target stream pushing node, so that the first target stream pushing node obtains a multimedia data stream of the target client according to the stream storage address information, and pushes the multimedia data stream to a streaming media server;
the first target push flow node is at least one push flow node in a push flow node cluster.
In a specific embodiment, the first determining module 710 is specifically configured to: and responding to a stream pushing request of a target client for the live data stream, and determining stream storage address information of the live data stream matched with the target client.
Correspondingly, the first sending module 720 is specifically configured to: and sending the stream storage address information of the live data stream to a first target stream pushing node, so that the first target stream pushing node acquires the live data stream according to the stream storage address information of the live data stream and pushes the live data stream to a streaming media server.
In some embodiments, as shown in fig. 8, the apparatus may further include:
a first determining module 810, configured to determine whether a live data stream exists in a storage space corresponding to stream storage address information of the live data stream;
a second determining module 820, configured to determine stream storage address information of a pre-stored data stream matched with the target client if the result of the determination by the first determining module 810 is negative; the pre-stored data stream is a multimedia data stream pre-recorded by the target client;
a second sending module 830, configured to send the stream storage address information of the pre-stored data stream to the first target stream pushing node, so that the first target stream pushing node obtains the pre-stored data stream according to the stream storage address information of the pre-stored data stream, and pushes the pre-stored data stream to a streaming media server.
In other embodiments, as shown in fig. 9, the apparatus further comprises:
a first obtaining module 910, configured to obtain a first streaming status of the multimedia data stream from a streaming status server at preset time intervals; the first streaming state is the state of the multimedia data stream determined by the streaming state server according to the heartbeat information reported by the first target streaming node;
a third determining module 920, configured to determine a node state of the first target push flow node when the first flow state is a first preset flow state;
a fourth determining module 930, configured to determine a second target push flow node in the push flow node cluster when the node state is a preset node state; the second target push flow node is at least one push flow node except the first target push flow node in the push flow node cluster;
a first executing module 940, configured to use the second target push flow node as the first target push flow node, and execute the step of sending the flow storage address information to the first target push flow node.
Optionally, as shown in fig. 9, the apparatus may further include:
a first receiving module 950, configured to receive a second streaming status of the multimedia data stream sent by the streaming media server; the second streaming status is the status of the multimedia data stream determined by the streaming media server according to the received multimedia data stream;
a second determining module 960, configured to determine whether a first stream status of the multimedia data stream is obtained;
a second executing module 970, configured to, when a result of the determination by the second determining module is negative, take the second flow state as the first flow state, and execute the step of determining the node state of the first target push flow node when the first flow state is a first preset flow state.
An embodiment of the present invention further provides a multimedia data push system, as shown in fig. 1, the system may include a stream control node and a stream push node cluster; wherein the content of the first and second substances,
the flow control node is used for determining the flow storage address information matched with the target client and sending the flow storage address information to the first target flow pushing node;
the first target stream pushing node is used for acquiring the multimedia data stream of the target client according to the stream storage address information and pushing the multimedia data stream to a streaming media server; the first target push flow node is at least one push flow node in the push flow node cluster.
Optionally, the system may further include a streaming state server;
correspondingly, the first target stream pushing node is further configured to report heartbeat information of the multimedia data stream to the stream state server;
the stream state server is used for determining a first stream state of the multimedia data stream according to the heartbeat information;
the flow control node is further configured to acquire the first flow state from the flow state server at preset time intervals; when the first flow state is a first preset flow state, determining a node state of the first target flow pushing node; when the node state is the first node state, determining a second target push flow node in the push flow node cluster; taking the second target flow pushing node as the first target flow pushing node, and executing the step of sending the flow storage address information to the first target flow pushing node; and the second target push flow node is at least one push flow node except the first target push flow node in the push flow node cluster.
Optionally, the streaming media server is further configured to determine a second streaming status of the multimedia data stream according to the received multimedia data stream; sending a second streaming status of the multimedia data stream to the streaming control node;
a stream control node further configured to receive a second stream state of the multimedia data stream; judging whether a first flow state of the multimedia data flow is acquired; and if the judgment result is negative, taking the second flow state as the first flow state, and executing the step of determining the node state of the first target push flow node when the first flow state is a first preset flow state.
It should be noted that, when the apparatus provided in the foregoing embodiment implements the functions thereof, only the division of the functional modules is illustrated, and in practical applications, the functions may be distributed by different functional modules according to needs, that is, the internal structure of the apparatus may be divided into different functional modules to implement all or part of the functions described above. In addition, the apparatus and method embodiments provided by the above embodiments belong to the same concept, and specific implementation processes thereof are described in the method embodiments for details, which are not described herein again.
The multimedia data pushing device and the multimedia data pushing system of the embodiment of the invention monitor the pushed multimedia data stream through the stream control node, improve the disaster tolerance of the whole device and the system, can find the abnormal multimedia data stream in time and ensure the pushing effect and the pushing quality of the abnormal multimedia data stream. In addition, the control of the push flow node cluster is performed based on the flow control node, so that the manageability of the push flow node is greatly improved, and the labor and material cost is saved.
Fig. 10 is a block diagram illustrating a hardware structure of a server for executing a multimedia data pushing method according to an embodiment of the present invention. The server 1000 may be the flow control node 110, a stream pushing node in a stream pushing node cluster 120, a stream state server 130 and a streaming media server 140 in fig. 1.
As shown in fig. 10, the server 1000 may have a relatively large difference due to different configurations or performances, and may include one or more Central Processing Units (CPUs) 1010 (the CPU 1010 may include but is not limited to a Processing device such as a microprocessor MCU or a programmable logic device FPGA), a memory 1030 for storing data, and one or more storage media 1020 (e.g., one or more mass storage devices) for storing applications 1023 or data 1022. Memory 1030 and storage media 1020 may be, among other things, transient or persistent storage. The program stored in the storage medium 1020 may include one or more modules, each of which may include a series of instruction operations for a server. Still further, the central processor 1010 may be configured to communicate with the storage medium 1020 and execute a series of instruction operations in the storage medium 1020 on the server 1000. The server 1000 may also include one or more power supplies 100, one or more wired or wireless network interfaces 1050, one or more input-output interfaces 1040, and/or one or more operating systems 1021, such as Windows Server, Mac OS XTM, UnixTM, LinuxTM, FreeBSDTM, and so forth.
Input-output interface 1040 may be used to receive or transmit data via a network. Specific examples of the network described above may include a wireless network provided by a communication provider of the server 1000. In one example, i/o Interface 1040 includes a Network adapter (NIC) that may be coupled to other Network devices via a base station to communicate with the internet. In one example, the input/output interface 1040 may be a Radio Frequency (RF) module, which is used for communicating with the internet in a wireless manner.
It will be appreciated by those of ordinary skill in the art that the configuration shown in fig. 10 is merely illustrative and that the server 1000 may include more or fewer components than shown in fig. 10 or have a different configuration than shown in fig. 10.
Embodiments of the present invention also provide a computer-readable storage medium, which may be disposed in a server to store at least one instruction, at least one program, a code set, or a set of instructions related to implementing a multimedia data pushing method, where the at least one instruction, the at least one program, the code set, or the set of instructions are loaded and executed by the processor to implement the multimedia data pushing method provided by the foregoing method embodiments.
Optionally, in this embodiment, the storage medium may include, but is not limited to: a U-disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic or optical disk, and other various media capable of storing program codes.
It should be noted that: the precedence order of the above embodiments of the present invention is only for description, and does not represent the merits of the embodiments. And specific embodiments thereof have been described above. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, as for the apparatus embodiment, since it is substantially similar to the method embodiment, the description is relatively simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents, improvements and the like that fall within the spirit and principle of the present invention are intended to be included therein.

Claims (10)

1. A multimedia data pushing method applied to a stream control node, the method comprising:
determining stream storage address information matched with a target client;
sending the stream storage address information to a first target stream pushing node, so that the first target stream pushing node obtains the multimedia data stream of the target client according to the stream storage address information and pushes the multimedia data stream to a streaming media server; the streaming media server is used for sending the corresponding multimedia data stream to the client for playing based on the multimedia data stream acquisition request; the first target push flow node is at least one push flow node in a push flow node cluster;
acquiring a first streaming state of the multimedia data stream from a streaming state server at preset time intervals; the first streaming state is the state of the multimedia data stream determined by the streaming state server according to the heartbeat information reported by the first target streaming node; the heartbeat information comprises parameters for representing the pushing speed of the multimedia data stream;
when the first flow state is a first preset flow state, determining a node state of the first target flow pushing node; the first preset stream state refers to an abnormal stream state of a multimedia data stream, the abnormal stream state refers to a state of the multimedia data stream when heartbeat information does not meet a preset condition, and the preset condition comprises a threshold value set according to parameters included in the heartbeat information;
when the node state is a preset node state, determining a second target push flow node in the push flow node cluster; the second target push flow node is at least one push flow node except the first target push flow node in the push flow node cluster; the preset node states comprise a first preset node state and a second preset node state, and the second preset node state is an equipment fault state of the plug flow node; the first preset node state is that the equipment of the plug flow node is normal, but the process information of the plug flow node does not have the state of the push process of the multimedia data stream corresponding to the abnormal stream state;
and taking the second target flow pushing node as the first target flow pushing node, and executing the step of sending the flow storage address information to the first target flow pushing node.
2. The method of claim 1, wherein the determining the stream storage address information matching the target client comprises:
responding to a stream pushing request of a target client for a live data stream, and determining stream storage address information of the live data stream matched with the target client;
correspondingly, the sending the stream storage address information to the first target stream pushing node includes:
and sending the stream storage address information of the live data stream to a first target stream pushing node, so that the first target stream pushing node acquires the live data stream according to the stream storage address information of the live data stream and pushes the live data stream to a streaming media server.
3. The method of claim 2, further comprising:
judging whether the live data stream exists in a storage space corresponding to the stream storage address information of the live data stream;
if the judgment result is negative, determining the stream storage address information of the pre-stored data stream matched with the target client; the pre-stored data stream is a multimedia data stream pre-recorded by the target client;
and sending the stream storage address information of the pre-stored data stream to the first target stream pushing node, so that the first target stream pushing node acquires the pre-stored data stream according to the stream storage address information of the pre-stored data stream, and pushes the pre-stored data stream to a streaming media server.
4. The method of claim 1, further comprising:
receiving a second streaming state of the multimedia data stream sent by the streaming media server; the second streaming status is the status of the multimedia data stream determined by the streaming media server according to the received multimedia data stream;
judging whether a first flow state of the multimedia data flow is acquired;
and if the judgment result is negative, taking the second flow state as the first flow state, and executing the step of determining the node state of the first target push flow node when the first flow state is a first preset flow state.
5. A method for pushing multimedia data, the method comprising:
the flow control node determines the flow storage address information matched with the target client and sends the flow storage address information to the first target flow pushing node; the first target push flow node is at least one push flow node in a push flow node cluster;
the first target stream pushing node acquires the multimedia data stream of the target client according to the stream storage address information and pushes the multimedia data stream to a streaming media server; the streaming media server is used for sending the corresponding multimedia data stream to the client for playing based on the multimedia data stream acquisition request;
the first target stream pushing node reports heartbeat information of the multimedia data stream to a stream state server; the heartbeat information comprises parameters for representing the pushing speed of the multimedia data stream;
the stream state server determines a first stream state of the multimedia data stream according to the heartbeat information;
the flow control node acquires the first flow state from the flow state server at preset time intervals; when the first flow state is a first preset flow state, determining a node state of the first target flow pushing node; when the node state is a preset node state, determining a second target push flow node in the push flow node cluster; taking the second target flow pushing node as the first target flow pushing node, and executing the step of sending the flow storage address information to the first target flow pushing node;
the second target push flow node is at least one push flow node in the push flow node cluster except the first target push flow node; the first preset stream state refers to an abnormal stream state of a multimedia data stream, the abnormal stream state refers to a state of the multimedia data stream when heartbeat information does not meet a preset condition, and the preset condition comprises a threshold value set according to parameters included in the heartbeat information; the preset node states comprise a first preset node state and a second preset node state, and the second preset node state is an equipment fault state of the plug flow node; the first preset node state is that the equipment of the push flow node is normal, but the process information of the push flow node does not have the state of the push process of the multimedia data stream corresponding to the abnormal stream state.
6. The method of claim 5, further comprising:
the streaming media server determines a second streaming state of the multimedia data stream according to the received multimedia data stream;
sending a second streaming status of the multimedia data stream to the streaming control node;
receiving, by the flow control node, a second flow state of the multimedia data flow; judging whether a first flow state of the multimedia data flow is acquired; and if the judgment result is negative, taking the second flow state as the first flow state, and executing the step of determining the node state of the first target push flow node when the first flow state is a first preset flow state.
7. A multimedia data pushing apparatus applied to a stream control node, the apparatus comprising:
the first determining module is used for determining the stream storage address information matched with the target client;
the first sending module is used for sending the stream storage address information to a first target stream pushing node, so that the first target stream pushing node obtains the multimedia data stream of the target client according to the stream storage address information and pushes the multimedia data stream to a streaming media server; the streaming media server is used for sending the corresponding multimedia data stream to the client for playing based on the multimedia data stream acquisition request; the first target push flow node is at least one push flow node in a push flow node cluster;
a first obtaining module, configured to obtain a first streaming status of the multimedia data stream from a streaming status server at preset time intervals; the first streaming state is the state of the multimedia data stream determined by the streaming state server according to the heartbeat information reported by the first target streaming node; the heartbeat information comprises parameters for representing the pushing speed of the multimedia data stream;
a third determining module, configured to determine a node state of the first target push flow node when the first flow state is a first preset flow state; the first preset stream state refers to an abnormal stream state of a multimedia data stream, the abnormal stream state refers to a state of the multimedia data stream when heartbeat information does not meet a preset condition, and the preset condition comprises a threshold value set according to parameters included in the heartbeat information;
a fourth determining module, configured to determine a second target push flow node in the push flow node cluster when the node state is a preset node state; the second target push flow node is at least one push flow node except the first target push flow node in the push flow node cluster; the preset node states comprise a first preset node state and a second preset node state, and the second preset node state is an equipment fault state of the plug flow node; the first preset node state is that the equipment of the plug flow node is normal, but the process information of the plug flow node does not have the state of the push process of the multimedia data stream corresponding to the abnormal stream state;
and a first execution module, configured to take the second target push flow node as the first target push flow node, and execute the step of sending the flow storage address information to the first target push flow node.
8. A multimedia data push system, characterized in that the system comprises a stream control node and a cluster of push stream nodes;
the flow control node is used for determining the flow storage address information matched with the target client and sending the flow storage address information to the first target flow pushing node;
the first target stream pushing node is used for acquiring the multimedia data stream of the target client according to the stream storage address information and pushing the multimedia data stream to a streaming media server; the streaming media server is used for sending the corresponding multimedia data stream to the client for playing based on the multimedia data stream acquisition request; the first target push flow node is at least one push flow node in the push flow node cluster;
the first target stream pushing node is also used for reporting heartbeat information of the multimedia data stream to a stream state server; the heartbeat information comprises parameters for representing the pushing speed of the multimedia data stream;
the stream state server is used for determining a first stream state of the multimedia data stream according to the heartbeat information;
the flow control node is further configured to acquire the first flow state from the flow state server at preset time intervals; when the first flow state is a first preset flow state, determining a node state of the first target flow pushing node; when the node state is a preset node state, determining a second target push flow node in the push flow node cluster; taking the second target flow pushing node as the first target flow pushing node, and executing the step of sending the flow storage address information to the first target flow pushing node;
the second target push flow node is at least one push flow node in the push flow node cluster except the first target push flow node; the first preset stream state refers to an abnormal stream state of a multimedia data stream, the abnormal stream state refers to a state of the multimedia data stream when heartbeat information does not meet a preset condition, and the preset condition comprises a threshold value set according to parameters included in the heartbeat information; the preset node states comprise a first preset node state and a second preset node state, and the second preset node state is an equipment fault state of the plug flow node; the first preset node state is that the equipment of the push flow node is normal, but the process information of the push flow node does not have the state of the push process of the multimedia data stream corresponding to the abnormal stream state.
9. A server comprising a processor and a memory, wherein the memory stores at least one instruction or at least one program, and the at least one instruction or the at least one program is loaded by the processor and executed to implement the multimedia data pushing method according to any one of claims 1 to 4.
10. A computer-readable storage medium, in which at least one instruction or at least one program is stored, the at least one instruction or the at least one program being loaded and executed by a processor to implement the multimedia data pushing method according to any one of claims 1 to 4.
CN201910695650.5A 2019-07-30 2019-07-30 Multimedia data pushing method, device and system Active CN110418154B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910695650.5A CN110418154B (en) 2019-07-30 2019-07-30 Multimedia data pushing method, device and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910695650.5A CN110418154B (en) 2019-07-30 2019-07-30 Multimedia data pushing method, device and system

Publications (2)

Publication Number Publication Date
CN110418154A CN110418154A (en) 2019-11-05
CN110418154B true CN110418154B (en) 2021-10-19

Family

ID=68364275

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910695650.5A Active CN110418154B (en) 2019-07-30 2019-07-30 Multimedia data pushing method, device and system

Country Status (1)

Country Link
CN (1) CN110418154B (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111479117B (en) * 2020-04-03 2022-01-28 湖南快乐阳光互动娱乐传媒有限公司 Live broadcast information source output method and device
CN111641845A (en) * 2020-05-19 2020-09-08 北京三快在线科技有限公司 Streaming media cluster control system and method
CN112637258A (en) * 2020-09-28 2021-04-09 西安万像电子科技有限公司 Data processing method and system
CN112543354B (en) * 2020-11-27 2023-05-09 鹏城实验室 Service-aware distributed video cluster efficient telescoping method and system
CN115474079A (en) * 2022-08-11 2022-12-13 中国电信股份有限公司 Media stream migration method and device, electronic equipment and storage medium
CN116233085A (en) * 2023-05-08 2023-06-06 深圳市微智体技术有限公司 Multi-terminal streaming media transmission method, system and streaming media server cluster

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106101845A (en) * 2016-07-04 2016-11-09 天脉聚源(北京)传媒科技有限公司 The creation method of a kind of net cast and device
CN106878769A (en) * 2017-02-23 2017-06-20 北京潘达互娱科技有限公司 live video quality monitoring method and device
CN106921873A (en) * 2017-02-28 2017-07-04 北京小米移动软件有限公司 Live-broadcast control method and device
CN107105309A (en) * 2017-04-25 2017-08-29 北京潘达互娱科技有限公司 Live dispatching method and device
US9788027B1 (en) * 2011-06-17 2017-10-10 Enconcert, Inc. Method and mechanism for implementing a real time media database
CN109756758A (en) * 2017-11-01 2019-05-14 腾讯科技(深圳)有限公司 Live-broadcast control method and device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729296B (en) * 2009-12-29 2012-12-19 中兴通讯股份有限公司 Method and system for statistical analysis of ethernet traffic
CN108347622B (en) * 2018-03-06 2020-06-30 腾讯科技(深圳)有限公司 Multimedia data pushing method and device, storage medium and equipment

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9788027B1 (en) * 2011-06-17 2017-10-10 Enconcert, Inc. Method and mechanism for implementing a real time media database
CN106101845A (en) * 2016-07-04 2016-11-09 天脉聚源(北京)传媒科技有限公司 The creation method of a kind of net cast and device
CN106878769A (en) * 2017-02-23 2017-06-20 北京潘达互娱科技有限公司 live video quality monitoring method and device
CN106921873A (en) * 2017-02-28 2017-07-04 北京小米移动软件有限公司 Live-broadcast control method and device
CN107105309A (en) * 2017-04-25 2017-08-29 北京潘达互娱科技有限公司 Live dispatching method and device
CN109756758A (en) * 2017-11-01 2019-05-14 腾讯科技(深圳)有限公司 Live-broadcast control method and device

Also Published As

Publication number Publication date
CN110418154A (en) 2019-11-05

Similar Documents

Publication Publication Date Title
CN110418154B (en) Multimedia data pushing method, device and system
US8528039B2 (en) System for and method of set-top box memory monitoring
KR101478698B1 (en) Method and system for evaluating the resiliency of a distributed computing service by inducing latency
US20080005321A1 (en) Monitoring and Managing Distributed Devices
EP3633957B1 (en) Data storage method, storage server, storage medium and system
US10887363B1 (en) Streaming decision in the cloud
US8225362B2 (en) Distributed diagnostics for internet video link
CN108513094B (en) Video monitoring method and device
TW201416898A (en) Data monitoring method and system, and server end and user end thereof
US8873402B2 (en) Service monitoring and service problem diagnosing in communications network
CN110830283B (en) Fault detection method, device, equipment and system
US9104565B2 (en) Fault tracing system and method for remote maintenance
CN108391089B (en) Monitoring flow pushing method and device of multi-path camera and monitoring system
US20200366967A1 (en) Method and system for monitoring quality of streaming media
CN105338564B (en) A kind of client adaptation method, client, server and system
CN111865674B (en) Log processing method, device and medium
CN110769268A (en) Data flow monitoring method and device
CN109510730A (en) Distributed system and its monitoring method, device, electronic equipment and storage medium
US9729404B2 (en) Quality of service monitoring device and method of monitoring quality of service
CN111897657A (en) Remote teaching method, scheduling equipment, server and electronic equipment
CN110324608B (en) Method and device for detecting video stream quality and computer equipment
CN114077409A (en) Screen projection method and device, electronic equipment and computer readable medium
CN112312209A (en) Comprehensive alarm generation method, device, server and storage medium
CN107678905B (en) Monitoring method and device
CN115119002B (en) Live broadcast processing method, related equipment and storage medium

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