CN112565832A - Stream media publishing system and method - Google Patents

Stream media publishing system and method Download PDF

Info

Publication number
CN112565832A
CN112565832A CN202110007116.8A CN202110007116A CN112565832A CN 112565832 A CN112565832 A CN 112565832A CN 202110007116 A CN202110007116 A CN 202110007116A CN 112565832 A CN112565832 A CN 112565832A
Authority
CN
China
Prior art keywords
virtual
server
publishing server
publishing
actual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110007116.8A
Other languages
Chinese (zh)
Other versions
CN112565832B (en
Inventor
孟维良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Chuangshi Cloud Technology Co ltd
Original Assignee
Beijing Chuangshi Cloud Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Chuangshi Cloud Technology Co ltd filed Critical Beijing Chuangshi Cloud Technology Co ltd
Priority to CN202110007116.8A priority Critical patent/CN112565832B/en
Publication of CN112565832A publication Critical patent/CN112565832A/en
Application granted granted Critical
Publication of CN112565832B publication Critical patent/CN112565832B/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/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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Abstract

The invention provides a streaming media publishing system and method, which only need to adjust a virtual publishing server connected with an actual publishing server without replacing the actual publishing server, and are simple and convenient to operate; and the data packet of the streaming media can be sent to the actual publishing server through the first virtual publishing server and the second virtual publishing server at the same time temporarily, and when the actual publishing server determines that the data packet of the streaming media sent by the first virtual publishing server is the same as that sent by the second virtual publishing server, the connection between the first virtual publishing server and the actual publishing server is disconnected, so that when the virtual publishing server connected with the actual publishing server is adjusted, the data stream of the streaming media is ensured to be played continuously, and the use experience of a user is improved.

Description

Stream media publishing system and method
Technical Field
The invention relates to the technical field of computers, in particular to a streaming media publishing system and method.
Background
At present, in the process of distributing the streaming media to the distribution server, the situation that the originally specified distribution server is blocked in playing the streaming media due to the problem of link quality is often encountered. However, changing the distribution server often causes data stream inconsistency of the streaming media, which reduces user experience.
Disclosure of Invention
To solve the above problems, embodiments of the present invention provide a streaming media distribution system and method.
In a first aspect, an embodiment of the present invention provides a streaming media distribution system, including: the system comprises a publishing client, a first virtual publishing server, a second virtual publishing server, an actual publishing server and a scheduling server;
the publishing client is used for sending a data packet of streaming media to the actual publishing server through the first virtual publishing server when the first virtual publishing server is determined to be connected with the actual publishing server; wherein, the data packet of the streaming media carries a streaming media identifier and a data packet sequence number;
when the link quality between the first virtual publishing server and the actual publishing server is determined to be poor, acquiring an updated publishing server list from the scheduling server, and acquiring an IP address of a second virtual publishing server from the updated publishing server list;
according to the obtained IP address of the second virtual publishing server, connecting the second virtual publishing server and sending the IP address of the actual publishing server to the second virtual publishing server;
when receiving the confirmation information sent by the second virtual publishing server, sending the data packet of the streaming media to the actual publishing server through the first virtual publishing server and the second virtual publishing server respectively;
when the issuing client receives the connection switching information sent by the actual issuing server, sending a connection disconnection instruction to the first virtual issuing server to disconnect the first virtual issuing server from the actual issuing server;
the real publishing server is configured to send probe service information to other virtual publishing servers except the first virtual publishing server while publishing the data packet of the streaming media sent by the publishing client through the first virtual publishing server, so as to determine link quality between the real publishing server and the other virtual publishing servers, and send an IP address of a virtual publishing server with good link quality between the other virtual publishing server and the real publishing server to the scheduling server;
when receiving the connection replacement information sent by the second virtual publishing server, sending confirmation information to the second virtual publishing server;
when receiving streaming media data packets respectively sent by the first virtual publishing server and the second virtual publishing server, respectively, acquiring a streaming media identifier and a data packet sequence number sent by the first virtual publishing server and a streaming media identifier and a data packet sequence number sent by the second virtual publishing server;
when the streaming media identifier and the data packet serial number sent by the first virtual publishing server are determined to be the same as the streaming media identifier and the data packet serial number sent by the second virtual publishing server, sending connection switching information to the publishing client through the second virtual publishing server;
the scheduling server is used for storing a publishing server list; when the IP address of the virtual publishing server sent by the actual publishing server is obtained, updating the publishing server list by using the obtained IP address of the virtual publishing server to obtain an updated publishing server list;
the second virtual publishing server is used for connecting with the actual publishing server according to the received IP address of the actual publishing server when receiving the IP address of the actual publishing server sent by the publishing client, generating connection replacement information by using the IP address of the second virtual publishing server and sending the connection replacement information to the actual publishing server;
when receiving the confirmation information sent by the actual publishing server, forwarding the confirmation information to the publishing client;
and when receiving the connection switching information sent by the actual publishing server, sending the connection switching information sent by the actual publishing server to the publishing client.
In a second aspect, an embodiment of the present invention further provides a streaming media publishing method, configured to implement a function of a publishing client of the streaming media publishing system in the first aspect, where the method includes:
obtaining a publishing server list from the scheduling server, wherein the publishing server list comprises: IP addresses of at least two virtual publishing servers and IP addresses of actual publishing servers;
acquiring the IP address of the actual publishing server from the publishing server list, and acquiring the IP address of a first virtual publishing server from the IP addresses of at least two virtual publishing servers;
according to the acquired IP address of the first virtual publishing server, connecting the first virtual publishing server, and sending the IP address of the actual publishing server to the first virtual publishing server, so that the first virtual publishing server is connected with the actual publishing server according to the IP address of the actual publishing server;
when the first virtual publishing server is determined to be connected with the actual publishing server, sending a data packet of streaming media to the actual publishing server through the first virtual publishing server; wherein, the data packet of the streaming media carries a streaming media identifier and a data packet sequence number;
when the link quality between the first virtual publishing server and the actual publishing server is determined to be poor, acquiring an updated publishing server list from the scheduling server, and acquiring an IP address of a second virtual publishing server from the updated publishing server list;
according to the obtained IP address of the second virtual publishing server, connecting the second virtual publishing server and sending the IP address of the actual publishing server to the second virtual publishing server;
when receiving the confirmation information sent by the second virtual publishing server, sending the data packet of the streaming media to the actual publishing server through the first virtual publishing server and the second virtual publishing server respectively;
and when the issuing client receives the connection switching information sent by the actual issuing server, sending a connection disconnection instruction to the first virtual issuing server, so that the first virtual issuing server is disconnected from the actual issuing server.
In a third aspect, an embodiment of the present invention further provides a streaming media publishing method, configured to implement a function of an actual publishing server of the streaming media publishing system in the first aspect, where the method includes:
sending probe service information to other virtual publishing servers except the first virtual publishing server while publishing the data packet of the streaming media sent by the publishing client through the first virtual publishing server to determine the link quality between the actual publishing server and the other virtual publishing servers, and sending the IP address of the virtual publishing server with good link quality between the other virtual publishing servers and the actual publishing server to the scheduling server;
when receiving the connection replacement information sent by the second virtual publishing server, sending confirmation information to the second virtual publishing server;
when receiving streaming media data packets respectively sent by the first virtual publishing server and the second virtual publishing server, respectively, acquiring a streaming media identifier and a data packet sequence number sent by the first virtual publishing server and a streaming media identifier and a data packet sequence number sent by the second virtual publishing server;
and when the streaming media identifier and the data packet serial number sent by the first virtual publishing server are determined to be the same as the streaming media identifier and the data packet serial number sent by the second virtual publishing server, sending connection switching information to the publishing client through the second virtual publishing server.
In the solutions provided in the first to third aspects of the embodiments of the present invention, when determining that the link quality between the first virtual publishing server and the actual publishing server is poor, the publishing client selects the second virtual publishing server from the publishing server list updated by the scheduling server again to connect with the actual publishing server, and sends the data packet of the streaming media to the actual publishing server through the first virtual publishing server and the second virtual publishing server, respectively; when the actual publishing server determines that the data packets of the streaming media sent by the first virtual publishing server and the second virtual publishing server are the same, disconnecting the first virtual publishing server from the actual publishing server; compared with the situation that the data stream of the streaming media is not consistent when the originally specified publishing server is replaced in the related technology, the virtual publishing server connected with the actual publishing server is only required to be adjusted without replacing the actual publishing server, so that the operation is simple and convenient; and the data packet of the streaming media can be sent to the actual publishing server through the first virtual publishing server and the second virtual publishing server at the same time temporarily, and when the actual publishing server determines that the data packet of the streaming media sent by the first virtual publishing server is the same as that sent by the second virtual publishing server, the connection between the first virtual publishing server and the actual publishing server is disconnected, so that when the virtual publishing server connected with the actual publishing server is adjusted, the data stream of the streaming media is ensured to be played continuously, and the use experience of a user is improved.
In order to make the aforementioned and other objects, features and advantages of the present invention comprehensible, preferred embodiments accompanied with figures are described in detail below.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 shows a data transmission timing diagram of a streaming media distribution system according to embodiment 1 of the present invention.
Detailed Description
In the description of the present invention, it is to be understood that the terms "center", "longitudinal", "lateral", "length", "width", "thickness", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", "clockwise", "counterclockwise", and the like, indicate orientations and positional relationships based on those shown in the drawings, and are used only for convenience of description and simplicity of description, and do not indicate or imply that the device or element being referred to must have a particular orientation, be constructed and operated in a particular orientation, and thus, should not be considered as limiting the present invention.
Furthermore, the terms "first", "second" and "first" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of the present invention, "a plurality" means two or more unless specifically defined otherwise.
In the present invention, unless otherwise expressly specified or limited, the terms "mounted," "connected," "secured," and the like are to be construed broadly and can, for example, be fixedly connected, detachably connected, or integrally connected; can be mechanically or electrically connected; they may be connected directly or indirectly through intervening media, or they may be interconnected between two elements. The specific meanings of the above terms in the present invention can be understood by those skilled in the art according to specific situations.
At present, in the process of distributing the streaming media to the distribution server, the situation that the originally specified distribution server is blocked in playing the streaming media due to the problem of link quality is often encountered. However, changing the distribution server often causes data stream inconsistency of the streaming media, which reduces user experience.
Based on this, the following embodiments of the present application provide a streaming media publishing system and method, where when determining that the link quality between a first virtual publishing server and an actual publishing server is poor, a publishing client selects a second virtual publishing server from a publishing server list updated by a scheduling server again to connect with the actual publishing server, and sends a data packet of streaming media to the actual publishing server through the first virtual publishing server and the second virtual publishing server at the same time; when the actual publishing server determines that the data packets of the streaming media sent by the first virtual publishing server and the second virtual publishing server are the same, disconnecting the first virtual publishing server from the actual publishing server; the virtual publishing server connected with the actual publishing server is adjusted without replacing the actual publishing server, so that the operation is simple and convenient; and the data packet of the streaming media can be sent to the actual publishing server through the first virtual publishing server and the second virtual publishing server at the same time temporarily, and when the actual publishing server determines that the data packet of the streaming media sent by the first virtual publishing server is the same as that sent by the second virtual publishing server, the connection between the first virtual publishing server and the actual publishing server is disconnected, so that when the virtual publishing server connected with the actual publishing server is adjusted, the data stream of the streaming media is ensured to be played continuously, and the use experience of a user is improved.
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.
Example 1
Referring to fig. 1, a data transmission timing chart of a streaming media distribution system is shown, in this embodiment, a streaming media distribution system is provided, which includes: the system comprises a publishing client, a first virtual publishing server, a second virtual publishing server, an actual publishing server and a scheduling server.
The publishing client is configured to obtain a publishing server list from the scheduling server, where the publishing server list includes: IP addresses of at least two virtual publishing servers and IP addresses of actual publishing servers;
acquiring the IP address of the actual publishing server from the publishing server list, and acquiring the IP address of a first virtual publishing server from the IP addresses of at least two virtual publishing servers;
according to the acquired IP address of the first virtual publishing server, connecting the first virtual publishing server, and sending the IP address of the actual publishing server to the first virtual publishing server, so that the first virtual publishing server is connected with the actual publishing server according to the IP address of the actual publishing server;
when the first virtual publishing server is determined to be connected with the actual publishing server, sending a data packet of streaming media to the actual publishing server through the first virtual publishing server; wherein, the data packet of the streaming media carries a streaming media identifier and a data packet sequence number;
when the link quality between the first virtual publishing server and the actual publishing server is determined to be poor, acquiring an updated publishing server list from the scheduling server, and acquiring an IP address of a second virtual publishing server from the updated publishing server list;
according to the obtained IP address of the second virtual publishing server, connecting the second virtual publishing server and sending the IP address of the actual publishing server to the second virtual publishing server;
when receiving the confirmation information sent by the second virtual publishing server, sending the data packet of the streaming media to the actual publishing server through the first virtual publishing server and the second virtual publishing server respectively;
and when the issuing client receives the connection switching information sent by the actual issuing server, sending a connection disconnection instruction to the first virtual issuing server, so that the first virtual issuing server is disconnected from the actual issuing server.
The streaming media may be, but is not limited to: video streams and audio streams.
The publishing client can obtain the publishing server list from the scheduling server through an HTTP protocol.
The publishing client may be connected to the first virtual publishing server or the second virtual publishing server by using a UDP protocol in a process of connecting to the first virtual publishing server or the first virtual publishing server.
When the first virtual publishing server is connected with the actual publishing server, the first virtual publishing server sends connection success information to the publishing client; then, when receiving the connection success information sent by the first virtual publishing server, the publishing client determines that the first virtual publishing server has connected with the actual publishing server.
The sequence number of the data packet carried by the data packet of the streaming media is the same as the playing sequence of the data packet of the streaming media, that is, the sequence number of the data packet of the streaming media played first is smaller, and the sequence number of the data packet of the streaming media played later is larger.
In order to determine the link quality between the first virtual publishing server and the actual publishing server, the publishing client may further perform the following process:
when a data packet of streaming media is sent to the actual publishing server through the first virtual publishing server, receiving a data packet sequence number of the data packet of the streaming media sent to the actual publishing server by the first virtual publishing server and fed back by the first virtual publishing server;
when the data packet sequence number fed back by the first virtual publishing server is determined to be discontinuous, determining the number of first data packets which are not sent by the first virtual publishing server in unit time according to the received discontinuous data packet sequence number;
acquiring the second data packet quantity of the data packets of the streaming media sent by the issuing client in unit time, and calculating the packet loss rate in unit time according to the first data packet quantity and the second data packet quantity;
when the packet loss rate in the unit time is determined to be greater than a first packet loss rate threshold value, determining that the link quality between the first virtual publishing server and the actual publishing server is poor;
when the time length from the last time of sending the round-trip delay probe packet to the first virtual publishing server reaches the time length of a delay probe period, sending the round-trip delay probe packet to the first virtual publishing server so as to determine the round-trip delay time between the publishing client and the first virtual publishing server;
determining a link quality difference between the first virtual publishing server and the actual publishing server when the round trip delay time is greater than a first delay time threshold;
receiving the sending quantity of the first data packets in unit time fed back by the first virtual publishing server, and acquiring the sending quantity of the second data packets sent by the publishing client in unit time;
and when the sending quantity of the first data packets is greater than the sending quantity of the second data packets, determining that the link quality between the first virtual publishing server and the actual publishing server is poor.
In one embodiment, the unit time is a time duration of 1 second.
When the number of first data packets which are not sent by the first virtual publishing server in unit time is determined according to the received discontinuous data packet serial numbers, the number of the first data packets which are not sent by the first virtual publishing server in unit time is the publishing client, and the number of the data packet serial numbers of the data packets which are not sent to the actual publishing server by the first virtual publishing server in unit time is determined according to the data packet serial numbers of the data packets of the streaming media which are sent in unit time and the received discontinuous data packet serial numbers of the streaming media which are fed back by the first virtual publishing server and sent to the actual publishing server by the first virtual publishing server.
And caching the second data packet quantity of the data packets of the streaming media sent by the publishing client in the unit time, namely the second data packet sending quantity sent by the publishing client in the unit time in the publishing client.
Calculating the packet loss rate in unit time according to the first data packet quantity and the second data packet quantity, including:
calculating the packet loss rate per unit time by the following formula:
the packet loss rate per unit time = the first packet number/the second packet number.
And the first packet loss rate threshold is cached in the publishing client.
The delay detection period and the round trip delay detection data packet are cached in the server in advance.
In order to determine the round trip delay time between the publishing client and the first virtual publishing server, the following interaction procedure is further executed between the publishing client and the first virtual publishing server:
the first virtual publishing server may send response information to the publishing client when receiving the round-trip delay probe packet, and the publishing client determines the round-trip delay time between the publishing client and the first virtual publishing server according to a time length between a time of sending the round-trip delay probe packet and a time of receiving the response information when receiving the response information.
When the sending number of the first data packets is greater than the sending number of the second data packets, the result that the effective bandwidth of the first virtual publishing server is too small is obtained when the effective bandwidth of the first virtual publishing server is evaluated, and the link is easily blocked due to the too small effective bandwidth.
Of course, in addition to the above-mentioned method for calculating the packet loss rate, determining the round-trip delay time between the publishing client and the first virtual publishing server, and evaluating the effective bandwidth of the first virtual publishing server, any method capable of calculating the packet loss rate in the prior art may be used to calculate the packet loss rate, determine the round-trip delay time between the publishing client and the first virtual publishing server by using any existing method for determining the round-trip delay time between the device, and evaluate the effective bandwidth of the first virtual publishing server by using any existing method for evaluating the effective bandwidth, which is not described herein again.
The real publishing server is configured to send probe service information to other virtual publishing servers except the first virtual publishing server while publishing the data packet of the streaming media sent by the publishing client through the first virtual publishing server, so as to determine link quality between the real publishing server and the other virtual publishing servers, and send an IP address of a virtual publishing server with good link quality between the other virtual publishing server and the real publishing server to the scheduling server;
when receiving the connection replacement information sent by the second virtual publishing server, sending confirmation information to the second virtual publishing server;
when receiving streaming media data packets respectively sent by the first virtual publishing server and the second virtual publishing server, respectively, acquiring a streaming media identifier and a data packet sequence number sent by the first virtual publishing server and a streaming media identifier and a data packet sequence number sent by the second virtual publishing server;
and when the streaming media identifier and the data packet serial number sent by the first virtual publishing server are determined to be the same as the streaming media identifier and the data packet serial number sent by the second virtual publishing server, sending connection switching information to the publishing client through the second virtual publishing server.
The scheduling server is used for storing a publishing server list; and when the IP address of the virtual publishing server sent by the actual publishing server is obtained, updating the publishing server list by using the obtained IP address of the virtual publishing server to obtain an updated publishing server list.
The second virtual publishing server is used for connecting with the actual publishing server according to the received IP address of the actual publishing server when receiving the IP address of the actual publishing server sent by the publishing client, generating connection replacement information by using the IP address of the second virtual publishing server and sending the connection replacement information to the actual publishing server;
when receiving the confirmation information sent by the actual publishing server, forwarding the confirmation information to the publishing client;
and when receiving the connection switching information sent by the actual publishing server, sending the connection switching information sent by the actual publishing server to the publishing client.
The real distribution server is configured to send probe service information to other virtual distribution servers except the first virtual distribution server to determine link quality between the real distribution server and the other virtual distribution servers, and send an IP address of a virtual distribution server with good link quality between the other virtual distribution servers and the real distribution server to the scheduling server, where the IP address includes:
sending probe service information to other virtual publishing servers except the first virtual publishing server; wherein the probe service information includes: a plurality of data packets having a packet sequence number;
receiving data packet sequence numbers of data packets in the detection service information received in unit time of each virtual publishing server fed back by each virtual publishing server in the other virtual publishing servers;
calculating packet loss rates of the virtual publishing servers in other virtual publishing servers except the first virtual publishing server according to the packet sequence numbers of the packets of the probe service information received by the virtual publishing servers in unit time;
respectively sending round-trip delay detection data packets to each virtual distribution server in other virtual distribution servers except the first virtual distribution server so as to determine round-trip delay time between the actual distribution server and each virtual distribution server;
determining the virtual publishing servers with the packet loss rates smaller than a second packet loss rate threshold and the round-trip delay time smaller than a second delay time threshold in the other virtual publishing servers except the first virtual publishing server as the virtual publishing servers with good link quality with the actual publishing server;
and sending the IP address of the virtual publishing server with good link quality with the actual publishing server to the scheduling server.
Here, the process of calculating the packet loss rate of each virtual distribution server in the other virtual distribution servers except the first virtual distribution server by the actual distribution server is similar to the process of calculating the packet loss rate by the distribution client, and is not repeated here. Moreover, any method capable of calculating the packet loss rate in the prior art can be used to calculate the packet loss rate, which is not described herein again.
Besides the above-described method for determining the round-trip delay time between the actual distribution server and each of the virtual distribution servers, any method capable of determining the round-trip delay time between devices in the prior art may be used to determine the round-trip delay time between the actual distribution server and each of the virtual distribution servers, which is not described herein again.
The streaming media publishing system further comprises: a distribution server; and the distribution server is used for acquiring the streaming media from the actual publishing server and providing the streaming media to the client for watching.
In summary, in the streaming media publishing system provided in this embodiment, when determining that the link quality between the first virtual publishing server and the actual publishing server is poor, the publishing client selects a second virtual publishing server from the publishing server list updated by the scheduling server again to connect with the actual publishing server, and sends a streaming media data packet to the actual publishing server through the first virtual publishing server and the second virtual publishing server at the same time; when the actual publishing server determines that the data packets of the streaming media sent by the first virtual publishing server and the second virtual publishing server are the same, disconnecting the first virtual publishing server from the actual publishing server; compared with the situation that the data stream of the streaming media is not consistent when the originally specified publishing server is replaced in the related technology, the virtual publishing server connected with the actual publishing server is only required to be adjusted without replacing the actual publishing server, so that the operation is simple and convenient; and the data packet of the streaming media can be sent to the actual publishing server through the first virtual publishing server and the second virtual publishing server at the same time temporarily, and when the actual publishing server determines that the data packet of the streaming media sent by the first virtual publishing server is the same as that sent by the second virtual publishing server, the connection between the first virtual publishing server and the actual publishing server is disconnected, so that when the virtual publishing server connected with the actual publishing server is adjusted, the data stream of the streaming media is ensured to be played continuously, and the use experience of a user is improved.
Example 2
This embodiment proposes a streaming media publishing method, configured to implement the function of the publishing client described in embodiment 1 above, where the method includes:
obtaining a publishing server list from the scheduling server, wherein the publishing server list comprises: IP addresses of at least two virtual publishing servers and IP addresses of actual publishing servers;
acquiring the IP address of the actual publishing server from the publishing server list, and acquiring the IP address of a first virtual publishing server from the IP addresses of at least two virtual publishing servers;
according to the acquired IP address of the first virtual publishing server, connecting the first virtual publishing server, and sending the IP address of the actual publishing server to the first virtual publishing server, so that the first virtual publishing server is connected with the actual publishing server according to the IP address of the actual publishing server;
when the first virtual publishing server is determined to be connected with the actual publishing server, sending a data packet of streaming media to the actual publishing server through the first virtual publishing server; wherein, the data packet of the streaming media carries a streaming media identifier and a data packet sequence number;
when the link quality between the first virtual publishing server and the actual publishing server is determined to be poor, acquiring an updated publishing server list from the scheduling server, and acquiring an IP address of a second virtual publishing server from the updated publishing server list;
according to the obtained IP address of the second virtual publishing server, connecting the second virtual publishing server and sending the IP address of the actual publishing server to the second virtual publishing server;
when receiving the confirmation information sent by the second virtual publishing server, sending the data packet of the streaming media to the actual publishing server through the first virtual publishing server and the second virtual publishing server respectively;
and when the issuing client receives the connection switching information sent by the actual issuing server, sending a connection disconnection instruction to the first virtual issuing server, so that the first virtual issuing server is disconnected from the actual issuing server.
Optionally, the method further includes:
when a data packet of streaming media is sent to the actual publishing server through the first virtual publishing server, receiving a data packet sequence number of the data packet of the streaming media sent to the actual publishing server by the first virtual publishing server and fed back by the first virtual publishing server;
when the data packet sequence number fed back by the first virtual publishing server is determined to be discontinuous, determining the number of first data packets which are not sent by the first virtual publishing server in unit time according to the discontinuous data packet sequence number;
acquiring the second data packet quantity of the data packets of the streaming media sent by the issuing client in unit time, and calculating the packet loss rate in unit time according to the first data packet quantity and the second data packet quantity;
when the packet loss rate in the unit time is determined to be greater than a first packet loss rate threshold value, determining that the link quality between the first virtual publishing server and the actual publishing server is poor;
when the time length from the last time of sending the round-trip delay probe packet to the first virtual publishing server reaches the time length of a delay probe period, sending the round-trip delay probe packet to the first virtual publishing server so as to determine the round-trip delay time between the publishing client and the first virtual publishing server;
determining a link quality difference between the first virtual publishing server and the actual publishing server when the round trip delay time is greater than a first delay time threshold;
receiving the sending quantity of the first data packets in unit time fed back by the first virtual publishing server, and acquiring the sending quantity of the second data packets sent by the publishing client in unit time;
and when the sending quantity of the first data packets is greater than the sending quantity of the second data packets, determining that the link quality between the first virtual publishing server and the actual publishing server is poor.
Further, this embodiment also provides a streaming media publishing method, configured to implement the function of the actual publishing server described in embodiment 1 above, where the method includes:
sending probe service information to other virtual publishing servers except the first virtual publishing server while publishing the data packet of the streaming media sent by the publishing client through the first virtual publishing server to determine the link quality between the actual publishing server and the other virtual publishing servers, and sending the IP address of the virtual publishing server with good link quality between the other virtual publishing servers and the actual publishing server to the scheduling server;
when receiving the connection replacement information sent by the second virtual publishing server, sending confirmation information to the second virtual publishing server;
when receiving streaming media data packets respectively sent by the first virtual publishing server and the second virtual publishing server, respectively, acquiring a streaming media identifier and a data packet sequence number sent by the first virtual publishing server and a streaming media identifier and a data packet sequence number sent by the second virtual publishing server;
and when the streaming media identifier and the data packet serial number sent by the first virtual publishing server are determined to be the same as the streaming media identifier and the data packet serial number sent by the second virtual publishing server, sending connection switching information to the publishing client through the second virtual publishing server.
Specifically, the sending probe service information to other virtual distribution servers except the first virtual distribution server to determine link quality between the actual distribution server itself and the other virtual distribution servers, and sending an IP address of a virtual distribution server with good link quality between the other virtual distribution server and the actual distribution server itself to the scheduling server includes:
sending probe service information to other virtual publishing servers except the first virtual publishing server; wherein the probe service information includes: a plurality of data packets having a packet sequence number;
receiving data packet sequence numbers of data packets in the detection service information received in unit time of each virtual publishing server fed back by each virtual publishing server in the other virtual publishing servers;
calculating packet loss rates of the virtual publishing servers in other virtual publishing servers except the first virtual publishing server according to the packet sequence numbers of the packets of the probe service information received by the virtual publishing servers in unit time;
respectively sending round-trip delay detection data packets to each virtual distribution server in other virtual distribution servers except the first virtual distribution server so as to determine round-trip delay time between the actual distribution server and each virtual distribution server;
determining the virtual publishing servers with the packet loss rates smaller than a second packet loss rate threshold and the round-trip delay time smaller than a second delay time threshold in the other virtual publishing servers except the first virtual publishing server as the virtual publishing servers with good link quality with the actual publishing server;
and sending the IP address of the virtual publishing server with good link quality with the actual publishing server to the scheduling server.
In summary, in the present embodiment, a streaming media publishing method is provided, where a publishing client, when determining that a link quality between a first virtual publishing server and an actual publishing server is poor, selects a second virtual publishing server from a publishing server list updated by a scheduling server again to connect with the actual publishing server, and sends a streaming media data packet to the actual publishing server through the first virtual publishing server and the second virtual publishing server at the same time; when the actual publishing server determines that the data packets of the streaming media sent by the first virtual publishing server and the second virtual publishing server are the same, disconnecting the first virtual publishing server from the actual publishing server; compared with the situation that the data stream of the streaming media is not consistent when the originally specified publishing server is replaced in the related technology, the virtual publishing server connected with the actual publishing server is only required to be adjusted without replacing the actual publishing server, so that the operation is simple and convenient; and the data packet of the streaming media can be sent to the actual publishing server through the first virtual publishing server and the second virtual publishing server at the same time temporarily, and when the actual publishing server determines that the data packet of the streaming media sent by the first virtual publishing server is the same as that sent by the second virtual publishing server, the connection between the first virtual publishing server and the actual publishing server is disconnected, so that when the virtual publishing server connected with the actual publishing server is adjusted, the data stream of the streaming media is ensured to be played continuously, and the use experience of a user is improved.
The above description is only for the specific embodiments of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present invention, and all the changes or substitutions should be covered within the scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the appended claims.

Claims (10)

1. A streaming media distribution system, comprising: the system comprises a publishing client, a first virtual publishing server, a second virtual publishing server, an actual publishing server and a scheduling server;
the publishing client is used for sending a data packet of streaming media to the actual publishing server through the first virtual publishing server when the first virtual publishing server is determined to be connected with the actual publishing server; wherein, the data packet of the streaming media carries a streaming media identifier and a data packet sequence number;
when the link quality between the first virtual publishing server and the actual publishing server is determined to be poor, acquiring an updated publishing server list from the scheduling server, and acquiring an IP address of a second virtual publishing server from the updated publishing server list;
according to the obtained IP address of the second virtual publishing server, connecting the second virtual publishing server and sending the IP address of the actual publishing server to the second virtual publishing server;
when receiving the confirmation information sent by the second virtual publishing server, sending the data packet of the streaming media to the actual publishing server through the first virtual publishing server and the second virtual publishing server respectively;
when the issuing client receives the connection switching information sent by the actual issuing server, sending a connection disconnection instruction to the first virtual issuing server to disconnect the first virtual issuing server from the actual issuing server;
the real publishing server is configured to send probe service information to other virtual publishing servers except the first virtual publishing server while publishing the data packet of the streaming media sent by the publishing client through the first virtual publishing server, so as to determine link quality between the real publishing server and the other virtual publishing servers, and send an IP address of a virtual publishing server with good link quality between the other virtual publishing server and the real publishing server to the scheduling server;
when receiving the connection replacement information sent by the second virtual publishing server, sending confirmation information to the second virtual publishing server;
when receiving streaming media data packets respectively sent by the first virtual publishing server and the second virtual publishing server, respectively, acquiring a streaming media identifier and a data packet sequence number sent by the first virtual publishing server and a streaming media identifier and a data packet sequence number sent by the second virtual publishing server;
when the streaming media identifier and the data packet serial number sent by the first virtual publishing server are determined to be the same as the streaming media identifier and the data packet serial number sent by the second virtual publishing server, sending connection switching information to the publishing client through the second virtual publishing server;
the scheduling server is used for storing a publishing server list; when the IP address of the virtual publishing server sent by the actual publishing server is obtained, updating the publishing server list by using the obtained IP address of the virtual publishing server to obtain an updated publishing server list;
the second virtual publishing server is used for connecting with the actual publishing server according to the received IP address of the actual publishing server when receiving the IP address of the actual publishing server sent by the publishing client, generating connection replacement information by using the IP address of the second virtual publishing server and sending the connection replacement information to the actual publishing server;
when receiving the confirmation information sent by the actual publishing server, forwarding the confirmation information to the publishing client;
and when receiving the connection switching information sent by the actual publishing server, sending the connection switching information sent by the actual publishing server to the publishing client.
2. The streaming media distribution system of claim 1, wherein the distribution client is further configured to:
obtaining a publishing server list from the scheduling server, wherein the publishing server list comprises: IP addresses of at least two virtual publishing servers and IP addresses of actual publishing servers;
acquiring the IP address of the actual publishing server from the publishing server list, and acquiring the IP address of a first virtual publishing server from the IP addresses of at least two virtual publishing servers;
and connecting with the first virtual publishing server according to the acquired IP address of the first virtual publishing server, and sending the IP address of the actual publishing server to the first virtual publishing server, so that the first virtual publishing server is connected with the actual publishing server according to the IP address of the actual publishing server.
3. The streaming media distribution system of claim 1, wherein the distribution client is further configured to:
when a data packet of streaming media is sent to the actual publishing server through the first virtual publishing server, receiving a data packet sequence number of the data packet of the streaming media sent to the actual publishing server by the first virtual publishing server and fed back by the first virtual publishing server;
when the data packet sequence number fed back by the first virtual publishing server is determined to be discontinuous, determining the number of first data packets which are not sent by the first virtual publishing server in unit time according to the discontinuous data packet sequence number;
acquiring the second data packet quantity of the data packets of the streaming media sent by the issuing client in unit time, and calculating the packet loss rate in unit time according to the first data packet quantity and the second data packet quantity;
and when the packet loss rate in the unit time is larger than a first packet loss rate threshold value, determining that the link quality between the first virtual publishing server and the actual publishing server is poor.
4. The streaming media distribution system of claim 1, wherein the distribution client is further configured to:
when the time length from the last time of sending the round-trip delay probe packet to the first virtual publishing server reaches the time length of a delay probe period, sending the round-trip delay probe packet to the first virtual publishing server so as to determine the round-trip delay time between the publishing client and the first virtual publishing server;
determining that a link quality between the first virtual publishing server and the actual publishing server is poor when the round-trip delay time is greater than a first delay time threshold.
5. The streaming media distribution system of claim 1, wherein the distribution client is further configured to:
receiving the sending quantity of the first data packets in unit time fed back by the first virtual publishing server, and acquiring the sending quantity of the second data packets sent by the publishing client in unit time;
and when the sending quantity of the first data packets is greater than the sending quantity of the second data packets, determining that the link quality between the first virtual publishing server and the actual publishing server is poor.
6. The streaming media distribution system according to claim 1, wherein the actual distribution server is configured to send probe service information to other virtual distribution servers except the first virtual distribution server to determine link quality between the actual distribution server itself and the other virtual distribution servers, and send an IP address of a virtual distribution server with good link quality between the other virtual distribution server and the actual distribution server itself to the scheduling server, and the IP address includes:
sending probe service information to other virtual publishing servers except the first virtual publishing server; wherein the probe service information includes: a plurality of data packets having a packet sequence number;
receiving data packet sequence numbers of data packets in the detection service information received in unit time of each virtual publishing server fed back by each virtual publishing server in the other virtual publishing servers;
calculating packet loss rates of the virtual publishing servers in other virtual publishing servers except the first virtual publishing server according to the packet sequence numbers of the packets of the probe service information received by the virtual publishing servers in unit time;
respectively sending round-trip delay detection data packets to each virtual distribution server in other virtual distribution servers except the first virtual distribution server so as to determine round-trip delay time between the actual distribution server and each virtual distribution server;
determining the virtual publishing servers with the packet loss rates smaller than a second packet loss rate threshold and the round-trip delay time smaller than a second delay time threshold in the other virtual publishing servers except the first virtual publishing server as the virtual publishing servers with good link quality with the actual publishing server;
and sending the IP address of the virtual publishing server with good link quality with the actual publishing server to the scheduling server.
7. A streaming media publishing method for implementing the function of the publishing client of the streaming media publishing system according to any one of claims 1 to 6, wherein the method comprises:
obtaining a publishing server list from the scheduling server, wherein the publishing server list comprises: IP addresses of at least two virtual publishing servers and IP addresses of actual publishing servers;
acquiring the IP address of the actual publishing server from the publishing server list, and acquiring the IP address of a first virtual publishing server from the IP addresses of at least two virtual publishing servers;
according to the acquired IP address of the first virtual publishing server, connecting the first virtual publishing server, and sending the IP address of the actual publishing server to the first virtual publishing server, so that the first virtual publishing server is connected with the actual publishing server according to the IP address of the actual publishing server;
when the first virtual publishing server is determined to be connected with the actual publishing server, sending a data packet of streaming media to the actual publishing server through the first virtual publishing server; wherein, the data packet of the streaming media carries a streaming media identifier and a data packet sequence number;
when the link quality between the first virtual publishing server and the actual publishing server is determined to be poor, acquiring an updated publishing server list from the scheduling server, and acquiring an IP address of a second virtual publishing server from the updated publishing server list;
according to the obtained IP address of the second virtual publishing server, connecting the second virtual publishing server and sending the IP address of the actual publishing server to the second virtual publishing server;
when receiving the confirmation information sent by the second virtual publishing server, sending the data packet of the streaming media to the actual publishing server through the first virtual publishing server and the second virtual publishing server respectively;
and when the issuing client receives the connection switching information sent by the actual issuing server, sending a connection disconnection instruction to the first virtual issuing server, so that the first virtual issuing server is disconnected from the actual issuing server.
8. The method of claim 7, further comprising:
when a data packet of streaming media is sent to the actual publishing server through the first virtual publishing server, receiving a data packet sequence number of the data packet of the streaming media sent to the actual publishing server by the first virtual publishing server and fed back by the first virtual publishing server;
when the data packet sequence number fed back by the first virtual publishing server is determined to be discontinuous, determining the number of first data packets which are not sent by the first virtual publishing server in unit time according to the discontinuous data packet sequence number;
acquiring the second data packet quantity of the data packets of the streaming media sent by the issuing client in unit time, and calculating the packet loss rate in unit time according to the first data packet quantity and the second data packet quantity;
when the packet loss rate in the unit time is determined to be greater than a first packet loss rate threshold value, determining that the link quality between the first virtual publishing server and the actual publishing server is poor;
when the time length from the last time of sending the round-trip delay probe packet to the first virtual publishing server reaches the time length of a delay probe period, sending the round-trip delay probe packet to the first virtual publishing server so as to determine the round-trip delay time between the publishing client and the first virtual publishing server;
determining a link quality difference between the first virtual publishing server and the actual publishing server when the round trip delay time is greater than a first delay time threshold;
receiving the sending quantity of the first data packets in unit time fed back by the first virtual publishing server, and acquiring the sending quantity of the second data packets sent by the publishing client in unit time;
and when the sending quantity of the first data packets is greater than the sending quantity of the second data packets, determining that the link quality between the first virtual publishing server and the actual publishing server is poor.
9. A streaming media distribution method for implementing the function of the actual distribution server of the streaming media distribution system according to any one of claims 1 to 6, the method comprising:
sending probe service information to other virtual publishing servers except the first virtual publishing server while publishing the data packet of the streaming media sent by the publishing client through the first virtual publishing server to determine the link quality between the actual publishing server and the other virtual publishing servers, and sending the IP address of the virtual publishing server with good link quality between the other virtual publishing servers and the actual publishing server to the scheduling server;
when receiving the connection replacement information sent by the second virtual publishing server, sending confirmation information to the second virtual publishing server;
when receiving streaming media data packets respectively sent by the first virtual publishing server and the second virtual publishing server, respectively, acquiring a streaming media identifier and a data packet sequence number sent by the first virtual publishing server and a streaming media identifier and a data packet sequence number sent by the second virtual publishing server;
and when the streaming media identifier and the data packet serial number sent by the first virtual publishing server are determined to be the same as the streaming media identifier and the data packet serial number sent by the second virtual publishing server, sending connection switching information to the publishing client through the second virtual publishing server.
10. The method according to claim 9, wherein the sending probe service information to the other virtual distribution servers except the first virtual distribution server to determine link quality between the actual distribution server itself and the other virtual distribution servers, and sending an IP address of a virtual distribution server with good link quality between the other virtual distribution server and the actual distribution server itself to the scheduling server, comprises:
sending probe service information to other virtual publishing servers except the first virtual publishing server; wherein the probe service information includes: a plurality of data packets having a packet sequence number;
receiving data packet sequence numbers of data packets in the detection service information received in unit time of each virtual publishing server fed back by each virtual publishing server in the other virtual publishing servers;
calculating packet loss rates of the virtual publishing servers in other virtual publishing servers except the first virtual publishing server according to the packet sequence numbers of the packets of the probe service information received by the virtual publishing servers in unit time;
respectively sending round-trip delay detection data packets to each virtual distribution server in other virtual distribution servers except the first virtual distribution server so as to determine round-trip delay time between the actual distribution server and each virtual distribution server;
determining the virtual publishing servers with the packet loss rates smaller than a second packet loss rate threshold and the round-trip delay time smaller than a second delay time threshold in the other virtual publishing servers except the first virtual publishing server as the virtual publishing servers with good link quality with the actual publishing server;
and sending the IP address of the virtual publishing server with good link quality with the actual publishing server to the scheduling server.
CN202110007116.8A 2021-01-05 2021-01-05 Stream media publishing system and method Active CN112565832B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110007116.8A CN112565832B (en) 2021-01-05 2021-01-05 Stream media publishing system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110007116.8A CN112565832B (en) 2021-01-05 2021-01-05 Stream media publishing system and method

Publications (2)

Publication Number Publication Date
CN112565832A true CN112565832A (en) 2021-03-26
CN112565832B CN112565832B (en) 2021-06-15

Family

ID=75035186

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110007116.8A Active CN112565832B (en) 2021-01-05 2021-01-05 Stream media publishing system and method

Country Status (1)

Country Link
CN (1) CN112565832B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1997148A (en) * 2006-01-06 2007-07-11 华为技术有限公司 A device and method for distribution of the network TV service
US20080201752A1 (en) * 2007-02-16 2008-08-21 At&T Knowledge Ventures, L.P. Multicast data packet recovery system
CN104580263A (en) * 2015-02-11 2015-04-29 深圳市云之讯网络技术有限公司 Method for forwarding media stream by selecting optimal path based on IP network
US20160088326A1 (en) * 2014-09-23 2016-03-24 Watchcorp Holdings LLC Distributed recording, managing, and accessing of surveillance data within a networked video surveillance system
CN105847264A (en) * 2016-03-31 2016-08-10 乐视控股(北京)有限公司 Method and system of providing streaming media service
CN107105309A (en) * 2017-04-25 2017-08-29 北京潘达互娱科技有限公司 Live dispatching method and device
CN107786676A (en) * 2016-08-24 2018-03-09 中国电信股份有限公司 Relay communication method, system and the terminal for trunking traffic

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1997148A (en) * 2006-01-06 2007-07-11 华为技术有限公司 A device and method for distribution of the network TV service
US20080201752A1 (en) * 2007-02-16 2008-08-21 At&T Knowledge Ventures, L.P. Multicast data packet recovery system
US20160088326A1 (en) * 2014-09-23 2016-03-24 Watchcorp Holdings LLC Distributed recording, managing, and accessing of surveillance data within a networked video surveillance system
CN104580263A (en) * 2015-02-11 2015-04-29 深圳市云之讯网络技术有限公司 Method for forwarding media stream by selecting optimal path based on IP network
CN105847264A (en) * 2016-03-31 2016-08-10 乐视控股(北京)有限公司 Method and system of providing streaming media service
CN107786676A (en) * 2016-08-24 2018-03-09 中国电信股份有限公司 Relay communication method, system and the terminal for trunking traffic
CN107105309A (en) * 2017-04-25 2017-08-29 北京潘达互娱科技有限公司 Live dispatching method and device

Also Published As

Publication number Publication date
CN112565832B (en) 2021-06-15

Similar Documents

Publication Publication Date Title
EP2323281B1 (en) System for measuring the transmission bandwidth for multimedia streaming and method for same
US8171123B2 (en) Network bandwidth detection and distribution
US7327676B2 (en) Data transmission control method, program therefor and data transmission unit using the same
KR101602525B1 (en) Streaming with Optional Broadcast Delivery of Data Segments
JPWO2005099188A1 (en) Communication quality control method and apparatus
CN108696772B (en) Real-time video transmission method and device
JP2003249960A (en) Peer-to-peer method of quality of service probing and analysis and infrastructure employing same
US20110149775A1 (en) System and method for interworking between media quality assessment at terminal device and qos control in transport network
CN112436924B (en) Data transmission method and electronic equipment
JP6992813B2 (en) Video playback bit rate estimation device, video playback bit rate estimation method, video playback bit rate estimation program and communication quality measurement device
JP2004007361A (en) Method for controlling data transmission, program therefor, and data transmission apparatus employing the same
JP4730261B2 (en) Communications system
CN112565832B (en) Stream media publishing system and method
JP4798495B2 (en) Video distribution quality measurement system, apparatus and method
JP4930691B2 (en) Reproduction system, reproduction apparatus, reproduction method, and program
JP2008294784A (en) Method and system for measuring stream communication quality, and receiving terminal and router
JPWO2007026604A1 (en) Multicast node device, multicast transfer method, and program
CN115002083B (en) Method, equipment and storage medium for transmitting real-time streaming media data
JP2006109325A (en) Communication system, communication device, and program
JP2004135065A (en) Transmission terminal, reception terminal and data transmission system
JP3927486B2 (en) Streaming distribution apparatus, streaming distribution system, and streaming distribution method
CN115208866A (en) Method for transmitting VR data by automatically selecting transmission mode
JP2009044300A (en) Measuring method of stream communication quality, and measuring system of stream communication quality
CN107302504B (en) Multipath transmission scheduling method and system based on virtual sending queue
EP3363161B1 (en) Transport of time sensitive information using the internet

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