CN107707926A - 一种直播流传输方法、装置和系统 - Google Patents
一种直播流传输方法、装置和系统 Download PDFInfo
- Publication number
- CN107707926A CN107707926A CN201710138374.3A CN201710138374A CN107707926A CN 107707926 A CN107707926 A CN 107707926A CN 201710138374 A CN201710138374 A CN 201710138374A CN 107707926 A CN107707926 A CN 107707926A
- Authority
- CN
- China
- Prior art keywords
- server
- flow data
- source
- cdn
- live
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2181—Source of audio or video content, e.g. local disk arrays comprising remotely distributed storage units, e.g. when movies are replicated over a plurality of video servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/4061—Push-to services, e.g. push-to-talk or push-to-video
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/611—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/765—Media network packet handling intermediate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/232—Content retrieval operation locally within server, e.g. reading video streams from disk arrays
Abstract
本发明提供了一种直播流传输方法、装置和系统。涉及数据传输领域;解决了异地源服务器场景下,直播流推送及拉取质量与效率双低的问题。该方法包括:所述CDN中的服务器在接收到获取流数据的请求时,自调度中心服务器获取所述流数据关联的至少两个源服务器;所述CDN中的服务器从所述至少两个源服务器中选择一个源服务器,与选择的源服务器建立连接,获取所述流数据。本发明提供的技术方案适用于异地源服务器数据传输,实现了高效高可靠性的异地直播流传输。
Description
技术领域
本发明涉及数据传输领域,尤其涉及一种直播流传输方法、装置和系统。
背景技术
直播作为当下最火的应用之一,是针对有现场直播需求的用户,利用互联网(或专网)和先进的多媒体通信技术,在网上构建音频、视频、桌面共享、文档共享、互动环节等的在线交流与互动。以视频直播为例,主播在本地将自己正在实时直播的内容推送给服务器(推流),观众从服务器实时获取主播推送给服务器的直播内容(拉流),最后达到主播与观众进行交互的目的。
为了适应高效内容分发的需求,直播平台通常会使用内容分发网络(CDN)加速,使用户尽可能近的获取所需的内容,从而降低响应时间,提高交互的实时性。
在直播传输CDN加速应用场景下,主播通过边缘节点将流推到直播源服务器上,观众再通过边缘节点获取直播内容,如果该边缘节点没有该直播内容,则该边缘节点需要进行回源,从直播源服务器获得该直播内容并提供给观众。
在异地直播(如海外直播)加速应用场景下,通常采用直播源集中存储策略,具体地,直播源服务器部署在国内,在海外部署边缘节点,主播通过海外边缘节点将流推到国内直播源服务器上,海外观众通过海外边缘节点获取直播内容,如果该海外边缘节点没有该直播内容,海外边缘节点通过回国内直播服务器获取直播内容,获取到的直播内容提供给观众。
但该策略存在以下缺点:
1)海外节点回国内直播源服务器链路不稳定,海外主播推流不稳定,推流质量保证不了,观众获取直播内容时,往往卡顿,甚至获取不到直播内容,直播服务得不到保证;
2)对于主播和观众在同一海外地区的情况,主播需要推流到国内,观众需要从国内获取直播内容,传统策略增加了传输“距离”,降低了直播服务质量,同时服务稳定性不能保证。
发明内容
本发明旨在解决上面描述的问题。
根据本发明的一方面,提供了一种直播流传输方法,适用于CDN,该方法包括:
所述CDN中的服务器在接收到获取流数据的请求时,自调度中心服务器获取所述流数据关联的至少两个源服务器;
所述CDN中的服务器从所述至少两个源服务器中选择一个源服务器,与选择的源服务器建立连接,获取所述流数据。
优选的,所述CDN中的服务器在接收到获取流数据的请求时,自调度中心服务器获取所述流数据关联的至少两个源服务器包括:
边缘服务器在接收到获取流数据的请求时,自所述调度中心服务器获取所述流数据关联的至少两个源服务器;或,
边缘服务器在接收到获取流数据的请求时,选择中转服务器,向所述中转服务器转发所述请求,所述中转服务器自所述调度中心服务器获取所述流数据关联的至少两个源服务器。
优选的,所述CDN中的服务器从所述至少两个源服务器中选择一个源服务器具体为:
所述CDN中的服务器从所述至少两个源服务器中选择最优的服务器。
优选的,该方法还包括:
边缘服务器在接收到流数据的推送时,选择至少两个源服务器,其中一个为所有源服务器中对所述边缘服务器来说最优的源服务器;
所述边缘服务器为接收到的流数据生成唯一标识,并将所述流数据与所述唯一标识均传输给所述至少两个源服务器。
优选的,该方法还包括:
所述CDN中的服务器在无法从选择的源服务器中获取所述流数据时,从所述至少两个源服务器中选择其他服务器重新建立连接并获取所述流数据。
本发明的另一方面提供了一种直播流传输方法,适用于CDN,该方法还包括:
调度中心服务器记录流数据关联的至少两个源服务器;
所述调度中心服务器在接收所述CDN中服务器获取流数据关联的源服务器的请求时,将所述流数据关联的至少两个源服务器告知所述CDN中的服务器。
优选的,调度中心服务器记录流数据关联的至少两个源服务器包括:
调度中心服务器接收源服务器的通知消息,在所述通知消息中携带源服务器接收的流数据的唯一标识;
所述调度中心服务器查找本地存储的流数据记录,在存在与所述通知消息中携带唯一标识匹配的记录时,将所述源服务器关联至所述流数据。
优选的,调度中心服务器接收源服务器的通知消息,在所述通知消息中携带源服务器接收的流数据的唯一标识的步骤之后还包括:
所述调度中心服务器查找本地存储的流数据记录,在不存在与所述通知消息中携带唯一标识匹配的流数据时,建立新的记录,在该记录中存储所述流数据、该流数据的唯一标识与所述源服务器之间的关联关系。
本发明的另一方面提供了一种直播流传输装置,适用于CDN,该装置包括:
源服务器查询模块,用于在接收到获取流数据的请求时,自调度中心服务器获取所述流数据关联的至少两个源服务器;
拉取模块,用于从所述至少两个源服务器中选择一个源服务器,与选择的源服务器建立连接,获取所述流数据。
优选的,所述拉取模块,具体用于从所述至少两个源服务器中选择最优的服务器。
优选的,该装置还包括:
推送决策模块,用于在接收到流数据的推送时,选择至少两个源服务器,其中一个为所有源服务器中对所述直播流传输装置来说最优的源服务器;
数据推送模块,用于为接收到的流数据生成唯一标识,并将所述流数据与所述唯一标识均传输给所述至少两个源服务器。
优选的,所述拉取模块,还用于在无法从选择的源服务器中获取所述流数据时,从所述至少两个源服务器中选择其他服务器重新建立连接并获取所述流数据。
本发明的另一方面提供了一种直播流传输装置,适用于CDN,该装置包括:
流记录管理模块,用于记录流数据关联的至少两个源服务器;
流数据管理模块,用于在接收所述CDN中服务器获取流数据关联的源服务器的请求时,将所述流数据关联的至少两个源服务器告知所述CDN中的服务器。
优选的,所述流记录模块包括:
通知接收单元,用于接收源服务器的通知消息,在所述通知消息中携带源服务器接收的流数据的唯一标识;
记录单元,用于查找本地存储的流数据记录,在存在与所述通知消息中携带唯一标识匹配的记录时,将所述源服务器关联至所述流数据。
优选的,所述记录单元,还用于查找本地存储的流数据记录,在不存在与所述通知消息中携带唯一标识匹配的流数据时,建立新的记录,在该记录中存储所述流数据、该流数据的唯一标识与所述源服务器之间的关联关系。
本发明的另一方面提供了一种直播流传输系统,适用于CDN,该CDN中包含至少两个源服务器,该系统包括CDN中的服务器和调度中心服务器;
所述调度中心服务器,用于记录流数据关联的至少两个源服务器,在接收所述CDN中服务器获取流数据关联的源服务器的请求时,将所述流数据关联的至少两个源服务器告知所述CDN中的服务器;
所述CDN中的服务器,用于在接收到获取流数据的请求时,自所述调度中心服务器获取所述流数据关联的至少两个源服务器,从所述两个源服务器中选择一个源服务器,与选择的源服务器建立连接,获取所述流数据。
优选的,所述CDN中的服务器,还用于在接收到流数据的推送时,选择至少两个源服务器,其中一个为所有源服务器中对所述服务器来说最优的源服务器,为接收到的流数据生成唯一标识,并将所述流数据与所述唯一标识均传输给所述至少两个源服务器;
所述调度中心服务器,还用于接收源服务器的通知消息,在所述通知消息中携带源服务器接收的流数据的唯一标识,查找本地存储的流数据记录,在存在与所述通知消息中携带唯一标识匹配的记录时,将所述源服务器关联至所述流数据。
参照附图来阅读对于示例性实施例的以下描述,本发明的其他特性特征和优点将变得清晰。
附图说明
并入到说明书中并且构成说明书的一部分的附图示出了本发明的实施例,并且与描述一起用于解释本发明的原理。在这些附图中,类似的附图标记用于表示类似的要素。下面描述中的附图是本发明的一些实施例,而不是全部实施例。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他的附图。
图1示例性地示出了本发明的实施例一提供的一种直播流传输系统架构;
图2示例性的示出了本发明的实施例二提供的一种直播流传输方法的流程;
图3示例性的示出了本发明的实施例三提供的一种直播流传输装置的结构;
图4示例性的示出了本发明的实施例三提供的又一种直播流传输装置的结构;
图5示例性的示出了本发明的实施例三提供的一种直播流传输系统的架构。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
在异地直播(如海外直播)加速应用场景下,通常采用直播源集中存储策略,具体地,直播源服务器部署在国内,在海外部署边缘节点,主播通过海外边缘节点将流推到国内直播源服务器上,海外观众通过海外边缘节点获取直播内容,如果该海外边缘节点没有该直播内容,海外边缘节点通过回国内直播服务器获取直播内容,获取到的直播内容提供给观众。
但该策略存在以下缺点:
1)海外节点回国内直播源服务器链路不稳定,海外主播推流不稳定,推流质量保证不了,观众获取直播内容时,往往卡顿,甚至获取不到直播内容,直播服务得不到保证;
2)对于主播和观众在同一海外地区的情况,主播需要推流到国内,观众需要从国内获取直播内容,传统策略增加了传输“距离”,降低了直播服务质量,同时服务稳定性不能保证。
为了解决上述问题,本发明的实施例提供了一种直播流传输方法、装置和系统。本发明的实施例涉及的CDN可以具有单层(仅有边缘服务器)或多层结构。下面结合附图,对本发明的实施例进行详细说明。
首先结合附图,对本发明的实施例一进行说明。
本发明实施例提供了一种直播流传输系统,其结构如图1所示,由调度中心服务器、源服务器、边缘服务器、父服务器组成,边缘服务器与父服务器上安装有调度客户端,其中:
边缘服务器用于:与客户或用户直接相连,客户或用户的请求时,选择离客户或用户“最近”的边缘服务器,用于“第一公里”或“最后一公里”加速,避免客户或用户由于跨运营商、跨地区访问造成请求失败的情况,保证直播服务质量。
父服务器用于:与边缘服务器和源服务器直接相连,为中转服务器的一种,在部分重要地区部署,父服务器较边缘服务器数量少,父服务器用于流聚合,减少回源连接数,达到缓解源服务器承载压力,保证直播服务稳定;父服务器部署在拉流场景下,推流场景不部署,因为一路流的观众可能成千上万,观众可能分布在全国各地,如果所有边缘服务器都回源服务器拉流,容易造成源服务器达到服务器瓶颈,影响直播服务;
源服务器用于:与边缘服务器或父服务器相连,用于存储流数据,国内部署源集群用于中心存储,海外部署源服务器仅存储海外主播推流内容;
调度中心服务器用于:与源服务器和调度客户端交互,用于存储流记录,部署在bgp机房,源服务器将流记录通知调度中心服务器,调度客户端从调度中心服务器同步流记录;
调度客户端用于:与调度中心服务器和边缘服务器、父服务器交互,用于存储流记录,以及回上游ip调度,部署在边缘服务器和父服务器上;
需要说明的是,为方便说明,图1以应用较多的两层CDN结构为例,本发明的实施例提供的技术方案适用于单层及多层CDN,本发明的实施例对此不作限定。
在图1所示直播流传输系统的基础之上,本发明的实施例还提供了一种直播流传输方法,为了便于说明,本发明以海外直播场景为例,使用该方法完成直播流传输的流程如下:
S1:海外主播根据域名解析结果,将流URL推至边缘服务器A;
S2:边缘服务器A和调度客户端B(即边缘服务器A调用调度客户端B)交互,调度客户端B根据边缘服务器A所在地区和运营商,选择对边缘服务器A来说最优的源服务器,如选择离边缘服务器A“最近”的源服务器C,以及用于中心存储的国内源服务器D;
S3:边缘服务器A根据流的url和当前时间戳生成唯一标识flag,并将流URL数据和唯一标识flag传输至源服务器C和源服务器D;
S4:源服务器C通知调度中心服务器E,流URL已推至该源服务器C,带有唯一标识flag,调度中心服务器E根据唯一标识flag,如果与流URL原有记录唯一标识flagA相同,则流URL记录中添加源服务器C,否则更新流URL记录中源服务器为C;
S5:源服务器D通知调度中心服务器E,流URL已推至该源服务器D,带有唯一标识flag,调度中心服务器E根据唯一标识flag,如果与流URL原有记录唯一标识flagA相同,则流URL记录中添加源服务器D,否则更新流URL记录中源服务器为D;
S6:流URL记录中的源服务器有C和D,调度客户端G、I、B和调度中心服务器E交互;
S7:海外观众请求访问流URL,根据域名解析结果,请求到达边缘服务器F;
S8:边缘服务器F和调度客户端G交互,调度客户端G根据边缘服务器F所在地区和运营商,选择对边缘服务器F最优的父服务器,如选择离边缘服务器F“最近”的父服务器H;
S9:边缘服务器F将请求传至父服务器H;
S10:父服务器H和调度客户端I交互,获取流URL的记录,精确找到源服务器C和D,最终选择对于父服务器H来说最优的服务器,即选择离父服务器H“最近”的源服务器C;
S11:父服务器H和源服务器C建立连接,获取流URL数据,如果获取不到直播内容,则父服务器H和源服务器D建立连接;
S12:边缘服务器F从父服务器H获取流URL数据;
S13:海外观众从边缘服务器F获取流(URL)数据。
国内观众或与海外主播不在同一地区的海外观众,通过边缘服务器-父服务器(选优)-国内源服务器D获取直播内容,如果国内源服务器D没有直播内容,父服务器则到海外源服务器C获取直播内容。
对于步骤S10与步骤S12,在CDN只具有边缘服务器的情况下,可由边缘服务器寻找源服务器及回源。
下面结合附图,对本发明的实施例二进行说明。
本发明实施例提供了一种直播流传输方法,使用该方法,能够对同一流数据对应的多个源服务器进行记录管理,以保证在CDN中服务器需要拉取流数据时能够选择最优的服务器完成拉取,最大限度的提高数据传输效率,解决了多个源服务器场景下,尤其是异地直播场景下,直播流推送及拉取质量与效率双低的问题。
使用本发明的实施例提供的直播流传输方法完成流数据推送拉取管理的流程如图2所示,包括:
步骤201、边缘服务器在接收到流数据的推送时,选择至少两个源服务器,其中一个为所有源服务器中对所述边缘服务器来说最优的源服务器;
本步骤中,边缘服务器根据其所在地区和运营商,选择对该边缘服务器来说最优的源服务器,如选择离边缘服务器“最近”的源服务器,以及另一备份源服务器(如用于中心存储的国内源服务器)。
步骤202、边缘服务器为接收到的流数据生成唯一标识,并将所述流数据与所述唯一标识均传输给所述至少两个源服务器;
本步骤中,边缘服务器将流数据与该流数据的唯一标识一并传输给所述至少两个源服务器。
步骤203、接收到流数据的源服务器向调度中心服务器发送通知消息;
本步骤中,接收到流数据的源服务器向调度中心服务器发送通知消息,在所述通知消息中携带该唯一标识与本源服务器的身份信息。
步骤204、调度中心服务器记录流数据关联的至少两个源服务器;
本步骤中,调度中心服务器接收源服务器的通知消息,在所述通知消息中携带源服务器接收的流数据的唯一标识。之后,所述调度中心服务器查找本地存储的流数据记录,在存在与所述通知消息中携带唯一标识匹配的记录时(即,已接收到过其他源服务器发送与该流数据相关的通知消息,记录了其他源服务器为与该源服务器关联的源服务器),将所述源服务器关联至所述流数据,即新增了与该流数据关联的源服务器,此后该流数据就与多个源服务器存在关联关系,而调度中心服务器记录该关联关系。
在调度中心服务器本地不存在与所述通知消息中携带唯一标识匹配的流数据时,建立新的记录,在该记录中存储所述流数据、该流数据的唯一标识与所述源服务器之间的关联关系。
步骤205、所述CDN中的服务器在接收到获取流数据的请求时,自调度中心服务器获取所述流数据关联的至少两个源服务器;
本步骤中,CDN中的服务器接收到流数据请求时,首先向调度中心查询获取该流数据关联的源服务器信息。
对于典型的两层CDN架构(包含父服务器和边缘服务器),边缘服务器在接收到获取流数据的请求时,选择父服务器(最优的父服务器),向所述父服务器转发所述请求,所述父服务器自所述调度中心服务器获取所述流数据关联的至少两个源服务器。
对于单层CDN架构(仅包含边缘服务器),由边缘服务器在接收到获取流数据的请求时,自所述调度中心服务器获取所述流数据关联的至少两个源服务器。
对于多层CDN架构,由边缘服务器在接收到获取流数据的请求时,选择向内一层的中转服务器,逐层递进,直至最内层,由最内层的中转服务器自所述调度中心服务器获取所述流数据关联的至少两个源服务器。
步骤206、调度中心服务器在接收所述CDN中服务器获取流数据关联的源服务器的请求时,将所述流数据关联的至少两个源服务器告知所述CDN中的服务器。
步骤207、CDN中的服务器从所述至少两个源服务器中选择一个源服务器,与选择的源服务器建立连接,获取所述流数据;
本步骤中,优选的,从所述两个源服务器中选择最优的服务器。当然,也可根据应用场景的实际需求,确定不同的选择策略。
CDN中的服务器在无法从选择的源服务器中获取所述流数据时,从所述至少两个源服务器中选择其他服务器重新建立连接并获取所述流数据。
下面结合附图,对本发明的实施例三进行说明。
本发明实施例提供了一种直播流传输装置,适用于CDN,其结构如图3所示,包括:
源服务器查询模块301,用于在接收到获取流数据的请求时,自调度中心服务器获取所述流数据关联的至少两个源服务器;
拉取模块302,用于从所述至少两个源服务器中选择一个源服务器,与选择的源服务器建立连接,获取所述流数据。
优选的,所述拉取模块302,具体用于从所述至少两个源服务器中选择最优的服务器。
优选的,该装置还包括:
推送决策模块303,用于在接收到流数据的推送时,选择至少两个源服务器,其中一个为所有源服务器中对所述直播流传输装置来说最优的源服务器;
数据推送模块304,用于为接收到的流数据生成唯一标识,并将所述流数据与所述唯一标识均传输给所述至少两个源服务器。
优选的,所述拉取模块302,还用于在无法从选择的源服务器中获取所述流数据时,从所述至少两个源服务器中选择其他服务器重新建立连接并获取所述流数据。
图3所示的直播流传输装置,可集成于CDN中的服务器上,由该服务器执行相应功能。具体的,可以通过调度客户端实现该直播流传输装置,在CDN中的服务器上运行调用该调度客户端。
本发明实施例还提供了一种直播流传输装置,适用于CDN,其结构如图4所示,包括:
流记录管理模块401,用于记录流数据关联的至少两个源服务器;
流数据管理模块402,用于在接收所述CDN中服务器获取流数据关联的源服务器的请求时,将所述流数据关联的至少两个源服务器告知所述CDN中的服务器。
优选的,所述流记录模块401包括:
通知接收单元4011,用于接收源服务器的通知消息,在所述通知消息中携带源服务器接收的流数据的唯一标识;
记录单元4012,用于查找本地存储的流数据记录,在存在与所述通知消息中携带唯一标识匹配的记录时,将所述源服务器关联至所述流数据。
优选的,所述记录单元4012,还用于查找本地存储的流数据记录,在不存在与所述通知消息中携带唯一标识匹配的流数据时,建立新的记录,在该记录中存储所述流数据、该流数据的唯一标识与所述源服务器之间的关联关系。
图4所示的直播流传输装置,可集成于调度中心服务器中,由调度中心服务器完成相应功能。
本发明实施例还提供了一种直播流传输系统,适用于CDN,其架构如图5所示,该CDN中包含至少两个源服务器,还包括CDN中的服务器和调度中心服务器。
优选的,所述至少两个源服务器处于异地,如海外与国内。
所述调度中心服务器,用于记录流数据关联的至少两个源服务器,在接收所述CDN中服务器获取流数据关联的源服务器的请求时,将所述流数据关联的至少两个源服务器告知所述CDN中的服务器;
所述CDN中的服务器,用于在接收到获取流数据的请求时,自所述调度中心服务器获取所述流数据关联的至少两个源服务器,从所述两个源服务器中选择一个源服务器,与选择的源服务器建立连接,获取所述流数据。
优选的,所述CDN中的服务器,还用于在接收到流数据的推送时,选择至少两个源服务器,其中一个为所有源服务器中对所述服务器来说最优的源服务器,为接收到的流数据生成唯一标识,并将所述流数据与所述唯一标识均传输给所述至少两个源服务器;
所述调度中心服务器,还用于接收源服务器的通知消息,在所述通知消息中携带源服务器接收的流数据的唯一标识,查找本地存储的流数据记录,在存在与所述通知消息中携带唯一标识匹配的记录时,将所述源服务器关联至所述流数据。
本发明的实施例中涉及的选择“最优”源服务器具体可根据如下因素筛选:
地理位置、时延、丢包等。
可根据单一因素进行判断(如地理位置最近、时延最小等),也可根据多个因素综合判断,具体筛选方式可根据实际应用需求配置。
本发明的实施例提供了一种直播流传输方法、装置和系统,能够与本发明的实施例提供的直播流传输装置和系统相结合,通过调度中心服务器记录流数据关联的至少两个源服务器,CDN中的服务器在接收到获取流数据的请求时,自调度中心服务器获取所述流数据关联的至少两个源服务器,而调度中心服务器在接收所述CDN中服务器获取流数据关联的源服务器的请求时,将所述流数据关联的至少两个源服务器告知所述CDN中的服务器,之后,所述CDN中的服务器从所述两个源服务器中选择一个源服务器,与选择的源服务器建立连接,获取所述流数据。通过多个源服务器实现流数据的多重备份,在源服务器与CDN中的其他服务器分处异地场景下,实现不同地区源服务器上同一流数据的备份,将存储有流数据的源服务器通知给调度中心服务器,再在CDN中的服务器拉取数据时由调度中心服务器通知给CDN中的服务器,以使得CDN中的服务器能够根据当前的情况从多个源服务器中选取最适合的源服务器,解决了异地直播场景下,直播流推送及拉取质量与效率双低的问题,实现了高效高可靠性的异地直播流传输。
上面描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制。尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (17)
1.一种直播流传输方法,适用于内容分发网络CDN,其特征在于,该方法包括:
所述CDN中的服务器在接收到获取流数据的请求时,自调度中心服务器获取所述流数据关联的至少两个源服务器;
所述CDN中的服务器从所述至少两个源服务器中选择一个源服务器,与选择的源服务器建立连接,获取所述流数据。
2.根据权利要求1所述的直播流传输方法,其特征在于,所述CDN中的服务器在接收到获取流数据的请求时,自调度中心服务器获取所述流数据关联的至少两个源服务器包括:
边缘服务器在接收到获取流数据的请求时,自所述调度中心服务器获取所述流数据关联的至少两个源服务器;或,
边缘服务器在接收到获取流数据的请求时,选择中转服务器,向所述中转服务器转发所述请求,所述中转服务器自所述调度中心服务器获取所述流数据关联的至少两个源服务器。
3.根据权利要求1所述的直播流传输方法,其特征在于,所述CDN中的服务器从所述至少两个源服务器中选择一个源服务器具体为:
所述CDN中的服务器从所述至少两个源服务器中选择最优的服务器。
4.根据权利要求1所述的直播流传输方法,其特征在于,该方法还包括:
边缘服务器在接收到流数据的推送时,选择至少两个源服务器,其中一个为所有源服务器中对于所述边缘服务器来说最优的源服务器;
所述边缘服务器为接收到的流数据生成唯一标识,并将所述流数据与所述唯一标识均传输给所述至少两个源服务器。
5.根据权利要求1所述的直播流传输方法,其特征在于,该方法还包括:
所述CDN中的服务器在无法从选择的源服务器中获取所述流数据时,从所述至少两个源服务器中选择其他服务器重新建立连接并获取所述流数据。
6.一种直播流传输方法,适用于CDN,其特征在于,该方法还包括:
调度中心服务器记录流数据关联的至少两个源服务器;
所述调度中心服务器在接收所述CDN中服务器获取流数据关联的源服务器的请求时,将所述流数据关联的至少两个源服务器告知所述CDN中的服务器。
7.根据权利要求6所述的直播流传输方法,其特征在于,调度中心服务器记录流数据关联的至少两个源服务器包括:
调度中心服务器接收源服务器的通知消息,在所述通知消息中携带源服务器接收的流数据的唯一标识;
所述调度中心服务器查找本地存储的流数据记录,在存在与所述通知消息中携带唯一标识匹配的记录时,将所述源服务器关联至所述流数据。
8.根据权利要求7所述的直播流传输方法,其特征在于,调度中心服务器接收源服务器的通知消息,在所述通知消息中携带源服务器接收的流数据的唯一标识的步骤之后还包括:
所述调度中心服务器查找本地存储的流数据记录,在不存在与所述通知消息中携带唯一标识匹配的流数据时,建立新的记录,在该记录中存储所述流数据、该流数据的唯一标识与所述源服务器之间的关联关系。
9.一种直播流传输装置,适用于CDN,其特征在于,该装置包括:
源服务器查询模块,用于在接收到获取流数据的请求时,自调度中心服务器获取所述流数据关联的至少两个源服务器;
拉取模块,用于从所述至少两个源服务器中选择一个源服务器,与选择的源服务器建立连接,获取所述流数据。
10.根据权利要求9所述的直播流传输装置,其特征在于,
所述拉取模块,具体用于从所述至少两个源服务器中选择最优的服务器。
11.根据权利要求9所述的直播流传输装置,其特征在于,该装置还包括:
推送决策模块,用于在接收到流数据的推送时,选择至少两个源服务器,其中一个为所有源服务器中对所述直播流传输装置来说最优的源服务器;
数据推送模块,用于为接收到的流数据生成唯一标识,并将所述流数据与所述唯一标识均传输给所述至少两个源服务器。
12.根据权利要求9所述的直播流传输装置,其特征在于,
所述拉取模块,还用于在无法从选择的源服务器中获取所述流数据时,从所述至少两个源服务器中选择其他服务器重新建立连接并获取所述流数据。
13.一种直播流传输装置,适用于CDN,其特征在于,该装置包括:
流记录管理模块,用于记录流数据关联的至少两个源服务器;
流数据管理模块,用于在接收所述CDN中服务器获取流数据关联的源服务器的请求时,将所述流数据关联的至少两个源服务器告知所述CDN中的服务器。
14.根据权利要求13所述的直播流传输装置,其特征在于,所述流记录模块包括:
通知接收单元,用于接收源服务器的通知消息,在所述通知消息中携带源服务器接收的流数据的唯一标识;
记录单元,用于查找本地存储的流数据记录,在存在与所述通知消息中携带唯一标识匹配的记录时,将所述源服务器关联至所述流数据。
15.根据权利要求13所述的直播流传输装置,其特征在于,
所述记录单元,还用于查找本地存储的流数据记录,在不存在与所述通知消息中携带唯一标识匹配的流数据时,建立新的记录,在该记录中存储所述流数据、该流数据的唯一标识与所述源服务器之间的关联关系。
16.一种直播流传输系统,适用于CDN,该CDN中包含至少两个源服务器,其特征在于,该系统包括CDN中的服务器和调度中心服务器;
所述调度中心服务器,用于记录流数据关联的至少两个源服务器,在接收所述CDN中服务器获取流数据关联的源服务器的请求时,将所述流数据关联的至少两个源服务器告知所述CDN中的服务器;
所述CDN中的服务器,用于在接收到获取流数据的请求时,自所述调度中心服务器获取所述流数据关联的至少两个源服务器,从所述两个源服务器中选择一个源服务器,与选择的源服务器建立连接,获取所述流数据。
17.根据权利要求16所述的直播流传输系统,其特征在于,
所述CDN中的服务器,还用于在接收到流数据的推送时,选择至少两个源服务器,其中一个为所有源服务器中对所述服务器来说最优的源服务器,为接收到的流数据生成唯一标识,并将所述流数据与所述唯一标识均传输给所述至少两个源服务器;
所述调度中心服务器,还用于接收源服务器的通知消息,在所述通知消息中携带源服务器接收的流数据的唯一标识,查找本地存储的流数据记录,在存在与所述通知消息中携带唯一标识匹配的记录时,将所述源服务器关联至所述流数据。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710138374.3A CN107707926A (zh) | 2017-03-09 | 2017-03-09 | 一种直播流传输方法、装置和系统 |
PCT/CN2018/078389 WO2018161933A1 (zh) | 2017-03-09 | 2018-03-08 | 一种直播流传输方法、装置和系统及其计算机可读存储介质和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710138374.3A CN107707926A (zh) | 2017-03-09 | 2017-03-09 | 一种直播流传输方法、装置和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107707926A true CN107707926A (zh) | 2018-02-16 |
Family
ID=61169544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710138374.3A Pending CN107707926A (zh) | 2017-03-09 | 2017-03-09 | 一种直播流传输方法、装置和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107707926A (zh) |
WO (1) | WO2018161933A1 (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018161933A1 (zh) * | 2017-03-09 | 2018-09-13 | 贵州白山云科技有限公司 | 一种直播流传输方法、装置和系统及其计算机可读存储介质和计算机设备 |
CN110324377A (zh) * | 2018-03-30 | 2019-10-11 | 武汉斗鱼网络科技有限公司 | 一种推送交互方法、装置、电子设备及介质 |
CN110324406A (zh) * | 2019-06-03 | 2019-10-11 | 网宿科技股份有限公司 | 一种获取业务数据的方法和云服务系统 |
EP3591941A4 (en) * | 2018-05-10 | 2020-01-08 | Wangsu Science & Technology Co., Ltd. | LIVE VIDEOSTREAM LEADING PROCESS, CCL SERVER AND SYSTEM |
CN111245852A (zh) * | 2020-01-16 | 2020-06-05 | 腾讯云计算(北京)有限责任公司 | 流数据传输方法、装置、系统、接入设备及存储介质 |
WO2020124726A1 (zh) * | 2018-12-21 | 2020-06-25 | 网宿科技股份有限公司 | 音视频流分发系统中的音视频流分发方法及动态父节点 |
CN111464759A (zh) * | 2020-03-26 | 2020-07-28 | 广州虎牙科技有限公司 | 一种直播导播方法、装置、存储介质及设备 |
CN112738202A (zh) * | 2020-12-25 | 2021-04-30 | 广州虎牙科技有限公司 | 一种数据处理方法和相关装置以及存储介质 |
CN112752115A (zh) * | 2020-12-29 | 2021-05-04 | 广州博冠信息科技有限公司 | 直播数据传输方法、装置、设备及介质 |
WO2022057318A1 (zh) * | 2020-09-21 | 2022-03-24 | 北京金山云网络技术有限公司 | 拉流请求处理方法、装置、系统、电子设备和存储介质 |
CN114584561A (zh) * | 2022-03-15 | 2022-06-03 | 联想(北京)有限公司 | 一种信息处理方法、装置和电子设备 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114363651B (zh) * | 2022-01-04 | 2023-06-06 | 上海哔哩哔哩科技有限公司 | 直播流处理方法及装置 |
CN114466210A (zh) * | 2022-01-27 | 2022-05-10 | 广州方硅信息技术有限公司 | 直播质量检测处理方法及其装置、设备、介质、产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002030088A1 (en) * | 2000-10-04 | 2002-04-11 | Routefree, Inc. | Adaptive predictive delivery of information |
CN101064841A (zh) * | 2006-04-30 | 2007-10-31 | 武汉烽火网络有限责任公司 | 网络电视机顶盒、网络电视系统及其流媒体提供方法 |
CN101179494A (zh) * | 2007-12-03 | 2008-05-14 | 浙江大学 | 面向网络多媒体传输服务的资源分发方法 |
US20100094986A1 (en) * | 2008-10-15 | 2010-04-15 | Patentvc Ltd. | Source-selection based Internet backbone traffic shaping |
CN102752381A (zh) * | 2012-06-28 | 2012-10-24 | 北京邮电大学 | 一种应用于分布式存储的多活动副本机制及其存取方法 |
CN103561049A (zh) * | 2013-09-05 | 2014-02-05 | 乐视网信息技术(北京)股份有限公司 | 一种处理终端调度请求的方法、系统及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104967873A (zh) * | 2015-06-29 | 2015-10-07 | 上海帝联信息科技股份有限公司 | 流媒体直播调度方法、系统和调度服务器 |
CN105872572A (zh) * | 2015-12-14 | 2016-08-17 | 乐视云计算有限公司 | 直播视频的处理方法及装置 |
CN106375471B (zh) * | 2016-09-29 | 2019-12-13 | 北京奇艺世纪科技有限公司 | 一种边缘节点确定方法及装置 |
CN106453328A (zh) * | 2016-10-18 | 2017-02-22 | 乐视控股(北京)有限公司 | 直播视频文件的推流方法、客户端及边缘流媒体服务器 |
CN107707926A (zh) * | 2017-03-09 | 2018-02-16 | 贵州白山云科技有限公司 | 一种直播流传输方法、装置和系统 |
-
2017
- 2017-03-09 CN CN201710138374.3A patent/CN107707926A/zh active Pending
-
2018
- 2018-03-08 WO PCT/CN2018/078389 patent/WO2018161933A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002030088A1 (en) * | 2000-10-04 | 2002-04-11 | Routefree, Inc. | Adaptive predictive delivery of information |
CN101064841A (zh) * | 2006-04-30 | 2007-10-31 | 武汉烽火网络有限责任公司 | 网络电视机顶盒、网络电视系统及其流媒体提供方法 |
CN101179494A (zh) * | 2007-12-03 | 2008-05-14 | 浙江大学 | 面向网络多媒体传输服务的资源分发方法 |
US20100094986A1 (en) * | 2008-10-15 | 2010-04-15 | Patentvc Ltd. | Source-selection based Internet backbone traffic shaping |
CN102752381A (zh) * | 2012-06-28 | 2012-10-24 | 北京邮电大学 | 一种应用于分布式存储的多活动副本机制及其存取方法 |
CN103561049A (zh) * | 2013-09-05 | 2014-02-05 | 乐视网信息技术(北京)股份有限公司 | 一种处理终端调度请求的方法、系统及装置 |
Non-Patent Citations (1)
Title |
---|
黄孝建等: "《IPTV关键技术详解》", 31 July 2009 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018161933A1 (zh) * | 2017-03-09 | 2018-09-13 | 贵州白山云科技有限公司 | 一种直播流传输方法、装置和系统及其计算机可读存储介质和计算机设备 |
CN110324377A (zh) * | 2018-03-30 | 2019-10-11 | 武汉斗鱼网络科技有限公司 | 一种推送交互方法、装置、电子设备及介质 |
EP3591941A4 (en) * | 2018-05-10 | 2020-01-08 | Wangsu Science & Technology Co., Ltd. | LIVE VIDEOSTREAM LEADING PROCESS, CCL SERVER AND SYSTEM |
US10924773B2 (en) | 2018-05-10 | 2021-02-16 | Wangsu Science & Technology Co., Ltd. | Method for diverting live video stream, CCL server and system |
WO2020124726A1 (zh) * | 2018-12-21 | 2020-06-25 | 网宿科技股份有限公司 | 音视频流分发系统中的音视频流分发方法及动态父节点 |
CN110324406B (zh) * | 2019-06-03 | 2022-07-26 | 网宿科技股份有限公司 | 一种获取业务数据的方法和云服务系统 |
CN110324406A (zh) * | 2019-06-03 | 2019-10-11 | 网宿科技股份有限公司 | 一种获取业务数据的方法和云服务系统 |
CN111245852A (zh) * | 2020-01-16 | 2020-06-05 | 腾讯云计算(北京)有限责任公司 | 流数据传输方法、装置、系统、接入设备及存储介质 |
CN111245852B (zh) * | 2020-01-16 | 2022-11-29 | 腾讯云计算(北京)有限责任公司 | 流数据传输方法、装置、系统、接入设备及存储介质 |
CN111464759A (zh) * | 2020-03-26 | 2020-07-28 | 广州虎牙科技有限公司 | 一种直播导播方法、装置、存储介质及设备 |
CN111464759B (zh) * | 2020-03-26 | 2022-03-18 | 广州虎牙科技有限公司 | 一种直播导播方法、装置、存储介质及设备 |
WO2022057318A1 (zh) * | 2020-09-21 | 2022-03-24 | 北京金山云网络技术有限公司 | 拉流请求处理方法、装置、系统、电子设备和存储介质 |
CN112738202A (zh) * | 2020-12-25 | 2021-04-30 | 广州虎牙科技有限公司 | 一种数据处理方法和相关装置以及存储介质 |
CN112752115A (zh) * | 2020-12-29 | 2021-05-04 | 广州博冠信息科技有限公司 | 直播数据传输方法、装置、设备及介质 |
CN112752115B (zh) * | 2020-12-29 | 2023-09-08 | 广州博冠信息科技有限公司 | 直播数据传输方法、装置、设备及介质 |
CN114584561A (zh) * | 2022-03-15 | 2022-06-03 | 联想(北京)有限公司 | 一种信息处理方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2018161933A1 (zh) | 2018-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107707926A (zh) | 一种直播流传输方法、装置和系统 | |
EP3595268B1 (en) | Streaming media resource distribution method, system, edge node and central dispatching system | |
CN102404378B (zh) | 一种流媒体分发传输网络系统 | |
US7228349B2 (en) | System and method for interacting with users over a communications network | |
CN103078847B (zh) | 一种多码率流文件的存储和读取方法及相关装置 | |
US20020100059A1 (en) | Systems and methods for establishing and administering sessions in digital cable systems | |
CN101510899B (zh) | 一种实现内容源选择的方法、系统和设备 | |
CN105847264A (zh) | 一种提供流媒体服务的方法和系统 | |
CN107888666A (zh) | 一种跨地域数据存储系统以及数据同步方法和装置 | |
CN108574666B (zh) | 一种数据流调度方法、装置和系统 | |
US20120297075A1 (en) | Device interconnection and service discovery via a communication cloud | |
SE521181C2 (sv) | Förfarande och system för policystyrd distribution av strömmande media i ett IP-nät | |
CN101540886A (zh) | 一种视频点播业务的实现方法、系统及归属流媒体服务器 | |
CN108810179A (zh) | 资源请求方法及装置 | |
US8274942B2 (en) | Supplementary service provision method and system for IMS-based network | |
CN101262413B (zh) | 实现媒体缓存的方法、系统和装置 | |
CN107959704A (zh) | 一种数据处理方法及家庭网关 | |
CN107396135A (zh) | 一种电视媒体活动直播系统及直播方法 | |
CN110493245A (zh) | 一种基于分布式并行系统的流媒体数据分发系统 | |
CN106210751B (zh) | 网络视频直播数据分层传输的方法及系统 | |
KR20060123559A (ko) | 콘텐트 분배를 위한 시스템, 수신기, 방법 및 프로그램 | |
CN106210779B (zh) | 优化网络视频直播数据分层传输的方法及系统 | |
CN103731506B (zh) | 一种内容注入方法、第一业务服务节点和内容分发网络 | |
CN108270845A (zh) | 一种基于rtsp的p2p点播系统及方法 | |
CN113934916A (zh) | Cdn业务的实现方法、终端设备、节点服务器及存储介质 |
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: 20180216 |