CN114827633A - 一种媒体流容灾方法、装置和相关设备 - Google Patents

一种媒体流容灾方法、装置和相关设备 Download PDF

Info

Publication number
CN114827633A
CN114827633A CN202210683177.0A CN202210683177A CN114827633A CN 114827633 A CN114827633 A CN 114827633A CN 202210683177 A CN202210683177 A CN 202210683177A CN 114827633 A CN114827633 A CN 114827633A
Authority
CN
China
Prior art keywords
server
media stream
media
stream
url
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
CN202210683177.0A
Other languages
English (en)
Other versions
CN114827633B (zh
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.)
Zhejiang Huachuang Video Signal Technology Co Ltd
Original Assignee
Zhejiang Huachuang Video Signal 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 Zhejiang Huachuang Video Signal Technology Co Ltd filed Critical Zhejiang Huachuang Video Signal Technology Co Ltd
Priority to CN202210683177.0A priority Critical patent/CN114827633B/zh
Publication of CN114827633A publication Critical patent/CN114827633A/zh
Application granted granted Critical
Publication of CN114827633B publication Critical patent/CN114827633B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23103Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion using load balancing strategies, e.g. by placing or distributing content on different disks, different memories or different servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Abstract

本申请提供一种媒体流容灾方法、装置和相关设备,涉及数据处理技术领域。在该方法中,媒体流任务服务器根据第一媒体流服务器的第一推流URL,向第一媒体流服务器持续推送目标媒体流数据,若推送失败,则获取第二媒体流服务器的第二推流URL和第二拉流URL,并根据第二推流URL向第二媒体流服务器持续推送目标媒体流数据,以及将第二拉流URL发送给网页服务器,以使客户端基于从网页服务器中获取到第二拉流URL,从第二媒体流服务器中拉取目标媒体流数据。由于在通过第一媒体流服务器进行数据传输失败时,可以快速地切换到第二媒体流服务器,以通过第二媒体流服务器来继续数据的传输过程,从而可以提高切换速度,缩短异常切换时长。

Description

一种媒体流容灾方法、装置和相关设备
技术领域
本申请实施例涉及数据处理技术领域,尤其涉及一种媒体流容灾方法、装置和相关设备。
背景技术
随着移动互联网的普及,视频会议需求越来越大。在视频会议中,各个前端设备均可以采集图像和声音,并编码后发送给选择性转发单元(Selective Forwarding Unit,SFU),SFU则根据会议要求将各个前端设备发送的图像和声音发送给其他前端,从而实现多方与会人的音视频通话。重要视频会议中,用户往往对视频会议同时开启录播和直播,故而录播直播系统的高可用性就显得格外重要。
当下云原生概念正在兴起,其中最具有代表性的是kubernetes,其作为一个轻量级的虚拟化平台正在大大改变云计算领域的格局。Kubernetes作为一个容器编排系统,提供声明式API,可实现容器化服务的高效运维管理,因此,会议系统及会议直播录播系统也可往kubernetes容器上迁移。
相关技术下,通常将用于提供直播服务和录播服务的媒体流服务和具有控制逻辑的媒体流控制服务人为地部署在同一个服务器中,则媒体流数据的传输方法为:在会议开启时,媒体流任务服务器会向SFU发起入会并获取会议媒体流数据,在对会议媒体流数据进行音频混音和视频融合获得目标媒体流数据后,通过预设域名向用于媒体流服务推送该目标媒体流数据,并从媒体流控制服务中获取到媒体流服务的拉流统一资源定位器(UniformResource Locator,URL)后,将该拉流URL发送给网页服务器,以使客户端在从网页服务器中获取到该拉流URL后,可以从媒体流服务中拉取目标媒体流数据。
然而,当相关技术中的媒体流服务和媒体流控制服务所在的服务器出现故障时,即使可以在其他服务器中重新部署媒体流服务和媒体流控制服务,但媒体流服务和媒体流控制服务也往往不会部署在同一个服务器中,则客户端就无法获取到新的拉流URL,也就无法从媒体流服务中拉取到目标媒体流数据了,从而使得媒体流数据的传输过程发生中断,影响用户的观看体验。
因此,当前亟需一种媒体流容灾方法,以解决媒体流服务异常而无法切换或切换太慢的问题。
发明内容
为解决现有存在的技术问题,本申请实施例提供了一种媒体流容灾方法、装置和相关设备,可以解决媒体流服务异常而无法切换或切换太慢的问题。
为达到上述目的,本申请实施例的技术方案是这样实现的:
第一方面,本申请实施例提供一种媒体流容灾方法,应用于媒体流服务容灾系统中的媒体流任务服务器,所述媒体流服务容灾系统包括多个媒体流服务器,所述方法包括:
根据所述多个媒体流服务器中目标媒体流数据对应的第一媒体流服务器的第一推流URL,向所述第一媒体流服务器持续推送所述目标媒体流数据,以及将所述第一媒体流服务器的第一拉流URL发送给网页服务器,以使客户端基于从所述网页服务器中获取到的所述第一拉流URL,从所述第一媒体流服务器中拉取所述目标媒体流数据,其中所述目标媒体流数据是对获取到的初始媒体流数据进行融合后得到的;
若推送失败,则获取所述多个媒体流服务器中所述目标媒体流数据对应的第二媒体流服务器的第二推流URL和第二拉流URL,并根据所述第二推流URL向所述第二媒体流服务器持续推送所述目标媒体流数据,以及将所述第二拉流URL发送给所述网页服务器,以使所述客户端基于从所述网页服务器中获取到所述第二拉流URL,从所述第二媒体流服务器中拉取所述目标媒体流数据。
本申请实施例提供的媒体流容灾方法,媒体流任务服务器根据第一媒体流服务器的第一推流URL,向第一媒体流服务器持续推送目标媒体流数据,若推送失败,则获取多个媒体流服务器中目标媒体流数据对应的第二媒体流服务器的第二推流URL和第二拉流URL,并根据第二推流URL向第二媒体流服务器持续推送目标媒体流数据,以及将第二拉流URL发送给网页服务器,以使客户端基于从网页服务器中获取到第二拉流URL,从第二媒体流服务器中拉取目标媒体流数据。由于在向第一媒体流服务器推送数据失败时,可以快速地切换到第二媒体流服务器,并通过第二媒体流服务器来继续推送数据,使得用户可以基于拉取到的数据继续观看,从而实现了在媒体流服务异常时数据的继续传输,提高了切换速度,缩短了异常切换时长,并同时提高了用户的观看体验。
在一种可选的实施例中,所述获取所述多个媒体流服务器中所述目标媒体流数据对应的第二媒体流服务器的第二推流URL和第二拉流URL,包括:
向媒体流控制服务器发送第二获取请求;
接收所述媒体流控制服务器发送的所述第二媒体流服务器的第二推流URL和第二拉流URL模板;其中所述第二推流URL是所述媒体流控制服务器根据所述第二媒体流服务器的第二POD IP和预设的推流端口确定的,所述第二POD IP是所述媒体流控制服务器向所述第二媒体流服务器发送POD IP获取请求后获取到的;所述第二拉流URL模板是所述媒体流控制服务器根据所述第二媒体流服务器的第二wan IP和预设的推流端口确定的;所述第二wan IP是所述媒体流控制服务器根据所述第二POD IP向所述第二媒体流服务器发送wanIP获取请求后获取到的;所述第二POD IP为所述第二媒体流服务器中预设的媒体流服务对应的kubernetes POD的容器虚拟网络IP;所述第二wan IP为所述第二媒体流服务器的物理出口网络IP;
根据所述第二拉流URL模板和目标数据标识,确定所述第二媒体流服务器的第二拉流URL。
在该实施例中,由于在向第一媒体流服务器推送数据失败后,可以从媒体流控制服务器中获取到第二媒体流服务器的第二推流URL和第二拉流URL模板,从而使得在通过第一媒体流服务器进行数据传输中断时,可以快速地切换到第二媒体流服务器以继续数据的传输,提高了切换速度,增加数据传输的可靠性。
第二方面,本申请实施例提供一种媒体流容灾方法,应用于媒体流服务容灾系统中的媒体流控制服务器,所述媒体流服务容灾系统包括媒体流任务服务器和多个媒体流服务器,所述方法包括:
响应于所述媒体流任务服务器的第一获取请求,向所述媒体流任务服务器发送目标媒体流数据对应的第一媒体流服务器的第一推流URL和第一拉流URL模板,以使所述媒体流任务服务器基于所述第一推流URL,向所述第一媒体流服务器持续推送所述目标媒体流数据,以及在根据所述第一拉流URL模板和目标数据标识确定所述第一媒体流服务器的第一拉流URL后,将所述第一拉流URL发送给网页服务器供客户端拉取所述目标媒体流数据;
响应于所述媒体流任务服务器的第二获取请求,向所述媒体流任务服务器发送所述目标媒体流数据对应的第二媒体流服务器的第二推流URL和第二拉流URL模板,以使所述媒体流任务服务器基于所述第二推流URL,向所述第二媒体流服务器持续推送所述目标媒体流数据,以及在根据所述第二拉流URL模板和目标数据标识确定所述第二媒体流服务器的第二拉流URL后,将所述第二拉流URL发送给所述网页服务器供所述客户端拉取所述目标媒体流数据,其中所述第二获取请求是所述媒体流任务服务器在向所述第一媒体流服务器持续推送所述目标媒体流数据失败后发送的。
本申请实施例提供的媒体流容灾方法,由于在媒体流任务服务器向第一媒体流服务器推送数据失败后,媒体流任务服务器可以从媒体流控制服务器中获取到第二媒体流服务器的第二推流URL和第二拉流URL,从而使得在通过第一媒体流服务器进行数据传输中断时,可以快速地切换到第二媒体流服务器以继续数据的传输,提高了数据传输的可靠性和切换速度,增加了用户的观看体验。
在一种可选的实施例中,通过下列方式确定所述第一媒体流服务器的第一推流URL和第一拉流URL:
通过对所述多个媒体流服务器对应的预设域名进行域名解析,确定所述多个媒体流服务器对应的Cluster IP,并在根据所述Cluster IP对应的iptables规则和负载均衡算法,从所述多个媒体流服务器分别对应的POD IP中选择第一POD IP后,向所述第一POD IP对应的第一媒体流服务器发送POD IP获取请求;
接收所述第一媒体流服务器发送的第一POD IP,并根据所述第一POD IP和预设的推流端口确定所述第一媒体流服务器的第一推流URL;以及
根据所述第一POD IP,向所述第一媒体流服务器发送wan IP获取请求,接收所述第一媒体流服务器发送的第一wan IP,并根据所述第一wan IP和预设的服务端口确定所述第一媒体流服务器的第一拉流URL模板;所述第一POD IP为所述第一媒体流服务器中预设的媒体流服务对应的kubernetes POD的容器虚拟网络IP;所述第一wan IP为所述第一媒体流服务器的物理出口网络IP;
通过下列方式确定所述第二媒体流服务器的第二推流URL和第二拉流URL模板:
通过对所述多个媒体流服务器对应的预设域名进行域名解析,确定所述多个媒体流服务器对应的Cluster IP,并在根据所述Cluster IP对应的iptables规则和负载均衡算法,从所述多个媒体流服务器中除所述第一媒体流服务器之外的其他媒体流服务器分别对应的POD IP中选择第二POD IP后,向所述第二POD IP对应的第二媒体流服务器发送POD IP获取请求;
接收所述第二媒体流服务器发送的第二POD IP,并根据所述第二POD IP和预设的推流端口确定所述第二媒体流服务器的第二推流URL;以及
根据所述第二POD IP,向所述第二媒体流服务器发送wan IP获取请求,接收所述第二媒体流服务器发送的第二wan IP,并根据所述第二wan IP和预设的服务端口确定所述第二媒体流服务器的第二拉流URL模板;所述第二POD IP为所述第二媒体流服务器中预设的媒体流服务对应的kubernetes POD的容器虚拟网络IP;所述第二wan IP为所述第二媒体流服务器的物理出口网络IP。
在该实施例中,由于媒体流控制服务器可以从第一媒体流服务器和第二媒体流服务器中分别获取到相应的第一POD IP、第一wan IP和第二POD IP、第二wan IP,从而当媒体流任务服务器向第一媒体流服务器推送数据失败后,可以快速地从媒体流控制服务器中获取到第二媒体流服务器的第二推流URL和第二拉流URL,以基于第二媒体流服务器来完成数据的传输过程,实现了数据的可靠传输。
第三方面,本申请实施例提供一种媒体流容灾方法,应用于媒体流服务容灾系统中的多个媒体流服务器中的目标媒体流服务器,所述媒体流服务容灾系统包括媒体流任务服务器,所述方法包括:
接收所述媒体流任务服务器根据目标推流URL,持续推送的目标媒体流数据;
响应于客户端的数据拉取请求,将所述目标媒体流数据发送给所述客户端,其中所述数据拉取请求是所述客户端基于从网页服务器中获取到的目标拉流URL发送的。
本申请实施例提供的媒体流容灾方法,由于可以通过目标推流URL实现媒体流任务服务器到目标媒体流服务器的数据推送过程,通过目标拉流URL实现目标媒体流服务器到客户端的数据拉取过程,从而可以实现数据的可靠传输。
在一种可选的实施例中,所述媒体流任务服务器中的所述目标推流URL通过下列方式确定:
响应于媒体流控制服务器的POD IP获取请求,向所述媒体流控制服务器发送目标POD IP,以使所述媒体流控制服务器根据所述目标POD IP和预设的推流端口确定出目标推流URL后,将所述目标推流URL发送给所述媒体流任务服务器;所述目标POD IP为所述目标媒体流服务器中预设的媒体流服务对应的kubernetes POD的容器虚拟网络IP;
所述网页服务器中的所述目标拉流URL通过下列方式确定:
响应于所述媒体流控制服务器根据所述目标POD IP发送的wan IP获取请求,向所述媒体流控制服务器发送目标wan IP,以使所述媒体流控制服务器根据所述目标wan IP和预设的服务端口确定出目标拉流URL模板后,通过所述媒体流任务服务器将根据所述目标拉流URL模板和目标数据标识确定的目标拉流URL发送给所述网页服务器;所述目标wan IP为所述目标媒体流服务器的物理出口网络IP。
在该实施例中,由于目标媒体流服务器可以将自身的POD IP和wan IP发送给媒体流控制服务器,从而在媒体流控制服务器将根据目标媒体流服务器的POD IP和wan IP分别得到的目标推流URL和目标拉流URL模板发送给媒体流任务服务器后,可靠而快速地实现数据从媒体流任务服务器到目标媒体流服务器的推流过程,和数据从目标媒体流服务器到客户端的拉流过程,提高了数据传输的可靠性。
第四方面,本申请实施例还提供了一种媒体流容灾装置,应用于媒体流服务容灾系统中的媒体流任务服务器,所述媒体流服务容灾系统包括多个媒体流服务器,所述装置包括:
第一处理单元,用于根据所述多个媒体流服务器中目标媒体流数据对应的第一媒体流服务器的第一推流URL,向所述第一媒体流服务器持续推送所述目标媒体流数据,以及将所述第一媒体流服务器的第一拉流URL发送给网页服务器,以使客户端基于从所述网页服务器中获取到的所述第一拉流URL,从所述第一媒体流服务器中拉取所述目标媒体流数据,其中所述目标媒体流数据是对获取到的初始媒体流数据进行融合后得到的;
第二处理单元,用于若推送失败,则获取所述多个媒体流服务器中所述目标媒体流数据对应的第二媒体流服务器的第二推流URL和第二拉流URL,并根据所述第二推流URL向所述第二媒体流服务器持续推送所述目标媒体流数据,以及将所述第二拉流URL发送给所述网页服务器,以使所述客户端基于从所述网页服务器中获取到所述第二拉流URL,从所述第二媒体流服务器中拉取所述目标媒体流数据。
在一种可选的实施例中,所述第二处理单元,具体用于:
向媒体流控制服务器发送第二获取请求;
接收所述媒体流控制服务器发送的所述第二媒体流服务器的第二推流URL和第二拉流URL模板;其中所述第二推流URL是所述媒体流控制服务器根据所述第二媒体流服务器的第二POD IP和预设的推流端口确定的,所述第二POD IP是所述媒体流控制服务器向所述第二媒体流服务器发送POD IP获取请求后获取到的;所述第二拉流URL模板是所述媒体流控制服务器根据所述第二媒体流服务器的第二wan IP和预设的推流端口确定的;所述第二wan IP是所述媒体流控制服务器根据所述第二POD IP向所述第二媒体流服务器发送wanIP获取请求后获取到的;所述第二POD IP为所述第二媒体流服务器中预设的媒体流服务对应的kubernetes POD的容器虚拟网络IP;所述第二wan IP为所述第二媒体流服务器的物理出口网络IP;
根据所述第二拉流URL模板和目标数据标识,确定所述第二媒体流服务器的第二拉流URL。
第五方面,本申请实施例还提供了一种媒体流容灾装置,应用于媒体流服务容灾系统中的媒体流控制服务器,所述媒体流服务容灾系统包括媒体流任务服务器和多个媒体流服务器,所述装置包括:
第一URL发送单元,用于响应于所述媒体流任务服务器的第一获取请求,向所述媒体流任务服务器发送目标媒体流数据对应的第一媒体流服务器的第一推流URL和第一拉流URL模板,以使所述媒体流任务服务器基于所述第一推流URL,向所述第一媒体流服务器持续推送所述目标媒体流数据,以及在根据所述第一拉流URL模板和目标数据标识确定所述第一媒体流服务器的第一拉流URL后,将所述第一拉流URL发送给网页服务器供客户端拉取所述目标媒体流数据;
第二URL发送单元,用于响应于所述媒体流任务服务器的第二获取请求,向所述媒体流任务服务器发送所述目标媒体流数据对应的第二媒体流服务器的第二推流URL和第二拉流URL模板,以使所述媒体流任务服务器基于所述第二推流URL,向所述第二媒体流服务器持续推送所述目标媒体流数据,以及在根据所述第二拉流URL模板和目标数据标识确定所述第二媒体流服务器的第二拉流URL后,将所述第二拉流URL发送给所述网页服务器供所述客户端拉取所述目标媒体流数据,其中所述第二获取请求是所述媒体流任务服务器在向所述第一媒体流服务器持续推送所述目标媒体流数据失败后发送的。
在一种可选的实施例中,所述装置还包括第一URL确定单元,用于:
通过对所述多个媒体流服务器对应的预设域名进行域名解析,确定所述多个媒体流服务器对应的Cluster IP,并在根据所述Cluster IP对应的iptables规则和负载均衡算法,从所述多个媒体流服务器分别对应的POD IP中选择第一POD IP后,向所述第一POD IP对应的第一媒体流服务器发送POD IP获取请求;
接收所述第一媒体流服务器发送的第一POD IP,并根据所述第一POD IP和预设的推流端口确定所述第一媒体流服务器的第一推流URL;以及
根据所述第一POD IP,向所述第一媒体流服务器发送wan IP获取请求,接收所述第一媒体流服务器发送的第一wan IP,并根据所述第一wan IP和预设的服务端口确定所述第一媒体流服务器的第一拉流URL模板;所述第一POD IP为所述第一媒体流服务器中预设的媒体流服务对应的kubernetes POD的容器虚拟网络IP;所述第一wan IP为所述第一媒体流服务器的物理出口网络IP;
所述装置还包括第二URL确定单元,用于:
通过对所述多个媒体流服务器对应的预设域名进行域名解析,确定所述多个媒体流服务器对应的Cluster IP,并在根据所述Cluster IP对应的iptables规则和负载均衡算法,从所述多个媒体流服务器中除所述第一媒体流服务器之外的其他媒体流服务器分别对应的POD IP中选择第二POD IP后,向所述第二POD IP对应的第二媒体流服务器发送POD IP获取请求;
接收所述第二媒体流服务器发送的第二POD IP,并根据所述第二POD IP和预设的推流端口确定所述第二媒体流服务器的第二推流URL;以及
根据所述第二POD IP,向所述第二媒体流服务器发送wan IP获取请求,接收所述第二媒体流服务器发送的第二wan IP,并根据所述第二wan IP和预设的服务端口确定所述第二媒体流服务器的第二拉流URL模板;所述第二POD IP为所述第二媒体流服务器中预设的媒体流服务对应的kubernetes POD的容器虚拟网络IP;所述第二wan IP为所述第二媒体流服务器的物理出口网络IP。
第六方面,本申请实施例还提供了一种媒体流容灾装置,应用于媒体流服务容灾系统中的多个媒体流服务器中的目标媒体流服务器,所述媒体流服务容灾系统包括媒体流任务服务器,所述装置包括:
数据接收单元,用于接收所述媒体流任务服务器根据目标推流URL,持续推送的目标媒体流数据;
数据发送单元,用于响应于客户端的数据拉取请求,将所述目标媒体流数据发送给所述客户端,其中所述数据拉取请求是所述客户端基于从网页服务器中获取到的目标拉流URL发送的。
在一种可选的实施例中,所述装置还包括推流地址确定单元,用于:
响应于媒体流控制服务器的POD IP获取请求,向所述媒体流控制服务器发送目标POD IP,以使所述媒体流控制服务器根据所述目标POD IP和预设的推流端口确定出目标推流URL后,将所述目标推流URL发送给所述媒体流任务服务器;所述目标POD IP为所述目标媒体流服务器中预设的媒体流服务对应的kubernetes POD的容器虚拟网络IP;
所述装置还包括拉流地址确定单元,用于:
响应于所述媒体流控制服务器根据所述目标POD IP发送的wan IP获取请求,向所述媒体流控制服务器发送目标wan IP,以使所述媒体流控制服务器根据所述目标wan IP和预设的服务端口确定出目标拉流URL模板后,通过所述媒体流任务服务器将根据所述目标拉流URL模板和目标数据标识确定的目标拉流URL发送给所述网页服务器;所述目标wan IP为所述目标媒体流服务器的物理出口网络IP。
第七方面,本申请实施例还提供了一种媒体流任务服务器,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器实现上述第一方面的媒体流容灾方法。
第八方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现上述第一方面的媒体流容灾方法。
第九方面,本申请实施例还提供了一种媒体流控制服务器,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器实现上述第二方面的媒体流容灾方法。
第十方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现上述第二方面的媒体流容灾方法。
第十一方面,本申请实施例还提供了一种媒体流服务器,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器实现上述第三方面的媒体流容灾方法。
第十二方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时,实现上述第三方面的媒体流容灾方法。
第十三方面,本申请实施例还提供了一种媒体流服务容灾系统,所述媒体流服务容灾系统包括第七方面的媒体流任务服务器,第九方面的媒体流控制服务器和第十一方面的媒体流服务器。
第四方面、第七方面、第八方面或第十三方面中任意一种实现方式所带来的技术效果可参见第一方面的实现方式所带来的技术效果,此处不再赘述。
第五方面、第九方面、第十方面或第十三方面中任意一种实现方式所带来的技术效果可参见第二方面的实现方式所带来的技术效果,此处不再赘述。
第六方面、第十一方面、第十二方面或第十三方面中任意一种实现方式所带来的技术效果可参见第三方面的实现方式所带来的技术效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种媒体流服务容灾系统的结构示意图;
图2为本申请实施例提供的一种电子设备的结构示意图;
图3为本申请实施例提供的一种媒体流容灾方法的交互流程示意图;
图4为本申请实施例提供的一种媒体流容灾方法的流程示意图;
图5为本申请实施例提供的另一种媒体流容灾方法的流程示意图;
图6为本申请实施例提供的又一种媒体流容灾方法的流程示意图;
图7为本申请实施例提供的一种媒体流容灾装置的结构示意图;
图8为本申请实施例提供的另一种媒体流容灾装置的结构示意图;
图9为本申请实施例提供的又一种媒体流容灾装置的结构示意图;
图10为本申请实施例提供的又一种媒体流容灾装置的结构示意图;
图11为本申请实施例提供的又一种媒体流容灾装置的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
需要说明的是,本申请的文件中涉及的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面将结合附图,对本申请实施例提供的技术方案进行详细说明。
下文中所用的词语“示例性”的意思为“用作例子、实施例或说明性”。作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
图1中示例性示出了本申请实施例提供的一种媒体流服务容灾系统的结构示意图。如图1所示,媒体流服务容灾系统中可以包括媒体流任务服务器100、媒体流控制服务器200和多个媒体流服务器300。
在一些实施例中,本申请实施例提供的媒体流服务容灾系统中还可以包括有SFU400、网页服务器500和客户端600。
其中,SFU400用于接收各个前端设备发送的初始媒体流数据。
媒体流任务服务器100用于从SFU400中获取初始媒体流数据,在对初始媒体流数据进行融合得到目标媒体流数据后,基于从媒体流控制服务器200中获取到的媒体流服务器300的推流URL和拉流URL模板,根据推流URL,将目标媒体流数据推送给媒体流服务器300,并将根据拉流URL模板和目标数据标识确定的拉流URL发送给网页服务器500。
媒体流控制服务器200用于从媒体流服务器300中获取到媒体流服务器300的PODIP和wan IP,并在根据媒体流服务器300的POD IP和wan IP,分别得到媒体流服务器300的推流URL和拉流URL模板后,将媒体流服务器300的推流URL和拉流URL模板发送给媒体流任务服务器100。其中,POD IP为媒体流服务器300中预设的媒体流服务对应的kubernetesPOD的容器虚拟网络IP,wan IP为媒体流服务器的物理出口网络IP。
媒体流服务器300用于将自身的POD IP和wan IP发送给媒体流控制服务器200,接收媒体流任务服务器100根据推流URL推送的目标媒体流数据,以及使得客户端600根据拉流URL拉取目标媒体流数据。
网页服务器500用于接收媒体流任务服务器100发送的媒体流服务器300的拉流URL,将媒体流服务器300的拉流URL发送给客户端600。
客户端600用于从网页服务器500中获取媒体流服务器300的拉流URL,根据拉流URL从媒体流服务器300中拉取目标媒体流数据。
在一种实施例中,本申请提出的媒体流容灾方法可以由电子设备来执行,该电子设备可以是媒体流任务服务器100、媒体流控制服务器200和媒体流服务器300。该电子设备的结构均可以如图2所示,包括存储器101,以及一个或多个处理器102。
存储器101,用于存储处理器102执行的计算机程序。存储器101可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
处理器102,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器102,用于调用存储器101中存储的计算机程序时实现本申请实施例提供的媒体流容灾方法。
本申请实施例中不限定上述存储器101和处理器102之间的具体连接介质。本申请实施例在图2中以存储器101和处理器102之间通过总线103连接,总线103在图2中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线103可以分为地址总线、数据总线、控制总线等。为便于表示,图2中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图3为媒体流服务容灾系统中的多个媒体流服务器、媒体流任务服务器、媒体流控制服务器、网页服务器和客户端之间执行媒体流容灾方法的交互流程图。如图3所示,可以包括以下步骤:
步骤S301,媒体流任务服务器对获取到的初始媒体流数据进行融合得到目标媒体流数据。
媒体流任务服务器可以从SFU中获取到初始媒体流数据,该初始媒体流数据为各个前端设备采集并发送给SFU的音频数据和视频数据。媒体流任务服务器在获取到初始媒体流数据后,可以对初始媒体流数据进行融合,即对初始媒体流数据进行音频混音和视频融合,得到目标媒体流数据。
步骤S302,媒体流任务服务器向媒体流控制服务器发送第一获取请求。
媒体流任务服务器在获取到目标媒体流数据后,可以向媒体流控制服务器发送第一获取请求,用于获取媒体流服务器的推流地址和拉流地址。
步骤S303,媒体流控制服务器通过对多个媒体流服务器对应的预设域名进行域名解析,从多个媒体流服务器分别对应的POD IP中选择第一POD IP。
媒体流控制服务器通过对多个媒体流服务器对应的预设域名进行域名解析,确定多个媒体流服务器对应的Cluster IP,并根据Cluster IP对应的iptables规则和负载均衡算法,从多个媒体流服务器分别对应的POD IP中选择第一POD IP。
步骤S304,媒体流控制服务器向第一POD IP对应的第一媒体流服务器发送POD IP获取请求。
步骤S305,第一媒体流服务器向媒体流控制服务器发送第一POD IP。
步骤S306,媒体流控制服务器根据第一POD IP,向第一媒体流服务器发送wan IP获取请求。
步骤S307,第一媒体流服务器向媒体流控制服务器发送第一wan IP。
步骤S308,媒体流控制服务器根据第一POD IP和预设的推流端口确定第一媒体流服务器的第一推流URL,以及根据第一wan IP和预设的服务端口确定第一媒体流服务器的第一拉流URL模板。
步骤S309,媒体流控制服务器将第一媒体流服务器的第一推流URL和第一拉流URL模板发送给媒体流任务服务器。
步骤S310,媒体流任务服务器根据第一推流URL,向第一媒体流服务器持续推送目标媒体流数据,以及将根据第一拉流URL模板和目标数据标识确定的第一拉流URL发送给网页服务器。
媒体流任务服务器在接收到媒体流控制服务器发送的第一拉流URL模板后,还可以将会议标识,如会议号等加入到第一拉流URL模板中,得到第一媒体流服务器的第一拉流URL。
步骤S311,客户端向网页服务器发送拉流地址获取请求。
步骤S312,网页服务器向客户端发送第一拉流URL。
在一种实施例中,网页服务器在接收到媒体流任务服务器发送的第一拉流URL后,可以将第一拉流URL存储至mysql数据库中。客户端向网页服务器发送的拉流地址获取请求中可以携带有会议标识,网页服务器在接收到客户端发送的拉流地址获取请求后,可以根据获取请求中的会议标识到mysql数据库中查找相应的拉流地址,在根据获取请求中的会议标识确定拉流地址为第一拉流URL后,网页服务器可以将第一拉流URL发送给客户端。
步骤S313,客户端根据第一拉流URL,从第一媒体流服务器中拉取目标媒体流数据。
步骤S314,若媒体流任务服务器向第一媒体流服务器持续推送目标媒体流数据失败,则向媒体流控制服务器发送第二获取请求。
步骤S315,媒体流控制服务器通过对多个媒体流服务器对应的预设域名进行域名解析,从多个媒体流服务器中除第一媒体流服务器之外的其他媒体流服务器分别对应的POD IP中选择第二POD IP。
媒体流控制服务器通过对多个媒体流服务器对应的预设域名进行域名解析,确定多个媒体流服务器对应的Cluster IP,并根据Cluster IP对应的iptables规则和负载均衡算法,从多个媒体流服务器中除第一媒体流服务器之外的其他媒体流服务器分别对应的POD IP中选择第二POD IP。
步骤S316,媒体流控制服务器向第二POD IP对应的第二媒体流服务器发送POD IP获取请求。
步骤S317,第二媒体流服务器向媒体流控制服务器发送第二POD IP。
步骤S318,媒体流控制服务器根据第二POD IP,向第二媒体流服务器发送wan IP获取请求。
步骤S319,第二媒体流服务器向媒体流控制服务器发送第二wan IP。
步骤S320,媒体流控制服务器根据第二POD IP和预设的推流端口确定第二媒体流服务器的第二推流URL,以及根据第二wan IP和预设的服务端口确定第二媒体流服务器的第二拉流URL模板。
步骤S321,媒体流控制服务器将第二媒体流服务器的第二推流URL和第二拉流URL模板发送给媒体流任务服务器。
步骤S322,媒体流任务服务器根据第二推流URL,向第二媒体流服务器持续推送目标媒体流数据,以及将根据第二拉流URL模板和目标数据标识确定的第二拉流URL发送给网页服务器。
媒体流任务服务器在接收到媒体流控制服务器发送的第二拉流URL模板后,还可以将会议标识,如会议号等加入到第二拉流URL模板中,得到第二媒体流服务器的第二拉流URL。
在一种实施例中,网页服务器在接收到媒体流任务服务器发送的第二拉流URL后,可以将mysql数据库中存储有的第一拉流URL替换为第二拉流URL。
步骤S323,网页服务器向客户端发送第二拉流URL。
步骤S324,客户端根据第二拉流URL,从第二媒体流服务器中拉取目标媒体流数据。
具体地,在一些实施例中,媒体流服务器中所部署的媒体流服务逻辑为:
1、媒体流服务使用kubernetes中Deployment工作负载类型进行无状态服务部署,副本数replicas可配置为1(即active-standby模式)或者大于1(即active-active模式);
2、媒体流服务POD主机调度策略为节点标签node_ss值为true,使用kubernetes的host network主机网络或者host port端口映射两种容器网络策略,使用节点外网IP直接对外提供HLS媒体流服务。由于该网络策略,每台服务器节点最多运行一个媒体流服务的POD;
3、为媒体流服务创建一条集群Service记录,名称为ss,类型为ClusterIP,指向媒体流服务对应的工作负载POD,向集群内开放HTTPDH推流端口1922,开放http端口1923;
4、媒体流服务向集群内媒体流任务服务器中部署的媒体加工任务提供媒体流HTTPDH等推流接口;
5、媒体流服务向集群内媒体流控制服务器中部署的媒体流控制服务提供/podipHTTP接口,用于提供媒体流服务所在kubernetes POD中容器虚拟网卡的IP,称为podIP;
6、媒体流服务向集群内媒体流控制服务提供/wanip HTTP接口,用于提供媒体流服务所在服务器节点的出口外网IP,称为wanIP。wanIP为用户访问媒体流内容的入口地址,其中媒体流服务外网IP的获取方式包括:
a) 静态配置,根据媒体流服务所在服务器节点物理网卡IP,映射对应外网IP;
b) 实时获取,调用公网上存在的ipecho等类似服务接口,实时获取自身外网IP;
c) 若无外网,则直接使用服务器本地物理网卡IP。
媒体流控制服务器中所部署的媒体流控制服务逻辑为:
1、媒体流控制服务使用kubernetes中Deployment工作负载类型进行无状态服务部署,副本数replicas配置为1或2;
2、媒体流控制服务POD主机调度策略为节点标签node_ss值为true,使用集群POD网络,不使用host network主机网络或host port网络策略;
3、为媒体流控制服务创建一条集群Service记录,名称为sscontroller,类型为ClusterIP,并向集群内其他服务开放HTTP端口7022;
4、为媒体流任务服务器中部署的媒体加工任务提供一个http接口RequestSS,用于获取媒体流服务器中部署的媒体流服务的HTTPDH推流地址及外网HLS媒体流入口地址;
5、媒体流控制服务接口RequestSS的工作流程为:
a) 接收媒体加工任务的RequestSS请求;
b) 构造HTTP请求,GET http://ss:1923/podip,获取下一个活跃的媒体流服务的POD IP,如10.42.0.22。这一步利用了Service记录的域名解析功能,同时利用了ClusterIP对应的iptables规则负载均衡及数据包转发功能;
c) 使用podIP构造HTTP请求,GET http://10.42.0.22:1923/wanip,获取该活跃媒体流服务的wanIP,如114.35.27.68。这一步使用podip锁定了媒体流服务POD;
d) 使用podip及媒体流服务的httpdh端口,构造媒体流服务的httpdh推流地址,如:http://10.42.0.22:1922/live/real.av;
e) 使用wanip及媒体流服务的HLS http端口,构造媒体流服务的HLS入口地址模板,如:http://114.35.27.68:1923/live/%s/index.m3u8;
f) 将httpdh推流地址和HLS媒体流入口地址返回给媒体加工任务。
媒体流任务服务器中所部署的媒体加工任务逻辑为:
1、媒体加工任务调度策略为标签node_media为true,且节点GPU编码能力满足会议融合编码需求;
2、会议开始,媒体加工任务启动,启动后向SFU发起入会并获取会议媒体流;
3、构造HTTP请求,POST http://sscontroller:7022/ssc,向媒体流控制服务器中部署的媒体流控制服务发起RequestSS请求,获取媒体流推流地址httpDhURL和HLS入口地址模板HLSURLPattern;
4、媒体加工任务对会议媒体流进行音频混音和视频融合后,启动httpdh客户端,使用httpDhURL向媒体流服务器中部署的媒体流服务发起HTTPDH推流,将音视频流源源不断地推给媒体流服务;
5、根据HLSURLPattern及会议唯一标识(如会议号)构造最终HLS媒体流入口地址,如:http://114.35.27.68:1923/live/9201877948/index.m3u8;
6、将以上HLS媒体流入口地址汇报给网页服务器中部署的网页服务,由网页服务持久化到mysql数据库中;
7、若httpdh客户端发现推流异常,到媒体流服务podip网络不通,则触发媒体加工任务重启,即关闭当前进程后,跳转到第一步;
8、会议结束,媒体加工任务结束。
网页服务器中所部署的网页服务逻辑为:
1、网页服务向web浏览器,即客户端提供媒体流数据观看页面,如直播页面,在页面中嵌入HLS媒体流,如HLS直播;
2、网页服务与浏览器直播页面保持websocket双向通讯,当HLS地址发生变更时,用websocket通知浏览器重启直播。
在本申请实施例提供的媒体流容灾方法中,媒体加工任务的推流协议为私有HTTPDH协议,也可以替换为RTMP、RTSP、RTP等标准协议。本方案中所采用的媒体流协议为HLS,也可以替换为HTTPFLV、webrtc、websocket等其他协议。本方案中的媒体流服务可以是直播服务,当录播服务挂载网络共享文件系统时,该媒体流服务也可以为录播服务,实现录播服务容灾热备功能。本方案中的客户端也可以替换为CDN内容分发网络,以实现媒体流数据源站的热备。本方案中kubernetes的POD网络插件,也可以使用flannel插件或者calico插件等,本申请在此不做限定。
本申请中所提供的媒体流容灾方法具有以下优势:
1、使用POD IP进行kubernetes集群内流量交换,异常发现及切换速度快。在媒体流服务active-backup热备模式下,16秒完成切换;在媒体流服务active-active热备模式下3秒完成切换。
2、单个kubernetes集群内实现流量密集型服务的容灾切换,不依赖未成熟的kubernetes federation服务,可靠性高,成熟度高,节约容灾成本。
3、媒体流数据的输出未经过kubernetes的service域名解析、ClusterIP转发等过程,为主机端口直接输出,效率高。
基于同一发明构思,本申请实施例中还提供了一种媒体流容灾方法,该方法应用于媒体流服务容灾系统中的媒体流任务服务器,且媒体流服务容灾系统包括多个媒体流服务器。如图4所示,该方法可以包括如下步骤:
步骤S401,根据多个媒体流服务器中目标媒体流数据对应的第一媒体流服务器的第一推流URL,向第一媒体流服务器持续推送目标媒体流数据,以及将第一媒体流服务器的第一拉流URL发送给网页服务器,以使客户端基于从网页服务器中获取到的第一拉流URL,从第一媒体流服务器中拉取目标媒体流数据。
其中,目标媒体流数据是对获取到的初始媒体流数据进行融合后得到的。
步骤S402,若推送失败,则获取多个媒体流服务器中目标媒体流数据对应的第二媒体流服务器的第二推流URL和第二拉流URL,并根据第二推流URL向第二媒体流服务器持续推送目标媒体流数据,以及将第二拉流URL发送给网页服务器,以使客户端基于从网页服务器中获取到第二拉流URL,从第二媒体流服务器中拉取目标媒体流数据。
若推送失败,媒体流任务服务器向媒体流控制服务器发送第二获取请求,接收媒体流控制服务器发送的第二媒体流服务器的第二推流URL和第二拉流URL模板。
其中,第二推流URL是媒体流控制服务器根据第二媒体流服务器的第一POD IP和预设的推流端口确定的,第二POD IP是媒体流控制服务器向第二媒体流服务器发送POD IP获取请求后获取到的。第二拉流URL模板是媒体流控制服务器根据第二媒体流服务器的第二wan IP和预设的推流端口确定的,第二wan IP是媒体流控制服务器根据第二POD IP向第二媒体流服务器发送wan IP获取请求后获取到的。第二POD IP为第二媒体流服务器中预设的媒体流服务对应的kubernetes POD的容器虚拟网络IP;第二wan IP为第二媒体流服务器的物理出口网络IP。
媒体流任务服务器在接收到媒体流控制服务器发送的第二拉流URL模板后,可以根据第二拉流URL模板和目标数据标识,确定第二媒体流服务器的第二拉流URL。
基于同一发明构思,本申请实施例中还提供了一种媒体流容灾方法,该方法应用于媒体流服务容灾系统中的媒体流控制服务器,且媒体流服务容灾系统包括媒体流任务服务器和多个媒体流服务器。如图5所示,该方法可以包括如下步骤:
步骤S501,响应于媒体流任务服务器的第一获取请求,向媒体流任务服务器发送目标媒体流数据对应的第一媒体流服务器的第一推流URL和第一拉流URL模板,以使媒体流任务服务器基于第一推流URL,向第一媒体流服务器持续推送目标媒体流数据,以及在根据第一拉流URL模板和目标数据标识确定第一媒体流服务器的第一拉流URL后,将第一拉流URL发送给网页服务器供客户端拉取目标媒体流数据。
其中,第一媒体流服务器的第一推流URL和第一拉流URL模板通过以下方式确定:
通过对多个媒体流服务器对应的预设域名进行域名解析,确定多个媒体流服务器对应的Cluster IP,并在根据Cluster IP对应的iptables规则和负载均衡算法,从多个媒体流服务器分别对应的POD IP中选择第一POD IP后,向第一POD IP对应的第一媒体流服务器发送POD IP获取请求,接收第一媒体流服务器发送的第一POD IP,并根据第一POD IP和预设的推流端口确定第一媒体流服务器的第一推流URL。以及根据第一POD IP,向第一媒体流服务器发送wan IP获取请求,接收第一媒体流服务器发送的第一wan IP,并根据第一wanIP和预设的服务端口确定第一媒体流服务器的第一拉流URL模板。第一POD IP为第一媒体流服务器中预设的媒体流服务对应的kubernetes POD的容器虚拟网络IP;第一wan IP为第一媒体流服务器的物理出口网络IP。
步骤S502,响应于媒体流任务服务器的第二获取请求,向媒体流任务服务器发送目标媒体流数据对应的第二媒体流服务器的第二推流URL和第二拉流URL模板,以使媒体流任务服务器基于第二推流URL,向第二媒体流服务器持续推送目标媒体流数据,以及在根据第二拉流URL模板和目标数据标识确定第二媒体流服务器的第二拉流URL后,将第二拉流URL发送给网页服务器供客户端拉取目标媒体流数据。
其中,第二获取请求是媒体流任务服务器在向第一媒体流服务器持续推送目标媒体流数据失败后发送的。
第二媒体流服务器的第二推流URL和第二拉流URL模板通过以下方式确定:
通过对多个媒体流服务器对应的预设域名进行域名解析,确定多个媒体流服务器对应的Cluster IP,并在根据Cluster IP对应的iptables规则和负载均衡算法,从多个媒体流服务器中除第一媒体流服务器之外的其他媒体流服务器分别对应的POD IP中选择第二POD IP后,向第二POD IP对应的第二媒体流服务器发送POD IP获取请求,接收第二媒体流服务器发送的第二POD IP,并根据第二POD IP和预设的推流端口确定第二媒体流服务器的第二推流URL。以及根据第二POD IP,向第二媒体流服务器发送wan IP获取请求,接收第二媒体流服务器发送的第二wan IP,并根据第二wan IP和预设的服务端口确定第二媒体流服务器的第二拉流URL模板。第二POD IP为第二媒体流服务器中预设的媒体流服务对应的kubernetes POD的容器虚拟网络IP;第二wan IP为第二媒体流服务器的物理出口网络IP。
基于同一发明构思,本申请实施例中还提供了一种媒体流容灾方法,该方法应用于媒体流服务容灾系统中的多个媒体流服务器中的目标媒体流服务器,且媒体流服务容灾系统包括媒体流任务服务器。如图6所示,该方法可以包括如下步骤:
步骤S601,接收媒体流任务服务器根据目标推流URL,持续推送的目标媒体流数据。
其中,媒体流任务服务器中的目标推流URL通过以下方式确定:
响应于媒体流控制服务器的POD IP获取请求,向媒体流控制服务器发送目标PODIP,以使媒体流控制服务器根据目标POD IP和预设的推流端口确定出目标推流URL后,将目标推流URL发送给媒体流任务服务器。目标POD IP为目标媒体流服务器中预设的媒体流服务对应的kubernetes POD的容器虚拟网络IP。
步骤S602,响应于客户端的数据拉取请求,将目标媒体流数据发送给客户端。
其中,数据拉取请求是客户端基于从网页服务器中获取到的目标拉流URL发送的。
网页服务器中的目标拉流URL通过以下方式确定:
响应于媒体流控制服务器根据目标POD IP发送的wan IP获取请求,向媒体流控制服务器发送目标wan IP,以使媒体流控制服务器根据目标wan IP和预设的服务端口确定出目标拉流URL模板后,通过媒体流任务服务器将根据目标拉流URL模板和目标数据标识确定的目标拉流URL发送给网页服务器。目标wan IP为目标媒体流服务器的物理出口网络IP。
与图4所示的媒体流容灾方法基于同一发明构思,本申请实施例中还提供了一种媒体流容灾装置,该媒体流容灾装置应用于媒体流服务容灾系统中的媒体流任务服务器,且媒体流服务容灾系统包括多个媒体流服务器。由于该装置是本申请实施例媒体流容灾方法对应的装置,并且该装置解决问题的原理与该方法相似,因此该装置的实施可以参见上述方法的实施,重复之处不再赘述。
图7示出了本申请实施例提供的一种媒体流容灾装置的结构示意图,如图7所示,该媒体流容灾装置包括第一处理单元701和第二处理单元702。
其中,第一处理单元701,用于根据多个媒体流服务器中目标媒体流数据对应的第一媒体流服务器的第一推流URL,向第一媒体流服务器持续推送目标媒体流数据,以及将第一媒体流服务器的第一拉流URL发送给网页服务器,以使客户端基于从网页服务器中获取到的第一拉流URL,从第一媒体流服务器中拉取目标媒体流数据,其中目标媒体流数据是对获取到的初始媒体流数据进行融合后得到的;
第二处理单元702,用于若推送失败,则获取多个媒体流服务器中目标媒体流数据对应的第二媒体流服务器的第二推流URL和第二拉流URL,并根据第二推流URL向第二媒体流服务器持续推送目标媒体流数据,以及将第二拉流URL发送给网页服务器,以使客户端基于从网页服务器中获取到第二拉流URL,从第二媒体流服务器中拉取目标媒体流数据。
在一种可选的实施例中,第二处理单元702,具体用于:
向媒体流控制服务器发送第二获取请求;
接收媒体流控制服务器发送的第二媒体流服务器的第二推流URL和第二拉流URL模板;其中第二推流URL是媒体流控制服务器根据第二媒体流服务器的第二POD IP和预设的推流端口确定的,第二POD IP是媒体流控制服务器向第二媒体流服务器发送POD IP获取请求后获取到的;第二拉流URL模板是媒体流控制服务器根据第二媒体流服务器的第二wanIP和预设的推流端口确定的;第二wan IP是媒体流控制服务器根据第二POD IP向第二媒体流服务器发送wan IP获取请求后获取到的;第二POD IP为第二媒体流服务器中预设的媒体流服务对应的kubernetes POD的容器虚拟网络IP;第二wan IP为第二媒体流服务器的物理出口网络IP。
根据第二拉流URL模板和目标数据标识,确定第二媒体流服务器的第二拉流URL。
与图5所示的媒体流容灾方法基于同一发明构思,本申请实施例中还提供了一种媒体流容灾装置,该媒体流容灾装置应用于媒体流服务容灾系统中的媒体流控制服务器,且媒体流服务容灾系统包括媒体流任务服务器和多个媒体流服务器。由于该装置是本申请实施例媒体流容灾方法对应的装置,并且该装置解决问题的原理与该方法相似,因此该装置的实施可以参见上述方法的实施,重复之处不再赘述。
图8示出了本申请实施例提供的一种媒体流容灾装置的结构示意图,如图8所示,该媒体流容灾装置包括第一URL发送单元801和第二URL发送单元802。
其中,第一URL发送单元801,用于响应于媒体流任务服务器的第一获取请求,向媒体流任务服务器发送目标媒体流数据对应的第一媒体流服务器的第一推流URL和第一拉流URL模板,以使媒体流任务服务器基于第一推流URL,向第一媒体流服务器持续推送目标媒体流数据,以及在根据第一拉流URL模板和目标数据标识确定第一媒体流服务器的第一拉流URL后,将第一拉流URL发送给网页服务器供客户端拉取目标媒体流数据;
第二URL发送单元802,用于响应于媒体流任务服务器的第二获取请求,向媒体流任务服务器发送目标媒体流数据对应的第二媒体流服务器的第二推流URL和第二拉流URL模板,以使媒体流任务服务器基于第二推流URL,向第二媒体流服务器持续推送目标媒体流数据,以及在根据第二拉流URL模板和目标数据标识确定第二媒体流服务器的第二拉流URL后,将第二拉流URL发送给网页服务器供客户端拉取目标媒体流数据,其中第二获取请求是媒体流任务服务器在向第一媒体流服务器持续推送目标媒体流数据失败后发送的。
在一种可选的实施例中,如图9所示,上述装置还可以包括第一URL确定单元901和第二URL确定单元902。
其中,第一URL确定单元901,用于通过对多个媒体流服务器对应的预设域名进行域名解析,确定多个媒体流服务器对应的Cluster IP,并在根据Cluster IP对应的iptables规则和负载均衡算法,从多个媒体流服务器分别对应的POD IP中选择第一POD IP后,向第一POD IP对应的第一媒体流服务器发送POD IP获取请求;接收第一媒体流服务器发送的第一POD IP,并根据第一POD IP和预设的推流端口确定第一媒体流服务器的第一推流URL;以及根据第一POD IP,向第一媒体流服务器发送wan IP获取请求,接收第一媒体流服务器发送的第一wan IP,并根据第一wan IP和预设的服务端口确定第一媒体流服务器的第一拉流URL模板;第一POD IP为第一媒体流服务器中预设的媒体流服务对应的kubernetes POD的容器虚拟网络IP;第一wan IP为第一媒体流服务器的物理出口网络IP;
第二URL确定单元902,用于通过对多个媒体流服务器对应的预设域名进行域名解析,确定多个媒体流服务器对应的Cluster IP,并在根据Cluster IP对应的iptables规则和负载均衡算法,从多个媒体流服务器中除第一媒体流服务器之外的其他媒体流服务器分别对应的POD IP中选择第二POD IP后,向第二POD IP对应的第二媒体流服务器发送POD IP获取请求;接收第二媒体流服务器发送的第二POD IP,并根据第二POD IP和预设的推流端口确定第二媒体流服务器的第二推流URL;以及根据第二POD IP,向第二媒体流服务器发送wan IP获取请求,接收第二媒体流服务器发送的第二wan IP,并根据第二wan IP和预设的服务端口确定第二媒体流服务器的第二拉流URL模板;第二POD IP为第二媒体流服务器中预设的媒体流服务对应的kubernetes POD的容器虚拟网络IP;第二wan IP为第二媒体流服务器的物理出口网络IP。
与图6所示的媒体流容灾方法基于同一发明构思,本申请实施例中还提供了一种媒体流容灾装置,该媒体流容灾装置应用于媒体流服务容灾系统中的多个媒体流服务器中的目标媒体流服务器,且媒体流服务容灾系统包括媒体流任务服务器。由于该装置是本申请实施例媒体流容灾方法对应的装置,并且该装置解决问题的原理与该方法相似,因此该装置的实施可以参见上述方法的实施,重复之处不再赘述。
图10示出了本申请实施例提供的一种媒体流容灾装置的结构示意图,如图10所示,该媒体流容灾装置包括数据接收单元1001和数据发送单元1002。
其中,数据接收单元1001,用于接收媒体流任务服务器根据目标推流URL,持续推送的目标媒体流数据;
数据发送单元1002,用于响应于客户端的数据拉取请求,将目标媒体流数据发送给客户端,其中数据拉取请求是客户端基于从网页服务器中获取到的目标拉流URL发送的。
在一种可选的实施例中,如图11所示,上述装置还可以包括推流地址确定单元1101和拉流地址确定单元1102。
其中,推流地址确定单元1101,用于响应于媒体流控制服务器的POD IP获取请求,向媒体流控制服务器发送目标POD IP,以使媒体流控制服务器根据目标POD IP和预设的推流端口确定出目标推流URL后,将目标推流URL发送给媒体流任务服务器;目标POD IP为目标媒体流服务器中预设的媒体流服务对应的kubernetes POD的容器虚拟网络IP。
拉流地址确定单元1102,用于响应于媒体流控制服务器根据目标POD IP发送的wan IP获取请求,向媒体流控制服务器发送目标wan IP,以使媒体流控制服务器根据目标wan IP和预设的服务端口确定出目标拉流URL模板后,通过媒体流任务服务器将根据目标拉流URL模板和目标数据标识确定的目标拉流URL发送给网页服务器;目标wan IP为目标媒体流服务器的物理出口网络IP。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例中的媒体流容灾方法。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

Claims (12)

1.一种媒体流容灾方法,其特征在于,应用于媒体流服务容灾系统中的媒体流任务服务器,所述媒体流服务容灾系统包括多个媒体流服务器,所述方法包括:
根据所述多个媒体流服务器中目标媒体流数据对应的第一媒体流服务器的第一推流URL,向所述第一媒体流服务器持续推送所述目标媒体流数据,以及将所述第一媒体流服务器的第一拉流URL发送给网页服务器,以使客户端基于从所述网页服务器中获取到的所述第一拉流URL,从所述第一媒体流服务器中拉取所述目标媒体流数据,其中所述目标媒体流数据是对获取到的初始媒体流数据进行融合后得到的;
若推送失败,则获取所述多个媒体流服务器中所述目标媒体流数据对应的第二媒体流服务器的第二推流URL和第二拉流URL,并根据所述第二推流URL向所述第二媒体流服务器持续推送所述目标媒体流数据,以及将所述第二拉流URL发送给所述网页服务器,以使所述客户端基于从所述网页服务器中获取到所述第二拉流URL,从所述第二媒体流服务器中拉取所述目标媒体流数据。
2.如权利要求1所述的方法,其特征在于,所述获取所述多个媒体流服务器中所述目标媒体流数据对应的第二媒体流服务器的第二推流URL和第二拉流URL,包括:
向媒体流控制服务器发送第二获取请求;
接收所述媒体流控制服务器发送的所述第二媒体流服务器的第二推流URL和第二拉流URL模板;其中所述第二推流URL是所述媒体流控制服务器根据所述第二媒体流服务器的第二POD IP和预设的推流端口确定的,所述第二POD IP是所述媒体流控制服务器向所述第二媒体流服务器发送POD IP获取请求后获取到的;所述第二拉流URL模板是所述媒体流控制服务器根据所述第二媒体流服务器的第二wan IP和预设的推流端口确定的;所述第二wanIP是所述媒体流控制服务器根据所述第二POD IP向所述第二媒体流服务器发送wan IP获取请求后获取到的;所述第二POD IP为所述第二媒体流服务器中预设的媒体流服务对应的kubernetes POD的容器虚拟网络IP;所述第二wan IP为所述第二媒体流服务器的物理出口网络IP;
根据所述第二拉流URL模板和目标数据标识,确定所述第二媒体流服务器的第二拉流URL。
3.一种媒体流容灾方法,其特征在于,应用于媒体流服务容灾系统中的媒体流控制服务器,所述媒体流服务容灾系统包括媒体流任务服务器和多个媒体流服务器,所述方法包括:
响应于所述媒体流任务服务器的第一获取请求,向所述媒体流任务服务器发送目标媒体流数据对应的第一媒体流服务器的第一推流URL和第一拉流URL模板,以使所述媒体流任务服务器基于所述第一推流URL,向所述第一媒体流服务器持续推送所述目标媒体流数据,以及在根据所述第一拉流URL模板和目标数据标识确定所述第一媒体流服务器的第一拉流URL后,将所述第一拉流URL发送给网页服务器供客户端拉取所述目标媒体流数据;
响应于所述媒体流任务服务器的第二获取请求,向所述媒体流任务服务器发送所述目标媒体流数据对应的第二媒体流服务器的第二推流URL和第二拉流URL模板,以使所述媒体流任务服务器基于所述第二推流URL,向所述第二媒体流服务器持续推送所述目标媒体流数据,以及在根据所述第二拉流URL模板和目标数据标识确定所述第二媒体流服务器的第二拉流URL后,将所述第二拉流URL发送给所述网页服务器供所述客户端拉取所述目标媒体流数据,其中所述第二获取请求是所述媒体流任务服务器在向所述第一媒体流服务器持续推送所述目标媒体流数据失败后发送的。
4.如权利要求3所述的方法,其特征在于,通过下列方式确定所述第一媒体流服务器的第一推流URL和第一拉流URL模板:
通过对所述多个媒体流服务器对应的预设域名进行域名解析,确定所述多个媒体流服务器对应的Cluster IP,并在根据所述Cluster IP对应的iptables规则和负载均衡算法,从所述多个媒体流服务器分别对应的POD IP中选择第一POD IP后,向所述第一POD IP对应的第一媒体流服务器发送POD IP获取请求;
接收所述第一媒体流服务器发送的第一POD IP,并根据所述第一POD IP和预设的推流端口确定所述第一媒体流服务器的第一推流URL;以及
根据所述第一POD IP,向所述第一媒体流服务器发送wan IP获取请求,接收所述第一媒体流服务器发送的第一wan IP,并根据所述第一wan IP和预设的服务端口确定所述第一媒体流服务器的第一拉流URL模板;所述第一POD IP为所述第一媒体流服务器中预设的媒体流服务对应的kubernetes POD的容器虚拟网络IP;所述第一wan IP为所述第一媒体流服务器的物理出口网络IP;
通过下列方式确定所述第二媒体流服务器的第二推流URL和第二拉流URL模板:
通过对所述多个媒体流服务器对应的预设域名进行域名解析,确定所述多个媒体流服务器对应的Cluster IP,并在根据所述Cluster IP对应的iptables规则和负载均衡算法,从所述多个媒体流服务器中除所述第一媒体流服务器之外的其他媒体流服务器分别对应的POD IP中选择第二POD IP后,向所述第二POD IP对应的第二媒体流服务器发送POD IP获取请求;
接收所述第二媒体流服务器发送的第二POD IP,并根据所述第二POD IP和预设的推流端口确定所述第二媒体流服务器的第二推流URL;以及
根据所述第二POD IP,向所述第二媒体流服务器发送wan IP获取请求,接收所述第二媒体流服务器发送的第二wan IP,并根据所述第二wan IP和预设的服务端口确定所述第二媒体流服务器的第二拉流URL模板;所述第二POD IP为所述第二媒体流服务器中预设的媒体流服务对应的kubernetes POD的容器虚拟网络IP;所述第二wan IP为所述第二媒体流服务器的物理出口网络IP。
5.一种媒体流容灾方法,其特征在于,应用于媒体流服务容灾系统中的多个媒体流服务器中的目标媒体流服务器,所述媒体流服务容灾系统包括媒体流任务服务器,所述方法包括:
接收所述媒体流任务服务器根据目标推流URL,持续推送的目标媒体流数据;
响应于客户端的数据拉取请求,将所述目标媒体流数据发送给所述客户端,其中所述数据拉取请求是所述客户端基于从网页服务器中获取到的目标拉流URL发送的。
6.如权利要求5所述的方法,其特征在于,所述媒体流任务服务器中的所述目标推流URL通过下列方式确定:
响应于媒体流控制服务器的POD IP获取请求,向所述媒体流控制服务器发送目标PODIP,以使所述媒体流控制服务器根据所述目标POD IP和预设的推流端口确定出目标推流URL后,将所述目标推流URL发送给所述媒体流任务服务器;所述目标POD IP为所述目标媒体流服务器中预设的媒体流服务对应的kubernetes POD的容器虚拟网络IP;
所述网页服务器中的所述目标拉流URL通过下列方式确定:
响应于所述媒体流控制服务器根据所述目标POD IP发送的wan IP获取请求,向所述媒体流控制服务器发送目标wan IP,以使所述媒体流控制服务器根据所述目标wan IP和预设的服务端口确定出目标拉流URL模板后,通过所述媒体流任务服务器将根据所述目标拉流URL模板和目标数据标识确定的目标拉流URL发送给所述网页服务器;所述目标wan IP为所述目标媒体流服务器的物理出口网络IP。
7.一种媒体流容灾装置,其特征在于,应用于媒体流服务容灾系统中的媒体流任务服务器,所述媒体流服务容灾系统包括多个媒体流服务器,所述装置包括:
第一处理单元,用于根据所述多个媒体流服务器中目标媒体流数据对应的第一媒体流服务器的第一推流URL,向所述第一媒体流服务器持续推送所述目标媒体流数据,以及将所述第一媒体流服务器的第一拉流URL发送给网页服务器,以使客户端基于从所述网页服务器中获取到的所述第一拉流URL,从所述第一媒体流服务器中拉取所述目标媒体流数据,其中所述目标媒体流数据是对获取到的初始媒体流数据进行融合后得到的;
第二处理单元,用于若推送失败,则获取所述多个媒体流服务器中所述目标媒体流数据对应的第二媒体流服务器的第二推流URL和第二拉流URL,并根据所述第二推流URL向所述第二媒体流服务器持续推送所述目标媒体流数据,以及将所述第二拉流URL发送给所述网页服务器,以使所述客户端基于从所述网页服务器中获取到所述第二拉流URL,从所述第二媒体流服务器中拉取所述目标媒体流数据。
8.一种媒体流容灾装置,其特征在于,应用于媒体流服务容灾系统中的媒体流控制服务器,所述媒体流服务容灾系统包括媒体流任务服务器和多个媒体流服务器,所述装置包括:
第一URL发送单元,用于响应于所述媒体流任务服务器的第一获取请求,向所述媒体流任务服务器发送目标媒体流数据对应的第一媒体流服务器的第一推流URL和第一拉流URL模板,以使所述媒体流任务服务器基于所述第一推流URL,向所述第一媒体流服务器持续推送所述目标媒体流数据,以及在根据所述第一拉流URL模板和目标数据标识确定所述第一媒体流服务器的第一拉流URL后,将所述第一拉流URL发送给网页服务器供客户端拉取所述目标媒体流数据;
第二URL发送单元,用于响应于所述媒体流任务服务器的第二获取请求,向所述媒体流任务服务器发送所述目标媒体流数据对应的第二媒体流服务器的第二推流URL和第二拉流URL模板,以使所述媒体流任务服务器基于所述第二推流URL,向所述第二媒体流服务器持续推送所述目标媒体流数据,以及在根据所述第二拉流URL模板和目标数据标识确定所述第二媒体流服务器的第二拉流URL后,将所述第二拉流URL发送给所述网页服务器供所述客户端拉取所述目标媒体流数据,其中所述第二获取请求是所述媒体流任务服务器在向所述第一媒体流服务器持续推送所述目标媒体流数据失败后发送的。
9.一种媒体流容灾装置,其特征在于,应用于媒体流服务容灾系统中的多个媒体流服务器中的目标媒体流服务器,所述媒体流服务容灾系统包括媒体流任务服务器,所述装置包括:
数据接收单元,用于接收所述媒体流任务服务器根据目标推流URL,持续推送的目标媒体流数据;
数据发送单元,用于响应于客户端的数据拉取请求,将所述目标媒体流数据发送给所述客户端,其中所述数据拉取请求是所述客户端基于从网页服务器中获取到的目标拉流URL发送的。
10.一种媒体流任务服务器,其特征在于,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,实现权利要求1~2中任一项所述的方法。
11.一种媒体流控制服务器,其特征在于,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,实现权利要求3~4中任一项所述的方法。
12.一种媒体流服务器,其特征在于,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,当所述计算机程序被所述处理器执行时,实现权利要求5~6中任一项所述的方法。
CN202210683177.0A 2022-06-17 2022-06-17 一种媒体流容灾方法、装置和相关设备 Active CN114827633B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210683177.0A CN114827633B (zh) 2022-06-17 2022-06-17 一种媒体流容灾方法、装置和相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210683177.0A CN114827633B (zh) 2022-06-17 2022-06-17 一种媒体流容灾方法、装置和相关设备

Publications (2)

Publication Number Publication Date
CN114827633A true CN114827633A (zh) 2022-07-29
CN114827633B CN114827633B (zh) 2022-09-13

Family

ID=82520668

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210683177.0A Active CN114827633B (zh) 2022-06-17 2022-06-17 一种媒体流容灾方法、装置和相关设备

Country Status (1)

Country Link
CN (1) CN114827633B (zh)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105141660A (zh) * 2015-07-24 2015-12-09 网宿科技股份有限公司 一种流媒体管理方法及系统
US20170230442A1 (en) * 2015-01-28 2017-08-10 Canon Kabushiki Kaisha Adaptive client-driven push of resources by a server device
CN107295426A (zh) * 2017-08-15 2017-10-24 四川长虹电器股份有限公司 一种低延迟的视频直播优化及回播方法
CN109756758A (zh) * 2017-11-01 2019-05-14 腾讯科技(深圳)有限公司 直播控制方法及装置
GB201912014D0 (en) * 2015-05-27 2019-10-02 Canon Kk Adaptive client-driven push of resourses by a server device
US20200244753A1 (en) * 2019-01-29 2020-07-30 Wangsu Science & Technology Co., Ltd. Method, system and server for stream-pushing
WO2020155293A1 (zh) * 2019-01-29 2020-08-06 网宿科技股份有限公司 一种推流方法、系统及服务器
CN111586446A (zh) * 2020-04-13 2020-08-25 微梦创科网络科技(中国)有限公司 一种媒体流无缝切换方法、装置及系统
CN111641845A (zh) * 2020-05-19 2020-09-08 北京三快在线科技有限公司 流媒体集群控制系统和方法
US20200349672A1 (en) * 2018-02-07 2020-11-05 Wayne Cochran Method and apparatus for processing and distributing live virtual reality content
CN112351296A (zh) * 2020-10-29 2021-02-09 北京达佳互联信息技术有限公司 视频流的拉流转推方法、装置、服务器及存储介质
CN112702559A (zh) * 2021-03-23 2021-04-23 浙江华创视讯科技有限公司 一种录播异常反馈方法、系统、设备及可读存储介质
CN113891175A (zh) * 2021-09-29 2022-01-04 上海哔哩哔哩科技有限公司 直播推流方法、装置及系统
CN114143569A (zh) * 2021-11-18 2022-03-04 聚好看科技股份有限公司 一种网页录制和直播方法及系统

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170230442A1 (en) * 2015-01-28 2017-08-10 Canon Kabushiki Kaisha Adaptive client-driven push of resources by a server device
GB201912014D0 (en) * 2015-05-27 2019-10-02 Canon Kk Adaptive client-driven push of resourses by a server device
CN105141660A (zh) * 2015-07-24 2015-12-09 网宿科技股份有限公司 一种流媒体管理方法及系统
CN107295426A (zh) * 2017-08-15 2017-10-24 四川长虹电器股份有限公司 一种低延迟的视频直播优化及回播方法
CN109756758A (zh) * 2017-11-01 2019-05-14 腾讯科技(深圳)有限公司 直播控制方法及装置
US20200349672A1 (en) * 2018-02-07 2020-11-05 Wayne Cochran Method and apparatus for processing and distributing live virtual reality content
WO2020155293A1 (zh) * 2019-01-29 2020-08-06 网宿科技股份有限公司 一种推流方法、系统及服务器
US20200244753A1 (en) * 2019-01-29 2020-07-30 Wangsu Science & Technology Co., Ltd. Method, system and server for stream-pushing
CN111586446A (zh) * 2020-04-13 2020-08-25 微梦创科网络科技(中国)有限公司 一种媒体流无缝切换方法、装置及系统
CN111641845A (zh) * 2020-05-19 2020-09-08 北京三快在线科技有限公司 流媒体集群控制系统和方法
CN112351296A (zh) * 2020-10-29 2021-02-09 北京达佳互联信息技术有限公司 视频流的拉流转推方法、装置、服务器及存储介质
CN112702559A (zh) * 2021-03-23 2021-04-23 浙江华创视讯科技有限公司 一种录播异常反馈方法、系统、设备及可读存储介质
CN113891175A (zh) * 2021-09-29 2022-01-04 上海哔哩哔哩科技有限公司 直播推流方法、装置及系统
CN114143569A (zh) * 2021-11-18 2022-03-04 聚好看科技股份有限公司 一种网页录制和直播方法及系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
IMMANUEL KUNZ,ET AL.: "Towards Tracking Data Flows in Cloud Architectures", 《 2020 IEEE 13TH INTERNATIONAL CONFERENCE ON CLOUD COMPUTING (CLOUD)》 *
曹铂潇等: "直播系统的HLS集群服务器中负载均衡概述", 《网络安全技术与应用》 *
黄泽武等: "基于卫星的流媒体应用技术研究", 《中兴通讯技术》 *

Also Published As

Publication number Publication date
CN114827633B (zh) 2022-09-13

Similar Documents

Publication Publication Date Title
US9413830B2 (en) Application streaming service
US9417921B2 (en) Method and system for a graph based video streaming platform
US9826011B2 (en) Method and system for coordinating stream processing at a video streaming platform
US9912707B2 (en) Method and system for ensuring reliability of unicast video streaming at a video streaming platform
US11425178B1 (en) Streaming playlist including future encoded segments
US10630746B1 (en) Streaming playlist including future encoded segments
CN114095557B (zh) 数据处理方法、装置、设备以及介质
CN105897888B (zh) 一种客户端连接方法及系统
US20150244769A1 (en) Content delivery system
CN111432158B (zh) 媒体节点的负载均衡方法及装置、存储介质、电子装置
US10531165B1 (en) Embedded content synchronization
CN102202061A (zh) 客户机-服务器会话并行化
CN110933357A (zh) 一种视讯会议系统融合监控系统的方法和系统
CN110234028A (zh) 音视频数据同步播放方法、装置、系统、电子设备及介质
KR20220165763A (ko) 에지 컴퓨팅을 사용한 미디어 스트리밍
CN113453025B (zh) 数据获取方法及装置
CN113926185A (zh) 一种数据处理方法、装置、设备及存储介质
Imagane et al. Performance evaluations of multimedia service function chaining in edge clouds
WO2016180284A1 (zh) 服务节点分配方法、装置、cdn管理服务器及系统
CN114827633B (zh) 一种媒体流容灾方法、装置和相关设备
US11290575B2 (en) Connecting computer processing systems and transmitting data
US11405766B2 (en) Connecting computer processing systems and transmitting data
US11357020B2 (en) Connecting computer processing systems and transmitting data
US11425219B1 (en) Smart stream capture
US10708639B1 (en) State-based image data stream provisioning

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