CN111711826B - Video live broadcast service system and method - Google Patents

Video live broadcast service system and method Download PDF

Info

Publication number
CN111711826B
CN111711826B CN201910203443.3A CN201910203443A CN111711826B CN 111711826 B CN111711826 B CN 111711826B CN 201910203443 A CN201910203443 A CN 201910203443A CN 111711826 B CN111711826 B CN 111711826B
Authority
CN
China
Prior art keywords
server
servers
enumeration
live video
video
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
CN201910203443.3A
Other languages
Chinese (zh)
Other versions
CN111711826A (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 Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo 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 Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201910203443.3A priority Critical patent/CN111711826B/en
Publication of CN111711826A publication Critical patent/CN111711826A/en
Application granted granted Critical
Publication of CN111711826B publication Critical patent/CN111711826B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services
    • 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

Abstract

The invention discloses a video live broadcast service system and a video live broadcast service method. Wherein the system comprises: the system comprises a total server, a first server cluster comprising a plurality of intermediate servers, a second server cluster comprising a plurality of edge servers and a third server cluster; the total server is used for: according to the enumeration result returned by the third server cluster, the live video is issued to the intermediate server; the edge server is used for: pulling the direct-broadcasting video from the intermediate server according to the enumeration result returned by the third server cluster; the third server is used for: maintaining an intermediate server list and an intermediate server enumeration algorithm, and obtaining an enumeration result of an intermediate server according to the intermediate server enumeration algorithm after receiving a request sent by a total server or an edge server. The system decouples the consistency of data maintenance among different server cluster levels, avoids the complexity of data consistency maintenance among two different server levels, and improves the service performance of the system.

Description

Video live broadcast service system and method
Technical Field
The invention relates to the technical field of computer networks, in particular to a video live broadcast service system and a video live broadcast service method.
Background
In the live video broadcast process, a user end (live broadcast end) corresponding to a host user uploads live video recorded in real time to a service system, and a user end (viewing end) corresponding to a watching user pulls the corresponding live video from the service system to realize live video broadcast. The existing live video service system is a server topology of multiple service levels, and the service system comprises: a total server, a cluster comprising a plurality of intermediate servers, and a cluster comprising a plurality of edge servers. The hierarchy of the overall servers is located above the hierarchy of the intermediate servers, which is located above the hierarchy of the edge servers. The method comprises the steps that an edge server firstly receives a live video uploading request sent by a live video terminal, and the live video is transmitted to a total server through an intermediate server, wherein the live video uploading request is an uplink transmission process of the live video; the master server transmits the uploaded live video to the intermediate server, and the edge server pulls the direct-broadcast video from the intermediate server after receiving the live video playing request sent by the watching end, which is a downlink transmission process of the live video.
In the downlink transmission process in the prior art, as the intermediate server is a cluster service, before the total server issues the live video to the intermediate server, the total server needs to enumerate an intermediate server according to an enumeration algorithm, and issues the live video to the intermediate server. Accordingly, after receiving a live video playing request sent by a viewing end, the edge server also needs to enumerate an intermediate server storing the live video according to a consistent enumeration algorithm, and pull the direct-broadcasting video from the intermediate server. The total server and each edge server need to maintain the consistency of the intermediate server list and the enumeration algorithm to effectively finish the issuing of the live video. If the intermediate server cluster is changed or failed or the enumeration algorithm is updated, the change condition of the intermediate server list or the updated version of the enumeration algorithm needs to be synchronized to the total server and each edge server, however, as the edge server cluster is usually huge, the maintenance work of the data consistency is very complex, once the inconsistency problem occurs, the failure of pulling the direct-broadcasting video by the edge server is very easy to cause, and the service performance of the direct-broadcasting service system is greatly affected.
Disclosure of Invention
The present invention has been made in view of the above problems, and has as its object to provide a live video service system and a corresponding live video service method which overcome or at least partially solve the above problems.
According to one aspect of the present invention, there is provided a video live service system, comprising: a total server, a first server cluster comprising a plurality of intermediate servers, and a second server cluster comprising a plurality of edge servers, the system further comprising: a third server cluster;
the total server is used for: receiving the uploaded live video, and requesting an enumeration result of an intermediate server from the third server cluster; according to the enumeration result, the live video is issued to an intermediate server;
the edge server is used for: requesting an enumeration result of an intermediate server from the third server cluster according to the live video pulling request; pulling the live video from the intermediate server according to the enumeration result;
any one of the third servers in the third server cluster is configured to: maintaining an intermediate server list and an intermediate server enumeration algorithm, and obtaining an enumeration result of an intermediate server according to the intermediate server enumeration algorithm after receiving a request sent by the total server or the edge server.
Optionally, the overall server is further configured to:
sending a request to each third server in the third server cluster to acquire an enumeration result of an intermediate server returned by each third server;
and comparing whether enumeration results of the intermediate servers returned by the third servers are consistent, and if so, issuing the live video to the intermediate servers.
Optionally, the edge server is further configured to:
sending a request to each third server in the third server cluster according to the live video pulling request so as to acquire an enumeration result of an intermediate server returned by each third server;
and comparing whether enumeration results of the intermediate servers returned by the third servers are consistent, and if so, pulling the live video from the intermediate servers.
Optionally, the edge server is further configured to: and if the enumeration results of the intermediate servers returned by the third servers are inconsistent, polling is initiated to a plurality of intermediate servers obtained by enumeration of the third servers until the live video is pulled.
Optionally, any one third server in the third server cluster is further configured to: and acquiring the intermediate server list and an intermediate server enumeration algorithm from a configuration management center.
According to another aspect of the present invention, there is provided a live video service method, the method being implemented based on the live video service system, the method comprising:
receiving the uploaded live video, requesting an enumeration result of an intermediate server from a third server cluster, and issuing the live video to the intermediate server according to the enumeration result;
requesting an enumeration result of an intermediate server from a third server cluster according to the live video pulling request, and pulling the live video from the intermediate server according to the enumeration result;
and distributing the live video to a watching end.
Optionally, the requesting the enumeration result of the intermediate server from the third server cluster, and according to the enumeration result, issuing the live video to the intermediate server further includes:
sending a request to each third server in the third server cluster to acquire an enumeration result of an intermediate server returned by each third server;
and comparing whether enumeration results of the intermediate servers returned by the third servers are consistent, and if so, issuing the live video to the intermediate servers.
Optionally, the requesting, according to the live video pulling request, an enumeration result of the intermediate server from the third server cluster, and pulling, according to the enumeration result, the live video from the intermediate server further includes:
sending a request to each third server in the third server cluster according to the live video pulling request so as to acquire an enumeration result of an intermediate server returned by each third server;
and comparing whether enumeration results of the intermediate servers returned by the third servers are consistent, and if so, pulling the live video from the intermediate servers.
Optionally, the pulling the live video from the intermediate server according to the enumeration result further includes:
and if the enumeration results of the intermediate servers returned by the third servers are inconsistent, polling is initiated to a plurality of intermediate servers obtained by enumeration of the third servers until the live video is pulled.
Optionally, the method further comprises: each third server in the third server cluster obtains the intermediate server list and the intermediate server enumeration algorithm from the configuration management center.
According to yet another aspect of the present invention, there is provided a computing device comprising: the device comprises a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface are communicated with each other through the communication bus;
the memory is used for storing at least one executable instruction, and the executable instruction enables the processor to execute the operation corresponding to the video live broadcast service method.
According to still another aspect of the present invention, there is provided a computer storage medium having at least one executable instruction stored therein, the executable instruction causing a processor to perform operations corresponding to the live video service method described above.
According to the technical scheme provided by the invention, the third server cluster is additionally arranged, and is used for specially maintaining the intermediate server list and the intermediate server enumeration algorithm, so that the total server and the edge server do not need to maintain the intermediate server list and the intermediate server enumeration algorithm. Compared with the prior art, on one hand, the system decouples the relevance of data maintenance consistency between different server cluster levels (a total server cluster and an edge server cluster), and avoids the complexity of data consistency maintenance between two different server levels; on the other hand, the third server cluster is not a server for providing core video distribution service, the number of servers of the cluster is far smaller than that of service core servers such as a total server, an intermediate server and an edge server, and when the change condition of an intermediate server list or the upgrading condition of an enumeration algorithm occurs, the efficiency of realizing synchronous update of the third server cluster is very high; in still another aspect, the master server and the edge server can focus on the distribution of video files without starting an enumeration process, so that the video distribution efficiency in the live broadcast process is improved. In summary, the service performance of the video live broadcast service system is greatly improved.
The foregoing description is only an overview of the present invention, and is intended to be implemented in accordance with the teachings of the present invention in order that the same may be more clearly understood and to make the same and other objects, features and advantages of the present invention more readily apparent.
Drawings
Various other advantages and benefits will become apparent to those of ordinary skill in the art upon reading the following detailed description of the preferred embodiments. The drawings are only for purposes of illustrating the preferred embodiments and are not to be construed as limiting the invention. Also, like reference numerals are used to designate like parts throughout the figures. In the drawings:
fig. 1 shows a schematic architecture diagram of a live video service system according to an embodiment of the invention;
fig. 2 shows a flowchart of a live video service method according to an embodiment of the present invention;
FIG. 3 illustrates a schematic diagram of a computing device, according to an embodiment of the invention.
Detailed Description
Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
Fig. 1 shows a schematic architecture diagram of a live video service system according to an embodiment of the present invention, and as shown in fig. 1, the live video service system includes: the system further comprises a total server, a first server cluster comprising a plurality of intermediate servers, and a second server cluster comprising a plurality of edge servers: and a third server cluster. The video live broadcast service system of the invention is a topology structure of multiple service levels. The hierarchy of the total servers is located above the hierarchy of the intermediate servers, the hierarchy of the intermediate servers is located above the hierarchy of the edge servers, and the third server and the intermediate servers belong to the same hierarchy. The intermediate server, the edge server and the third server are all clustered services, and optionally, the total server is clustered services, and there may be a plurality of total servers.
The total server is used for: receiving the uploaded live video, and requesting an enumeration result of the intermediate server from a third server cluster; according to the enumeration result, the live video is issued to the intermediate server; the edge server is used for: requesting an enumeration result of the intermediate server from a third server cluster according to the live video pulling request; and pulling the direct-broadcast video from the intermediate server according to the enumeration result; any one of the third servers in the third server cluster is configured to: maintaining an intermediate server list and an intermediate server enumeration algorithm, and obtaining an enumeration result of an intermediate server according to the intermediate server enumeration algorithm after receiving a request sent by a total server or an edge server.
Unlike the prior art, the system adds a third server cluster. The third server is a server deployed at the same level as the intermediate server, and does not provide a specific video distribution service, so the number of servers in the third server cluster is far smaller than the number of intermediate servers and edge servers. In the actual implementation process, a certain number of servers can be screened from the original intermediate server cluster, so that video distribution service is not provided, and an intermediate server list and an intermediate server enumeration algorithm are specially maintained; or, a certain number of servers are added in the hierarchy of the intermediate servers, so that the intermediate servers are specially maintained for an intermediate server list and an intermediate server enumeration algorithm. In summary, the third server cluster in the system is responsible for maintaining the intermediate server list and the intermediate server enumeration algorithm, and the total server and the edge server do not need to maintain the intermediate server list and the intermediate server enumeration algorithm.
Further, each third server in the third server cluster obtains a list of intermediate servers and an intermediate server enumeration algorithm from the configuration management center. The third server may periodically request a list of intermediary servers from the configuration management center and an intermediary server enumeration algorithm; or after the intermediate server list is changed or the enumeration algorithm is updated, the configuration management center synchronizes the changed intermediate server list or the updated enumeration algorithm to all the third servers. Since the number of third servers is far smaller than the number of total servers and edge servers, the third servers maintain the consistency of the intermediate server list and the enumeration algorithm, and the workload of synchronous work is greatly reduced.
The downlink transmission process of the system specifically comprises the following steps: after receiving the live video transmitted in the uplink, the total server sends a request to each third server in the third server cluster, and after each third server receives the request, the enumeration results of the intermediate servers are calculated according to the intermediate server list and the enumeration algorithm maintained by the total server, namely, the live video is issued to which intermediate server. And each third server returns the enumeration result to the total server. Under normal conditions, the enumeration results of the third servers should be consistent, and then the total server issues the live video to the enumerated intermediate server.
After receiving the request, the edge server sends a request to each third server in the third server cluster, and after receiving the request, each third server calculates an enumeration result of the intermediate server according to an intermediate server list and an enumeration algorithm maintained by the edge server, namely, which intermediate server to pull the direct broadcast video from. And each third server returns the enumeration result to the edge server. Under normal circumstances, the enumeration results of the respective third servers should be consistent, and the edge server pulls the direct-cast video from the enumerated intermediate server.
It should be noted that, the specific implementation of the enumeration algorithm is not limited in the present invention, and any enumeration algorithm provided in the prior art may be used. The enumeration algorithm can ensure that the intermediate servers enumerated for the same live video are identical, namely, the issuing targets of the same live video total server and the pulling targets of the edge servers are identical.
In an abnormal situation, the third server cluster fails to maintain the consistency of the intermediate server list and the enumeration algorithm, and then the enumeration results of the respective third servers may be inconsistent. If the total server compares that the enumeration results returned by the third servers are inconsistent, an alarm prompt can be sent to enable the third servers to request the intermediate server list and the intermediate server enumeration algorithm from the configuration management center again, so that the intermediate server list and the intermediate server enumeration algorithm of the third servers are consistent. If the edge server compares that the enumeration results returned by the third servers are inconsistent, for example: and if the number of the intermediate servers enumerated by each third server is more than two, the edge server initiates polling to the more than two intermediate servers until the live video is pulled. Specifically, if the polled intermediate server has the live video, the live video is sent to an edge server; if the polled intermediate server does not have the live video, an error code is sent to the edge server.
The video live broadcast service system of the embodiment supports file type video live broadcast. In the uplink transmission process, live video is streamed to a total server; in the downstream transmission process, the live video stream is converted into a file format. Specifically, the system performs slice processing on the data frame of the live video stream based on HLS (HTTP Live Streaming) protocol. The HLS protocol is a dynamic code stream adaptive protocol based on a hypertext transfer protocol, in which a live video stream is sliced into continuous, very short duration media files, and corresponding index files are generated, which are called slice files, and the index files are called slice index files. In the HLS protocol, the slice file format is a TS file and the slice index file format is an m3u8 file. The slice index file includes file information of a corresponding slice file, and the file information includes a slice name, a slice type, a slice length, a slice storage location, a slice serial number, a slice size, a stream time, a stream source, and/or the like of the slice file.
In the system, the slicing processing of the live video stream can be completed by an intermediate server. Specifically, after the total server sends the live video stream down to the intermediate server, the intermediate server performs slicing processing to convert the streaming video into a video file; the edge server pulls the video file from the intermediate server, the edge server has certain buffering capacity, and the pulled video file is buffered and then sent to the watching end.
In the system, the slicing processing of the live video stream can also be completed by the third server. Specifically, the total server sends the live video stream to any third server, and the third server performs slicing processing to convert the streaming video into a video file. Then, the third server can return the video file to the total server, and the video file is issued to the intermediate server by the total server; or after the third server selects the intermediate server through enumeration, the video file is directly distributed to the intermediate server. The edge server pulls the video file from the intermediate server, the edge server has certain buffering capacity, and the pulled video file is buffered and then sent to the watching end.
According to the video live broadcast service system provided by the invention, the third server cluster is additionally arranged, the third server cluster is used for specially maintaining the intermediate server list and the intermediate server enumeration algorithm, and the total server and the edge server do not need to maintain the intermediate server list and the intermediate server enumeration algorithm. Compared with the prior art, on one hand, the system decouples the relevance of data maintenance consistency between different server cluster levels (a total server cluster and an edge server cluster), and avoids the complexity of data consistency maintenance between two different server levels; on the other hand, the third server cluster is not a server for providing core video distribution service, the number of servers of the cluster is far smaller than that of service core servers such as a total server, an intermediate server and an edge server, and when the change condition of an intermediate server list or the upgrading condition of an enumeration algorithm occurs, the efficiency of realizing synchronous update of the third server cluster is very high; in still another aspect, the master server and the edge server can focus on the distribution of video files without starting an enumeration process, so that the video distribution efficiency in the live broadcast process is improved. In summary, the service performance of the video live broadcast service system is greatly improved.
Fig. 2 shows a flowchart of a live video service method according to an embodiment of the invention. The method is implemented based on the video live broadcast service system, as shown in fig. 2, and comprises the following steps:
step S201, receiving the uploaded live video, requesting an enumeration result of an intermediate server from a third server cluster, and issuing the live video to the intermediate server according to the enumeration result;
step S202, requesting an enumeration result of an intermediate server from a third server cluster according to a live video pulling request, and pulling a direct-broadcasting video from the intermediate server according to the enumeration result;
step S203, distributing the live video to the viewing end.
The method is different from the prior art in the downlink transmission process of live video broadcast. The uplink transmission process of the live video broadcast is consistent with the prior art, and is not repeated.
In the step S201, the total server receives the live video uploaded in the uplink transmission process, and requests the enumeration result of the intermediate server from the third server cluster because the total server does not maintain the intermediate server list and the enumeration algorithm of the intermediate server. Further, the total server sends a request to each third server in the third server cluster to acquire an enumeration result of the intermediate server returned by each third server; and comparing whether enumeration results of the intermediate servers returned by the third servers are consistent, and if so, issuing the live video to the intermediate servers. If not, the total server may issue an alarm prompt to cause each third server to perform a resynchronization update, e.g., to request the intermediate server list and the intermediate server enumeration algorithm from the configuration management center, to ensure that the intermediate server list and the intermediate server enumeration algorithm of each third server are consistent.
In step S202, after receiving the live video pulling request sent by the viewing end, the edge server requests the enumeration result of the intermediate server from the third server cluster because the edge server does not maintain the intermediate server list and the enumeration algorithm of the intermediate server. Further, the edge server sends a request to each third server in the third server cluster to acquire an enumeration result of the intermediate server returned by each third server; comparing whether enumeration results of the intermediate servers returned by the third servers are consistent, and if so, pulling the direct broadcast video from the intermediate servers; if not, for example: and if the number of the intermediate servers enumerated by each third server is more than two, the edge server initiates polling to the more than two intermediate servers until the live video is pulled. Specifically, if the polled intermediate server has the live video, the live video is sent to an edge server; if the polled intermediate server does not have the live video, an error code is sent to the edge server.
In step S203, the edge server responds to the live video pulling request sent by the viewing end, and distributes the live video to the corresponding viewing end.
Further, the method also comprises the following steps: each third server in the third server cluster obtains a list of intermediate servers from the configuration management center and an intermediate server enumeration algorithm. The third server may periodically request a list of intermediary servers from the configuration management center and an intermediary server enumeration algorithm; or after the intermediate server list is changed or the enumeration algorithm is updated, the configuration management center synchronizes the changed intermediate server list or the updated enumeration algorithm to all the third servers. Since the number of third servers is far smaller than the number of total servers and edge servers, the third servers maintain the consistency of the intermediate server list and the enumeration algorithm, and the workload of synchronous work is greatly reduced.
The video live broadcast service method provided by the embodiment supports file type video live broadcast. The slicing of the live video stream may be done by an intermediate server. Specifically, after the total server sends the live video stream down to the intermediate server, the intermediate server performs slicing processing to convert the streaming video into a video file; the edge server pulls the video file from the intermediate server, the edge server has certain buffering capacity, and the pulled video file is buffered and then sent to the watching end.
The slicing of the live video stream may also be done by the third server. Specifically, after receiving the uploaded live video, the total server sends the live video stream to any third server, and the third server performs slicing processing to convert the streaming video into a video file. Then, the third server can return the video file to the total server, and the total server issues the video file to the intermediate server selected through enumeration; or the third server obtains the video file through slicing processing, and distributes the video file to the intermediate server directly after enumerating and selecting the intermediate server. The edge server pulls the video file from the intermediate server, the edge server has certain buffering capacity, and the pulled video file is buffered and then sent to the watching end.
In the present invention, the slicing process of streaming video may be performed with reference to one or more of the following ways:
in the first mode, a maximum slicing time length is set for streaming video in which audio always exists and video sometimes does not exist, if the maximum slicing time length is exceeded, slicing is forced, the slicing time length is prevented from being overlong, and a pure audio slicing file with overlong time length appears.
In a second mode, aiming at the scene that a player at some watching end can completely download slice files and start playing, the duration of the first few slice files of the streaming video is set to be shorter, if the duration of the first preset number of slice files is smaller than the preset duration, the first screen time is shortened, and the playing experience is improved.
In the third mode, for the same live broadcast slice, slice file information is read from the last slice index file m3u8 and updated to a new slice index file when the live broadcast slice is sliced again, so that a user can play the content in the shortest time without waiting for the new live broadcast slice, and the first screen time is shortened.
In a fourth mode, aiming at the situation that the same live broadcast abnormal current is cut off or the time stamp overflows and retreats, the watching end player cannot play the scene, the server end corrects by increasing the system time, and the time stamp is ensured to monotonically increase when the same slicing machine performs slicing; meanwhile, different slicing machines perform time synchronization through the NTP server, so that the time stamp is ensured to monotonically increase when the different slicing machines slice.
Mode five, under normal condition, the live broadcast of once is ended, just with the section index file uploading storage, in order to prevent that the section machine downtime from leading to the section index file to lose, and then lead to whole live broadcast video to be unable to broadcast, carry out regularly split index file, upload in real time, reduce the section index file and lose the risk.
In a sixth mode, when the slicing machine judges that the time stamp of a certain frame of the streaming video jumps, if the time stamp difference value of the previous frame and the next frame exceeds a preset time length, for example, 2s, forced slicing is performed, and discontinuous labels are written in the slice index file.
According to the video live broadcast service method provided by the invention, the third server cluster specially maintains the intermediate server list and the enumeration algorithm of the intermediate server, and the total server and the edge server do not need to maintain the intermediate server list and the intermediate server enumeration algorithm. Compared with the prior art, on one hand, the method decouples the relevance of data maintenance consistency between different server cluster levels (a total server cluster and an edge server cluster), and avoids the complexity of data consistency maintenance between two different server levels; on the other hand, the third server cluster is not a server for providing core video distribution service, the number of servers of the cluster is far smaller than that of service core servers such as a total server, an intermediate server and an edge server, and when the change condition of an intermediate server list or the upgrading condition of an enumeration algorithm occurs, the efficiency of realizing synchronous update of the third server cluster is very high; in still another aspect, the master server and the edge server can focus on the distribution of video files without starting an enumeration process, so that the video distribution efficiency in the live broadcast process is improved. In summary, the service performance of the video live broadcast service provided by the method is greatly improved.
The invention also provides a nonvolatile computer storage medium, wherein the computer storage medium stores at least one executable instruction, and the executable instruction can execute the video live broadcast service method in any method embodiment.
FIG. 3 illustrates a schematic diagram of a computing device, according to an embodiment of the invention, the particular embodiment of the invention not being limited to a particular implementation of the computing device.
As shown in fig. 3, the computing device may include: a processor (processor) 302, a communication interface (Communications Interface) 304, a memory (memory) 306, and a communication bus 308.
Wherein:
processor 302, communication interface 304, and memory 306 perform communication with each other via communication bus 308.
A communication interface 304 for communicating with network elements of other devices, such as clients or other servers.
The processor 302 is configured to execute the program 310, and may specifically perform relevant steps in the foregoing embodiments of the live video service method.
In particular, program 310 may include program code including computer-operating instructions.
The processor 302 may be a central processing unit CPU, or a specific integrated circuit ASIC (Application Specific Integrated Circuit), or one or more integrated circuits configured to implement embodiments of the present invention. The one or more processors included by the computing device may be the same type of processor, such as one or more CPUs; but may also be different types of processors such as one or more CPUs and one or more ASICs.
Memory 306 for storing programs 310. Memory 306 may comprise high-speed RAM memory or may also include non-volatile memory (non-volatile memory), such as at least one disk memory.
Program 310 may be specifically configured to cause processor 302 to perform the live video service method of any of the method embodiments described above. The specific implementation of each step in the program 310 may refer to corresponding descriptions in the corresponding steps and units in the above video live service embodiment, which are not repeated herein. It will be clear to those skilled in the art that, for convenience and brevity of description, specific working procedures of the apparatus and modules described above may refer to corresponding procedure descriptions in the foregoing method embodiments, which are not repeated herein.
The algorithms and displays presented herein are not inherently related to any particular computer, virtual system, or other apparatus. Various general-purpose systems may also be used with the teachings herein. The required structure for a construction of such a system is apparent from the description above. In addition, the present invention is not directed to any particular programming language. It will be appreciated that the teachings of the present invention described herein may be implemented in a variety of programming languages, and the above description of specific languages is provided for disclosure of enablement and best mode of the present invention.
In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.
Similarly, it should be appreciated that in the foregoing description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. However, the disclosed method should not be construed as reflecting the intention that: i.e., the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the detailed description are hereby expressly incorporated into this detailed description, with each claim standing on its own as a separate embodiment of this invention.
Those skilled in the art will appreciate that the modules in the apparatus of the embodiments may be adaptively changed and disposed in one or more apparatuses different from the embodiments. The modules or units or components of the embodiments may be combined into one module or unit or component and, furthermore, they may be divided into a plurality of sub-modules or sub-units or sub-components. Any combination of all features disclosed in this specification (including any accompanying claims, abstract and drawings), and all of the processes or units of any method or apparatus so disclosed, may be used in combination, except insofar as at least some of such features and/or processes or units are mutually exclusive. Each feature disclosed in this specification (including any accompanying claims, abstract and drawings), may be replaced by alternative features serving the same, equivalent or similar purpose, unless expressly stated otherwise.
Furthermore, those skilled in the art will appreciate that while some embodiments described herein include some features but not others included in other embodiments, combinations of features of different embodiments are meant to be within the scope of the invention and form different embodiments. For example, in the claims, any of the claimed embodiments may be used in any combination.
Various component embodiments of the invention may be implemented in hardware, or in software modules running on one or more processors, or in a combination thereof. Those skilled in the art will appreciate that some or all of the functions of some or all of the components in accordance with embodiments of the present invention may be implemented in practice using a microprocessor or Digital Signal Processor (DSP). The present invention can also be implemented as an apparatus or device program (e.g., a computer program and a computer program product) for performing a portion or all of the methods described herein. Such a program embodying the present invention may be stored on a computer readable medium, or may have the form of one or more signals. Such signals may be downloaded from an internet website, provided on a carrier signal, or provided in any other form.
It should be noted that the above-mentioned embodiments illustrate rather than limit the invention, and that those skilled in the art will be able to design alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word "comprising" does not exclude the presence of elements or steps not listed in a claim. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention may be implemented by means of hardware comprising several distinct elements, and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by one and the same item of hardware. The use of the words first, second, third, etc. do not denote any order. These words may be interpreted as names.

Claims (12)

1. A video live service system, comprising: a total server, a first server cluster comprising a plurality of intermediate servers, and a second server cluster comprising a plurality of edge servers, the system further comprising: a third server cluster;
the total server is used for: receiving the uploaded live video, and requesting an enumeration result of an intermediate server from the third server cluster; according to the enumeration result, the live video is issued to an intermediate server, and the servers in the third server cluster and the intermediate server are deployed at the same level;
the edge server is used for: requesting an enumeration result of an intermediate server from the third server cluster according to the live video pulling request; pulling the live video from the intermediate server according to the enumeration result;
any one of the third servers in the third server cluster is configured to: maintaining an intermediate server list and an intermediate server enumeration algorithm, and obtaining an enumeration result of an intermediate server according to the intermediate server enumeration algorithm after receiving a request sent by the total server or the edge server.
2. The video live service system of claim 1, the overall server further to:
sending a request to each third server in the third server cluster to acquire an enumeration result of an intermediate server returned by each third server;
and comparing whether enumeration results of the intermediate servers returned by the third servers are consistent, and if so, issuing the live video to the intermediate servers.
3. The video live service system of claim 1, the edge server further to:
sending a request to each third server in the third server cluster according to the live video pulling request so as to acquire an enumeration result of an intermediate server returned by each third server;
and comparing whether enumeration results of the intermediate servers returned by the third servers are consistent, and if so, pulling the live video from the intermediate servers.
4. The video live service system of claim 3, the edge server further to: and if the enumeration results of the intermediate servers returned by the third servers are inconsistent, polling is initiated to a plurality of intermediate servers obtained by enumeration of the third servers until the live video is pulled.
5. The video live service system of any of claims 1-4, any of the third servers in the third server cluster further configured to: and acquiring the intermediate server list and an intermediate server enumeration algorithm from a configuration management center.
6. A live video service method, the method being implemented based on the live video service system of any of claims 1-5, the method comprising:
receiving the uploaded live video, requesting an enumeration result of an intermediate server from a third server cluster, and issuing the live video to the intermediate server according to the enumeration result, wherein the servers in the third server cluster and the intermediate server are deployed at the same level;
requesting an enumeration result of an intermediate server from a third server cluster according to the live video pulling request, and pulling the live video from the intermediate server according to the enumeration result;
and distributing the live video to a watching end.
7. The method of claim 6, the requesting enumeration results of the intermediate server from the third server cluster, and according to the enumeration results, issuing the live video to the intermediate server further comprises:
sending a request to each third server in the third server cluster to acquire an enumeration result of an intermediate server returned by each third server;
and comparing whether enumeration results of the intermediate servers returned by the third servers are consistent, and if so, issuing the live video to the intermediate servers.
8. The method of claim 6, wherein requesting enumeration results of the intermediate servers from the third cluster of servers according to the live video pulling request, and pulling the live video from the intermediate servers according to the enumeration results further comprises:
sending a request to each third server in the third server cluster according to the live video pulling request so as to acquire an enumeration result of an intermediate server returned by each third server;
and comparing whether enumeration results of the intermediate servers returned by the third servers are consistent, and if so, pulling the live video from the intermediate servers.
9. The method of claim 8, the pulling the live video from an intermediate server according to enumeration results further comprising:
and if the enumeration results of the intermediate servers returned by the third servers are inconsistent, polling is initiated to a plurality of intermediate servers obtained by enumeration of the third servers until the live video is pulled.
10. The method of any of claims 6-9, further comprising: each third server in the third server cluster obtains the intermediate server list and the intermediate server enumeration algorithm from the configuration management center.
11. A computing device, comprising: the device comprises a processor, a memory, a communication interface and a communication bus, wherein the processor, the memory and the communication interface complete communication with each other through the communication bus;
the memory is configured to store at least one executable instruction, where the executable instruction causes the processor to perform operations corresponding to the live video service method according to any one of claims 6-10.
12. A computer storage medium having stored therein at least one executable instruction for causing a processor to perform operations corresponding to a live video service method as claimed in any one of claims 6 to 10.
CN201910203443.3A 2019-03-18 2019-03-18 Video live broadcast service system and method Active CN111711826B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910203443.3A CN111711826B (en) 2019-03-18 2019-03-18 Video live broadcast service system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910203443.3A CN111711826B (en) 2019-03-18 2019-03-18 Video live broadcast service system and method

Publications (2)

Publication Number Publication Date
CN111711826A CN111711826A (en) 2020-09-25
CN111711826B true CN111711826B (en) 2023-11-03

Family

ID=72536360

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910203443.3A Active CN111711826B (en) 2019-03-18 2019-03-18 Video live broadcast service system and method

Country Status (1)

Country Link
CN (1) CN111711826B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106534916A (en) * 2016-10-25 2017-03-22 杭州顺网科技股份有限公司 Video direct broadcast system aiming at internet cafe environment and based on three-layer server architecture
CN107040563A (en) * 2016-02-04 2017-08-11 阿里巴巴集团控股有限公司 Asynchronous service processing method and server
CN107613312A (en) * 2017-10-09 2018-01-19 武汉斗鱼网络科技有限公司 A kind of live method and apparatus
CN107801086A (en) * 2017-10-20 2018-03-13 广东省南方数字电视无线传播有限公司 The dispatching method and system of more caching servers

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003034776A1 (en) * 2001-10-11 2003-04-24 Fujitsu Limited Device for use in service providing system having integrated components in ad hoc network
GB2477513B (en) * 2010-02-03 2015-12-23 Orbital Multi Media Holdings Corp Redirection apparatus and method
RU2632423C2 (en) * 2015-09-30 2017-10-04 Общество С Ограниченной Ответственностью "Яндекс" Method and search engine for providing search results on plurality of client devices
US20170262543A1 (en) * 2016-03-09 2017-09-14 Dell Products L.P. Method and system for improving sessions and open files enumerations by data structures changes

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107040563A (en) * 2016-02-04 2017-08-11 阿里巴巴集团控股有限公司 Asynchronous service processing method and server
CN106534916A (en) * 2016-10-25 2017-03-22 杭州顺网科技股份有限公司 Video direct broadcast system aiming at internet cafe environment and based on three-layer server architecture
CN107613312A (en) * 2017-10-09 2018-01-19 武汉斗鱼网络科技有限公司 A kind of live method and apparatus
CN107801086A (en) * 2017-10-20 2018-03-13 广东省南方数字电视无线传播有限公司 The dispatching method and system of more caching servers

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
汤凯 ; 周超 ; 张行功 ; 郭宗明 ; .基于LT编码的视频多流并发传输研究.北京大学学报(自然科学版).2015,(第03期),全文. *

Also Published As

Publication number Publication date
CN111711826A (en) 2020-09-25

Similar Documents

Publication Publication Date Title
US11350139B2 (en) Video live broadcast method and apparatus
US20140165119A1 (en) Offline download method, multimedia file download method and system thereof
WO2013075578A1 (en) System and method for offline download of network resource file
CN105282627A (en) Method for acquiring a live video clip and server
JPWO2014007083A1 (en) Transmission device, transmission method, and network device
US10477286B2 (en) Streaming media file processing method and live streaming system
EP3471421B1 (en) Live broadcast video replay method, server, and system
EP3190794A1 (en) System, device and method for implementing hls channel playback service, and storage medium
US11750675B2 (en) Low latency media streaming
CN112437329B (en) Method, device and equipment for playing video and readable storage medium
US11863841B2 (en) Video playing control method and system
WO2019019371A1 (en) Streaming media data transmission method, storage medium and streaming media server
US20170272498A1 (en) Streaming media file distribution method and system
WO2017161757A1 (en) Method and system for distributing streaming media file
CN114185484A (en) Method, device, equipment and medium for clustering document storage
EP3579526B1 (en) Resource file feedback method and apparatus
CN111510790A (en) Video request method, system, computer device and computer readable storage medium
CN114222086A (en) Method, system, medium and electronic device for scheduling audio and video code stream
CN111711826B (en) Video live broadcast service system and method
CN112328693A (en) Block synchronization method, device and storage medium
CN114417055A (en) Video playing method and device, computer equipment and storage medium
CN115412777A (en) Streaming media data transmission method, device and system
CN113301100A (en) Data disaster tolerance method, device, equipment and medium based on content distribution network
US10270883B2 (en) Scheduling downloads
CN114124941B (en) m3u8 format file downloading method, playing method and m3u8 format file downloading system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant