CN110446055A - 一种直播数据流媒体服务容错方法及系统 - Google Patents

一种直播数据流媒体服务容错方法及系统 Download PDF

Info

Publication number
CN110446055A
CN110446055A CN201910691133.0A CN201910691133A CN110446055A CN 110446055 A CN110446055 A CN 110446055A CN 201910691133 A CN201910691133 A CN 201910691133A CN 110446055 A CN110446055 A CN 110446055A
Authority
CN
China
Prior art keywords
streaming media
service
client
media service
source stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910691133.0A
Other languages
English (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.)
TIANWEN DIGITAL MEDIA TECHNOLOGY (HUNAN) Co Ltd
Original Assignee
TIANWEN DIGITAL MEDIA TECHNOLOGY (HUNAN) 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 TIANWEN DIGITAL MEDIA TECHNOLOGY (HUNAN) Co Ltd filed Critical TIANWEN DIGITAL MEDIA TECHNOLOGY (HUNAN) Co Ltd
Priority to CN201910691133.0A priority Critical patent/CN110446055A/zh
Publication of CN110446055A publication Critical patent/CN110446055A/zh
Pending legal-status Critical Current

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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2404Monitoring of server processing errors or hardware failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2405Monitoring of the internal components or processes of the server, e.g. server load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/6473Monitoring network processes errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种直播数据流媒体服务容错方法及系统,本方法通过对源流媒体服务进程以及边缘流媒体服务进程进行监控,当观众客户端在获流的过程中,当前连接的一个边缘流媒体服务进程发生异常后,可以切换另一个边缘流媒体服务进程提供服务,保证观众客户端继续正常下载直播数据流,从而保证观众正常观看直播;在本系统上可以应用上述方法,实现边缘流媒体服务进程之间的切换,保证观众正常观看直播,同时本系统的服务监控模块对源流媒体服务进程以及边缘流媒体服务进程进行监控,选取相对空闲的源流媒体服务进程或边缘流媒体服务进程提供服务,起到了负载均衡的作用。

Description

一种直播数据流媒体服务容错方法及系统
技术领域
本发明涉及直播数据通信领域,特别涉及一种直播数据流媒体服务容错方法及系统。
背景技术
在互联网化全民直播的大背景下,教育行业的直播需求大量兴起。主播利用主播客户端将直播数据传输至流媒体服务器,观众利用观众客户端从流媒体服务器中下载直播数据进行观看。
目前的流媒体服务器对直播数据进行服务主要包括源流媒体服务进程以及边缘流媒体服务进程,源流媒体服务接收由主播客户端上传的直播数据,并将直播数据存储至本地分布式文件系统中,然后边缘流媒体服务进程将直播数据地址返回给观众客户端,观众观看直播;但现有技术中存在有以下两点缺陷:
(1)观众客户端在获流过程中,如果边缘流媒体服务进程出现异常,观众客户端将无法正常观看直播。
(2)边缘流媒体服务进程受网络带宽影响连接数有限,在网络高峰情况下,流媒体服务器的压力较大,导致直播质量下降;而且自建网络带宽以及服务器的成本较高。
发明内容
本发明的目的在于至少解决现有技术中存在的技术问题之一,提供了一种直播数据流媒体服务容错方法及系统。
本发明的第一方面,提供了一种直播数据流媒体服务容错方法,包括以下步骤:
接收观众客户端发送的获流接口请求,监控与源流媒体服务进程连接的若干个边缘流媒体服务进程的当前状态,并根据当前状态结果选取出相对空闲的第一边缘流媒体服务进程,将所述第一边缘流媒体服务进程的地址返回至所述观众客户端;
当所述观众客户端在通过所述第一边缘流媒体服务进程进行获流的过程中所述第一边缘流媒体服务进程发生异常时,接收观众客户端重新发送的获流接口请求,并根据当前状态结果选取出相对空闲的第二边缘流媒体服务进程,并将所述第二边缘流媒体服务进程的地址返回至所述观众客户端。
根据本发明第一方面所述的一种直播数据流媒体服务容错方法,所述接收观众客户端发送的获流接口请求之前还包括以下步骤:
接收主播客户端发送的推流接口请求,监控若干个源流媒体服务进程的当前状态,并根据当前状态结果选取出相对空闲的第一源流媒体服务进程,将所述第一源流媒体服务进程的地址返回至所述主播客户端;
当所述主播客户端在通过所述第一源流媒体服务进程进行推流的过程中所述第一源流媒体服务进程发生异常时,接收主播客户端重新发送的推流接口请求,并根据当前状态结果选取出相对空闲的第二源流媒体服务进程,将所述第二源流媒体服务进程的地址返回至所述主播客户端。
根据本发明第一方面所述的一种直播数据流媒体服务容错方法,所述监控与源流媒体服务进程连接的若干个边缘流媒体服务进程的当前状态具体包括:监控所述若干个边缘流媒体服务进程的观众客户端连接数量、服务器CPU状态、带宽状态以及IO状态的至少一种。
根据本发明第一方面所述的一种直播数据流媒体服务容错方法,所述监控若干个源流媒体服务进程的当前状态具体包括:监控所述若干个源流媒体服务进程的主播客户端连接数量、服务器CPU状态、带宽状态以及IO状态的至少一种。
根据本发明第一方面所述的一种直播数据流媒体服务容错方法,还包括:
将所述主播客户端的直播数据流推送至云服务厂商提供的云服务进程上。
根据本发明第一方面所述的一种直播数据流媒体服务容错方法,还包括:
当所述若干个边缘流媒体服务进程的当前状态结果均超过预设值时,将对应云服务进程的地址返回至所述观众客户端。
本发明的第二方面,提供了一种直播数据流媒体服务容错系统,包括:服务器平台、观众客户端以及服务监控装置;
所述服务器平台上包括有若干个源流媒体服务进程以及与所述源流媒体服务进程连接的若干个边缘流媒体服务进程;
所述观众客户端用于向所述服务监控装置发送获流接口请求、接收返回的第一边缘流媒体服务进程的地址以及与返回的所述第一边缘流媒体服务进程建立连接并获流;
当所述观众客户端在通过所述第一边缘流媒体服务进程进行获流的过程中所述第一边缘流媒体服务进程发生异常时,所述观众客户端还用于重新发送的获流接口请求、接收返回的第二边缘流媒体服务进程的地址以及与返回的所述第二边缘流媒体服务进程建立连接并获流;
所述服务监控装置用于接收所述观众客户端发送的获流接口请求,监控与源流媒体服务进程连接的若干个边缘流媒体服务进程的当前状态,并根据当前状态结果选取出相对空闲的第一边缘流媒体服务进程,将所述第一边缘流媒体服务进程的地址返回至所述观众客户端;
当所述观众客户端在通过所述第一边缘流媒体服务进程进行获流的过程中所述第一边缘流媒体服务进程发生异常时,所述服务监控装置还用于接收所述观众客户端重新发送的获流接口请求,并根据当前状态结果选取出相对空闲的第二边缘流媒体服务进程,并将所述第二边缘流媒体服务进程的地址返回至所述观众客户端。
根据本发明第二方面所述的一种直播数据流媒体服务容错系统,还包括主播客户端;
所述主播客户端用于向所述服务监控装置发送推流接口请求,接收返回的第一源流媒体服务进程的地址以及与返回的所述第一源流媒体服务进程建立连接并推流;
当所述主播客户端在通过所述第一源流媒体服务进程进行推流的过程中所述第一源流媒体服务进程发生异常时,所述主播客户端还用于向所述服务监控装置重新发送推流接口请求,接收返回的第二源流媒体服务进程的地址以及与返回的所述第二源流媒体服务进程建立连接并推流;
所述服务监控装置还用于接收所述主播客户端发送的推流接口请求,监控若干个源流媒体服务进程的当前状态,并根据当前状态结果选取出相对空闲的第一源流媒体服务进程,将所述第一源流媒体服务进程的地址返回至所述主播客户端;
当所述主播客户端在通过所述第一源流媒体服务进程进行推流的过程中所述第一源流媒体服务进程发生异常时,所述服务监控装置还用于接收所述主播客户端重新发送的推流接口请求,并根据当前状态结果选取出相对空闲的第二源流媒体服务进程,将所述第二源流媒体服务进程的地址返回至所述主播客户端。
根据本发明第二方面所述的一种直播数据流媒体服务容错系统,还包括云服务转发装置;
当所述若干个源流媒体服务进程的当前状态结果均超过预设值时,所述云服务转发装置用于将所述主播客户端的直播数据流推送至云服务厂商提供的云服务进程上。
根据本发明第二方面所述的一种直播数据流媒体服务容错系统,当所述若干个边缘流媒体服务进程的当前状态结果均超过预设值时,所述云服务转发装置还用于将对应云服务进程的地址返回至所述观众客户端。
本发明提供的一种直播数据流媒体服务容错方法及系统,至少具有如下有益效果:
(1)服务监控模块对源流媒体服务进程以及边缘流媒体服务进程进行监控,当观众客户端在获流的过程中,当前连接的一个边缘流媒体服务进程发生异常后,可以切换另一个边缘流媒体服务进程进行服务,保证观众客户端继续正常下载直播数据流,从而保证观众正常观看直播;
(2)服务监控模块对源流媒体服务进程以及边缘流媒体服务进程进行监控,选取相对空闲的源流媒体服务进程或边缘流媒体服务进程进行服务,起到了负载均衡的作用;
(3)当网络负载较高时,还可以通过云服务转发装置调用云服务厂商提供的云服务进程进行服务,能够极大程度的缓解对应服务器的压力,同时节省了自建网络带宽以及增设额外服务器的成本。
附图说明
下面结合附图和实施例对本发明进一步地说明;
图1为本发明提供的现有技术的边缘流媒体服务与源流媒体服务的连接结构示意图;
图2为本发明第一实施例提供的一种直播数据流媒体服务容错方法的流程示意图;
图3为本发明第二实施例提供的一种直播数据流媒体服务容错系统的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,如果不冲突,本发明实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。
参照图1,在现有技术中,源流媒体服务进程之间是双向通信,源流媒体服务进程与边缘流媒体服务进程是单向通信,一个源流媒体服务进程可以连接若干个边缘流媒体服务进程。主播在直播时,主播客户端可将直播数据流推送到一个源流媒体服务进程中,观众在观看时,观众客户端连接一个边缘流媒体服务进程并获取直播数据流。该现有技术中存在有以下两点明显缺陷:
第一是当观众客户端在接收直播数据过程中,连接的边缘流媒体服务进程出现异常,而且该边缘流媒体服务进程与其它边缘流媒体服务进程不再同一个域名时,则无法进行切换,从而导致观众无法观看;第二是当在网络高峰情况时,对应服务器的压力较大,导致直播质量下降。
参照图2,本发明的第一个实施例,提供了一种直播数据流媒体服务容错方法,包括以下步骤:
S100、服务监控装置接收主播客户端发送的推流接口请求,监控若干个源流媒体服务进程的当前状态,并根据当前状态结果选取出相对空闲的第一源流媒体服务进程,将第一源流媒体服务进程的地址返回至主播客户端;
S200、当主播客户端在通过第一源流媒体服务进程进行推流的过程中第一源流媒体服务进程发生异常时,服务监控装置接收主播客户端重新发送的推流接口请求,并根据当前状态结果选取出相对空闲的第二源流媒体服务进程,将第二源流媒体服务进程的地址返回至主播客户端;
S300、服务监控装置接收观众客户端发送的获流接口请求,监控与当前源流媒体服务进程连接的若干个边缘流媒体服务进程的当前状态,并根据当前状态结果选取出相对空闲的第一边缘流媒体服务进程,将第一边缘流媒体服务进程的地址返回至观众客户端;
S400、当观众客户端在通过第一边缘流媒体服务进程进行获流的过程中第一边缘流媒体服务进程发生异常时,服务监控装置接收观众客户端重新发送的获流接口请求,并根据当前状态结果选取出相对空闲的第二边缘流媒体服务进程,并将第二边缘流媒体服务进程的地址返回至观众客户端。
在本实施例中的步骤S100与S200是描述的直播数据流上传的过程,而步骤S300与S400是描述的直播数据流下载的过程。具体,在步骤S100中,主播客户端发送http协议的推流接口请求,请求一个源流媒体服务进程提供服务,以实现上传RTMP直播数据流;服务监控装置在此时监控每一个源流媒体服务进程的当前状态,具体包括但不仅限于监控源流媒体服务进程的主播客户端连接数量、服务器CPU状态、带宽状态以及IO状态等,并根据当前状态结果从若干个源流媒体服务进程中选取一个相对空闲的源流媒体服务进程进行服务,可以理解的是,本实施例从若干个源流媒体服务进程选取相对空闲的第一源流媒体服务进程进行服务,并将第一源流媒体服务进程的地址返回至主播客户端;这样能起到均衡负载的作用,合理的调控有限的源流媒体服务进程资源。在步骤S200中,主播客户端与第一源流媒体服务进程建立连接之后,主播客户端向第一源流媒体服务进程进行推流,当此时第一源流媒体服务进程发生异常后,例如第一源流媒体服务进程的所在服务器发生崩溃后,主播客户端将重新发送http协议的推流接口请求,请求获取一个新的源流媒体服务进程,而服务监控装置在重新接收到该请求后,将从若干个源流媒体服务进程选取相对空闲的一个新的源流媒体服务进程来进行服务,避免直播数据流传输中断,可以理解的是,本实施例从若干个源流媒体服务进程选取相对最空闲的第二源流媒体服务进程来进行服务,服务监控装置会将第二源流媒体服务进程的地址返回至主播客户端,等待主播客户端与第二源流媒体服务进程建立连接并继续上传直播数据流;这样能够有效进行源流媒体服务进程的切换,保证直播数据流的正常上传。当然值得注意的是,对应的源流媒体服务进程例如第二源流媒体服务进程会将接收到直播数据流写入到本地分布式文件系统(hdfs)中,如果配置了云服务产商例如华为云或阿里云提供的云服务进程,则会将直播数据流推送至对应的云服务进程中。
在步骤S300中,观众客户端发送http协议的获流接口请求,请求一个边缘流媒体服务进程提供服务,以实现下载RTMP直播数据流;服务监控装置在此时监控与当前源流媒体服务进程连接的若干个边缘流媒体服务进程的当前状态,具体包括但不仅限于监控边缘流媒体服务进程的观众客户端连接数量、服务器CPU状态、带宽状态以及IO状态等,并根据当前状态结果选取出相对空闲的一个边缘流媒体服务进程进行服务,可以理解的是,本步骤描述的当前源流媒体服务进程具体为该直播数据流提供上传服务的当前源流媒体服务进程例如步骤S200中第二源流媒体服务进程;同时,服务监控装置在若干个边缘流媒体服务进程中选取相对空闲的第一边缘流媒体服务进程提供服务,并将第一边缘流媒体服务进程的地址返回至观众客户端;这样能起到均衡负载的作用,合理的调控边缘流媒体服务进程资源,减小服务器压力。在步骤S400中,观众客户端与第一边缘流媒体服务进程建立连接之后,观众客户端通过第一边缘流媒体服务进程进行获流,当此时第一边缘流媒体服务进程发生异常后,例如第一边缘流媒体服务进程的所在服务器发生崩溃后,观众客户端将重新发送http协议的获流接口请求,请求获取一个新的边缘流媒体服务进程,而服务监控装置在重新接收该请求后,将从若干个边缘流媒体服务进程中选取相对空闲的一个新的边缘流媒体服务进程来提供服务,从而避免直播数据流下载中断,可以理解的是,本实施例从若干个边缘流媒体服务进程选取相对最空闲的第二边缘流媒体服务进程来进行服务,服务监控装置会将第二边缘流媒体服务进程的地址返回至观众客户端,等待观众客户端与第二边缘流媒体服务进程建立连接并继续下载直播数据流;这样能够有效进行边缘流媒体服务进程的切换,保证直播数据流正常下载,从而保证观众正常观看直播。当然值得注意的是,对应的边缘流媒体服务进程例如第二边缘流媒体服务进程会先判断本地分布式文件系统(hdfs)中是否缓存有对应的直播数据流,若缓存有直播数据流,则返回直播数据流至观众客户端;若没有缓存直播数据流,则先去提供对应的直播数据流服务的源流媒体服务进程中获取直播数据流,并将直播数据流写入到本地分布式文件系统(hdfs)中,再返回直播数据流至观众客户端。
可以理解的是,在本实施例的步骤S200中,当与主播客户端建立连接的第二源流媒体服务进程也发生异常之后,服务监控装置将继续选取出相对空闲的第三源流媒体服务进程来提供服务,直至直播数据流上传完成;同样在本实施例的步骤S400中,当与观众客户端建立连接的第二边缘流媒体服务进程也发生异常之后,服务监控装置同样将继续选取出相对空闲的第三边缘流媒体服务进程来提供服务,直至直播数据流下载完成。
进一步,在本实施例中,监控与源流媒体服务进程连接的若干个边缘流媒体服务进程的当前状态具体包括:监控若干个边缘流媒体服务进程的观众客户端连接数量、服务器CPU状态、带宽状态以及IO状态的至少一种。例如,服务监控装置调用操作系统底层API获取边缘流媒体服务进程对应的服务器CPU状态、IO状态、带宽状态以及客户端连接数量等,从而根据各个边缘流媒体服务进程的当前状态结果,判断哪一个边缘流媒体服务进程相对最空闲,并选用该边缘流媒体服务进程进行服务,起到均衡负载的作用,合理的调控边缘流媒体服务进程资源,减小服务器压力。
进一步,在本实施例中,监控若干个源流媒体服务进程的当前状态具体包括:监控若干个源流媒体服务进程的主播客户端连接数量、服务器CPU状态、带宽状态以及IO状态的至少一种。例如,服务监控装置调用操作系统底层API获取源流媒体服务进程对应的服务器CPU状态、IO状态、带宽状态以及客户端连接数量等,从而根据各个源流媒体服务进程的当前状态结果,判断哪一个源流媒体服务进程相对最空闲,并选用该源流媒体服务进程进行服务,起到均衡负载的作用,合理的调控有限的源流媒体服务进程资源,减小服务器压力。
进一步,还包括:云服务转发装置将主播客户端的直播数据流发送至云服务厂商提供的云服务进程上;同时当若干个边缘流媒体服务进程的当前状态结果均超过预设值时,云服务转发装置将对应云服务进程的地址返回至观众客户端。
其中,云服务转发装置将根据云服务厂商API将获取的直播数据流存储至该云服务厂商提供的云服务进程中,减少了源流媒体服务进程所在的服务器的负载压力;同时,当每一个边缘流媒体服务进程的当前状态中的观众客户端连接数量超过预设的连接数量时,为了减小负载压力,云服务转发装置将对应的云服务进程的地址返回至观众客户端,观众客户端从云服务进程中下载直播数据流。因为,源流媒体服务进程和边缘流媒体服务进程受网络带宽影响连接数有限,在应对网络高峰情况时,自建网络带宽及服务器成本远远高于使用云服务产商提供的云服务,所以通过例如华为云或者阿里云等云服务产商提供的云服务进程能够帮助过渡网络高峰期,也节省了增设额外服务器以及带宽等硬件成本投入。
参照图3,本发明的第二个实施例,提供了一种直播数据流媒体服务容错系统,本发明第一实施例提供的方法可应用于该系统中,该系统具体包括:一服务器平台、主播客户端、观众客户端、服务监控装置以及云服务转发装置;
在本实施例中,该服务器平台包括至少三个源流媒体服务器以及至少六个边缘流媒体服务器,同时每个源流媒体服务器上运行源流媒体服务进程,每个边缘流媒体服务器运行边缘流媒体服务进程;每一个源流媒体服务器上均设置有服务监控装置以及云服务转发装置。值得注意的是,该服务器平台的源流媒体服务器数量以及边缘流媒体服务器的数量可以根据实际情况来确定;例如该服务器平台也可以只包括一个源流媒体服务器,并根据该源流媒体服务器的端口数量决定运行的源流媒体服务进程以及边缘流媒体服务进程的数量。为了方便描述,本实施例优先选用该服务器平台包括至少三个源流媒体服务器以及至少六个边缘流媒体服务器。
观众客户端用于向服务监控装置发送获流接口请求、接收返回的第一边缘流媒体服务进程的地址以及与返回的第一边缘流媒体服务进程建立连接并获流;
当观众客户端在通过第一边缘流媒体服务进程进行获流的过程中第一边缘流媒体服务进程发生异常时,观众客户端还用于重新发送的获流接口请求、接收返回的第二边缘流媒体服务进程的地址以及与返回的第二边缘流媒体服务进程建立连接并获流;
服务监控装置用于接收观众客户端发送的获流接口请求,监控与源流媒体服务进程连接的若干个边缘流媒体服务进程的当前状态,并根据当前状态结果选取出相对空闲的第一边缘流媒体服务进程,将第一边缘流媒体服务进程的地址返回至观众客户端;
当观众客户端在通过第一边缘流媒体服务进程进行获流的过程中第一边缘流媒体服务进程发生异常时,服务监控装置还用于接收观众客户端重新发送的获流接口请求,并根据当前状态结果选取出相对空闲的第二边缘流媒体服务进程,并将第二边缘流媒体服务进程的地址返回至观众客户端;
主播客户端用于向服务监控装置发送推流接口请求,接收返回的第一源流媒体服务进程的地址以及与返回的第一源流媒体服务进程建立连接并推流;
当主播客户端在通过第一源流媒体服务进程进行推流的过程中第一源流媒体服务进程发生异常时,主播客户端还用于向服务监控装置重新发送推流接口请求,接收返回的第二源流媒体服务进程的地址以及与返回的第二源流媒体服务进程建立连接并推流;
服务监控装置还用于接收主播客户端发送的推流接口请求,监控若干个源流媒体服务进程的当前状态,并根据当前状态结果选取出相对空闲的第一源流媒体服务进程,将第一源流媒体服务进程的地址返回至主播客户端;
当主播客户端在通过第一源流媒体服务进程进行推流的过程中第一源流媒体服务进程发生异常时,服务监控装置还用于接收主播客户端重新发送的推流接口请求,并根据当前状态结果选取出相对空闲的第二源流媒体服务进程,将第二源流媒体服务进程的地址返回至主播客户端。
当发生在主播客户端进行推送直播数据流的过程中,若干个源流媒体服务进程的当前状态结果均超过预设值时,云服务转发装置用于将主播客户端的直播数据流发送至云服务厂商提供的云服务进程上。当发生在观众客户端进行获取直播数据流的过程中,若干个边缘流媒体服务进程的当前状态结果均超过预设值时,云服务转发装置还用于将对应云服务进程的地址返回至观众客户端。
可以理解的是,在图3和在本实施例的描述中,第一源流媒体服务进程、第二源流媒体服务进程、第一边缘流媒体服务进程以及第二边缘流媒体服务进程等标识,只是为了区别多个源流媒体服务进程以及多个边缘流媒体服务进程,当然还可以使用其它的标识方式,均不会对本实施例起到的技术效果产生影响。
而且,值得注意的是,在本实施例中,服务监控装置可以细分为三部分模块,具体为1、http请求接受处理模块,该模块用于接收主播客户端或观众客户端发送的推流接口请求或获流接口请求,并返回正常的源流媒体服务进程地址或边缘流媒体服务进程地址;2、服务器资源信息获取模块,该模块用于调用操作系统底层API以获取对应服务器的CPU状态、IO状态、客户端连接数以及带宽状态等信息;3、服务器资源信息存储结构模块,该模块用于以Map方式存储对应服务器资源信息。同样在本实施例中,云服务转发装置可以细分为两部分模块,具体为1、云服务厂商配置模块,该模块用于配置是否启用云服务厂商提供的云服务进程,配置边缘流媒体服务进程连接的观众客户端数量超过多少时,提供云服务;2、云服务厂商接口适配器模块,该模块用于根据厂商API将主播客户端的直播数据流推送至云服务厂商提供的云服务进程上。
综上第一实施例以及第二实施例所述,本发明提供的一种直播数据流媒体服务容错方法及系统,解决了现有技术存在的以下缺陷:
(1)观众客户端在获流过程中,如果连接边缘流媒体服务进程出现异常,观众客户端将无法正常观看直播。(2)边缘流媒体服务进程受网络带宽影响连接数有限,在网络高峰情况下,对应服务器的压力较大,导致直播质量下降;而且自建网络带宽以及服务器的成本较高。
达到了以下的有益效果:
(1)服务监控模块对每一个源流媒体服务进程以及每一个边缘流媒体服务进程进行监控,当观众客户端在获流的过程中,当前连接的一个边缘流媒体服务进程发生异常后,可以切换另一个边缘流媒体服务进程进行服务,保证观众客户端继续正常下载直播数据流,从而保证观众正常观看直播;(2)服务监控模块对每一个源流媒体服务进程以及每一个边缘流媒体服务进程进行监控,选取相对空闲的源流媒体服务进程或边缘流媒体服务进程进行服务,起到了负载均衡的作用;(3)当网络负载较高时,可以通过云服务转发装置调用云服务厂商提供的云服务进程进行服务,能够极大程度的缓解对应服务器的压力,同时节省了自建网络带宽以及增设额外服务器的成本。
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (10)

1.一种直播数据流媒体服务容错方法,其特征在于,包括以下步骤:
接收观众客户端发送的获流接口请求,监控与源流媒体服务进程连接的若干个边缘流媒体服务进程的当前状态,并根据当前状态结果选取出相对空闲的第一边缘流媒体服务进程,将所述第一边缘流媒体服务进程的地址返回至所述观众客户端;
当所述观众客户端在通过所述第一边缘流媒体服务进程进行获流的过程中所述第一边缘流媒体服务进程发生异常时,接收观众客户端重新发送的获流接口请求,并根据当前状态结果选取出相对空闲的第二边缘流媒体服务进程,并将所述第二边缘流媒体服务进程的地址返回至所述观众客户端。
2.根据权利要求1所述的一种直播数据流媒体服务容错方法,其特征在于,所述接收观众客户端发送的获流接口请求之前还包括以下步骤:
接收主播客户端发送的推流接口请求,监控若干个源流媒体服务进程的当前状态,并根据当前状态结果选取出相对空闲的第一源流媒体服务进程,将所述第一源流媒体服务进程的地址返回至所述主播客户端;
当所述主播客户端在通过所述第一源流媒体服务进程进行推流的过程中所述第一源流媒体服务进程发生异常时,接收主播客户端重新发送的推流接口请求,并根据当前状态结果选取出相对空闲的第二源流媒体服务进程,将所述第二源流媒体服务进程的地址返回至所述主播客户端。
3.根据权利要求1所述的一种直播数据流媒体服务容错方法,其特征在于,所述监控与源流媒体服务进程连接的若干个边缘流媒体服务进程的当前状态具体包括:监控所述若干个边缘流媒体服务进程的观众客户端连接数量、服务器CPU状态、带宽状态以及IO状态的至少一种。
4.根据权利要求2所述的一种直播数据流媒体服务容错方法,其特征在于,所述监控若干个源流媒体服务进程的当前状态具体包括:监控所述若干个源流媒体服务进程的主播客户端连接数量、服务器CPU状态、带宽状态以及IO状态的至少一种。
5.根据权利要求2所述的一种直播数据流媒体服务容错方法,其特征在于,还包括:
将所述主播客户端的直播数据流推送至云服务厂商提供的云服务进程上。
6.根据权利要求5所述的一种直播数据流媒体服务容错方法,其特征在于,还包括:
当所述若干个边缘流媒体服务进程的当前状态结果均超过预设值时,将对应云服务进程的地址返回至所述观众客户端。
7.一种直播数据流媒体服务容错系统,其特征在于,包括:服务器平台、观众客户端以及服务监控装置;
所述服务器平台上包括有若干个源流媒体服务进程以及与所述源流媒体服务进程连接的若干个边缘流媒体服务进程;
所述观众客户端用于向所述服务监控装置发送获流接口请求、接收返回的第一边缘流媒体服务进程的地址以及与返回的所述第一边缘流媒体服务进程建立连接并获流;
当所述观众客户端在通过所述第一边缘流媒体服务进程进行获流的过程中所述第一边缘流媒体服务进程发生异常时,所述观众客户端还用于重新发送的获流接口请求、接收返回的第二边缘流媒体服务进程的地址以及与返回的所述第二边缘流媒体服务进程建立连接并获流;
所述服务监控装置用于接收所述观众客户端发送的获流接口请求,监控与源流媒体服务进程连接的若干个边缘流媒体服务进程的当前状态,并根据当前状态结果选取出相对空闲的第一边缘流媒体服务进程,将所述第一边缘流媒体服务进程的地址返回至所述观众客户端;
当所述观众客户端在通过所述第一边缘流媒体服务进程进行获流的过程中所述第一边缘流媒体服务进程发生异常时,所述服务监控装置还用于接收所述观众客户端重新发送的获流接口请求,并根据当前状态结果选取出相对空闲的第二边缘流媒体服务进程,并将所述第二边缘流媒体服务进程的地址返回至所述观众客户端。
8.根据权利要求7所述的一种直播数据流媒体服务容错系统,其特征在于,还包括主播客户端;
所述主播客户端用于向所述服务监控装置发送推流接口请求,接收返回的第一源流媒体服务进程的地址以及与返回的所述第一源流媒体服务进程建立连接并推流;
当所述主播客户端在通过所述第一源流媒体服务进程进行推流的过程中所述第一源流媒体服务进程发生异常时,所述主播客户端还用于向所述服务监控装置重新发送推流接口请求,接收返回的第二源流媒体服务进程的地址以及与返回的所述第二源流媒体服务进程建立连接并推流;
所述服务监控装置还用于接收所述主播客户端发送的推流接口请求,监控若干个源流媒体服务进程的当前状态,并根据当前状态结果选取出相对空闲的第一源流媒体服务进程,将所述第一源流媒体服务进程的地址返回至所述主播客户端;
当所述主播客户端在通过所述第一源流媒体服务进程进行推流的过程中所述第一源流媒体服务进程发生异常时,所述服务监控装置还用于接收所述主播客户端重新发送的推流接口请求,并根据当前状态结果选取出相对空闲的第二源流媒体服务进程,将所述第二源流媒体服务进程的地址返回至所述主播客户端。
9.根据权利要求8所述的一种直播数据流媒体服务容错系统,其特征在于:还包括云服务转发装置;
当所述若干个源流媒体服务进程的当前状态结果均超过预设值时,所述云服务转发装置用于将所述主播客户端的直播数据流推送至云服务厂商提供的云服务进程上。
10.根据权利要求9所述的一种直播数据流媒体服务容错系统,其特征在于:
当所述若干个边缘流媒体服务进程的当前状态结果均超过预设值时,所述云服务转发装置还用于将对应云服务进程的地址返回至所述观众客户端。
CN201910691133.0A 2019-07-29 2019-07-29 一种直播数据流媒体服务容错方法及系统 Pending CN110446055A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910691133.0A CN110446055A (zh) 2019-07-29 2019-07-29 一种直播数据流媒体服务容错方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910691133.0A CN110446055A (zh) 2019-07-29 2019-07-29 一种直播数据流媒体服务容错方法及系统

Publications (1)

Publication Number Publication Date
CN110446055A true CN110446055A (zh) 2019-11-12

Family

ID=68432113

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910691133.0A Pending CN110446055A (zh) 2019-07-29 2019-07-29 一种直播数据流媒体服务容错方法及系统

Country Status (1)

Country Link
CN (1) CN110446055A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112584193A (zh) * 2020-12-24 2021-03-30 杭州米络星科技(集团)有限公司 一种利用udp特性构建实时流媒体集群调度的方法
CN112752113A (zh) * 2020-12-28 2021-05-04 上海哔哩哔哩科技有限公司 直播服务器异常因素的确定方法及装置
CN113612728A (zh) * 2021-06-25 2021-11-05 阿里巴巴新加坡控股有限公司 流媒体播放方法、传输设备和系统
CN113645478A (zh) * 2021-08-11 2021-11-12 上海哔哩哔哩科技有限公司 直播推流地址分配方法及系统
CN114257835A (zh) * 2021-12-31 2022-03-29 广东省教育研究院 基于教育云平台的直播系统及其直播方法
CN117793418A (zh) * 2024-02-23 2024-03-29 北京微吼时代科技有限公司 一种第三方媒体直播的监控方法、装置、设备和存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140024553A (ko) * 2012-08-20 2014-03-03 에스케이텔레콤 주식회사 라이브 스트리밍 컨텐츠를 위한 컨텐츠 전송 서비스 방법, 및 이를 위한 장치
US20140351455A1 (en) * 2013-05-24 2014-11-27 Cisco Technology, Inc. Producing equivalent content across encapsulators in a network environment
CN104427354A (zh) * 2013-08-28 2015-03-18 中兴通讯股份有限公司 一种直播媒体共享的方法、流媒体服务器及节点子系统
CN106330967A (zh) * 2016-10-24 2017-01-11 北京小米移动软件有限公司 直播数据处理方法及装置
CN106534916A (zh) * 2016-10-25 2017-03-22 杭州顺网科技股份有限公司 一种针对网吧环境基于三层服务器架构的视频直播系统
CN107172015A (zh) * 2017-04-25 2017-09-15 北京潘达互娱科技有限公司 直播视频推送方法及装置
CN109496432A (zh) * 2017-11-06 2019-03-19 深圳市大疆创新科技有限公司 流媒体直播方法及系统
US20190215548A1 (en) * 2017-07-03 2019-07-11 At&T Intellectual Property I, L.P. Synchronizing and dynamic chaining of a transport layer network service for live content broadcasting

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140024553A (ko) * 2012-08-20 2014-03-03 에스케이텔레콤 주식회사 라이브 스트리밍 컨텐츠를 위한 컨텐츠 전송 서비스 방법, 및 이를 위한 장치
US20140351455A1 (en) * 2013-05-24 2014-11-27 Cisco Technology, Inc. Producing equivalent content across encapsulators in a network environment
CN104427354A (zh) * 2013-08-28 2015-03-18 中兴通讯股份有限公司 一种直播媒体共享的方法、流媒体服务器及节点子系统
CN106330967A (zh) * 2016-10-24 2017-01-11 北京小米移动软件有限公司 直播数据处理方法及装置
CN106534916A (zh) * 2016-10-25 2017-03-22 杭州顺网科技股份有限公司 一种针对网吧环境基于三层服务器架构的视频直播系统
CN107172015A (zh) * 2017-04-25 2017-09-15 北京潘达互娱科技有限公司 直播视频推送方法及装置
US20190215548A1 (en) * 2017-07-03 2019-07-11 At&T Intellectual Property I, L.P. Synchronizing and dynamic chaining of a transport layer network service for live content broadcasting
CN109496432A (zh) * 2017-11-06 2019-03-19 深圳市大疆创新科技有限公司 流媒体直播方法及系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112584193A (zh) * 2020-12-24 2021-03-30 杭州米络星科技(集团)有限公司 一种利用udp特性构建实时流媒体集群调度的方法
CN112752113A (zh) * 2020-12-28 2021-05-04 上海哔哩哔哩科技有限公司 直播服务器异常因素的确定方法及装置
CN113612728A (zh) * 2021-06-25 2021-11-05 阿里巴巴新加坡控股有限公司 流媒体播放方法、传输设备和系统
CN113612728B (zh) * 2021-06-25 2023-09-01 阿里巴巴新加坡控股有限公司 流媒体播放方法、传输设备和系统
CN113645478A (zh) * 2021-08-11 2021-11-12 上海哔哩哔哩科技有限公司 直播推流地址分配方法及系统
CN113645478B (zh) * 2021-08-11 2023-06-20 上海哔哩哔哩科技有限公司 直播推流地址分配方法及系统
CN114257835A (zh) * 2021-12-31 2022-03-29 广东省教育研究院 基于教育云平台的直播系统及其直播方法
CN117793418A (zh) * 2024-02-23 2024-03-29 北京微吼时代科技有限公司 一种第三方媒体直播的监控方法、装置、设备和存储介质
CN117793418B (zh) * 2024-02-23 2024-05-28 北京微吼时代科技有限公司 一种第三方媒体直播的监控方法、装置、设备和存储介质

Similar Documents

Publication Publication Date Title
CN110446055A (zh) 一种直播数据流媒体服务容错方法及系统
AU2017221833B2 (en) Device and method for characterization and optimization of multiple simultaneous real-time data connections
US20200329094A1 (en) Systems and methods for seamless host migration
CN101146110B (zh) 一种播放流媒体的方法
CN101594259B (zh) 终端装置管理系统和接口装置及相应方法
CN102420868B (zh) 服务的提供方法、装置及系统
CN103731448A (zh) 一种压缩图片的方法和系统
CN113301299B (zh) 一种多通道视频传输方法、系统、终端以及存储介质
CN113055469B (zh) 云容器存储控制方法、系统、电子设备及存储介质
CN111654526B (zh) 一种流媒体服务器的负载均衡方法及系统
CN101163230A (zh) 通过网络摄像机进行现场直播及客户端节点调配方法
WO2014180435A1 (zh) Vcdn资源控制方法、装置及系统
EP1430401B1 (en) Extended content storage method and apparatus
CN109067509A (zh) 分布式节点信令传输方法和系统、共享计算节点及信令网关
CN113840331B (zh) 数据传输方法、网络接入设备及网络系统
CN105939208B (zh) 采样数据的传输方法及装置
CN110417850A (zh) 软件配置获取方法、系统、服务器及介质
CN109151407A (zh) 一种视频数据采集系统
CN109327398A (zh) 一种防止丢包的方法及装置
CN108718418B (zh) 一种传输链路的管理方法及装置
CN111131365B (zh) 一种联网设备空闲网络资源利用方法和系统
KR100303088B1 (ko) 주문형비디오서버로드조절장치및방법
CN103891205B (zh) 无线通信网络中的高速缓存
US20190045154A1 (en) Techniques for Data Exchanges Among Multi-Radio Devices
CN115967996A (zh) 灵活以太的时隙资源配置方法、终端及存储介质

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20191112