一种拉流控制的方法、装置及系统的制作方法

文档序号:10515453阅读:198来源:国知局
一种拉流控制的方法、装置及系统的制作方法
【专利摘要】本发明提供一种拉流控制的方法、装置及系统,涉及电通信技术领域,为解决观看方无法观看推送到第三方服务器的直播视频的问题而发明。本发明的方法包括:接收内容分发网络CDN服务器转发的用户请求,用户请求用于请求观看直播视频;检测直播视频在源服务器侧的流状态是否为正在直播,流状态为用户请求的直播视频的流状态;若源服务器侧的流状态不为正在直播,则指示源服务器向第三方服务器拉取直播视频的视频流;接收源服务器返回的流状态,源服务器返回的流状态为正在直播;将视频流的回源路径发送给CDN服务器,以使得CDN服务器将回源路径发送给客户端。本发明主要应用于流媒体文件的播放过程中。
【专利说明】
一种拉流控制的方法、装置及系统
技术领域
[0001]本发明实施例涉及电通信技术领域,尤其涉及一种拉流控制的方法、装置及系统。
【背景技术】
[0002]随着互联网技术的飞速发展,越来越多的信息如影视、音乐等逐渐以网络作为传播的媒介。流媒体指以流方式在网络中传送音频、视频和多媒体文件的媒体形式。相对于下载后观看的网络播放形式而言,流媒体的典型特征是把连续的音频和视频信息压缩后放到网络服务器上,用户边下载边观看,而不必等待整个文件下载完毕。由于流媒体服务器流媒体技术的优越性,该技术广泛应用于视频点播、视频会议、远程教育、远程医疗和在线直播系统中。
[0003]直播视频文件的提供方,通过推流技术将流媒体文件推送到源服务器。在观看直播视频文件时,观看方发出观看请求,通过拉流技术将直播视频文件流拉到观看方的客户端。
[0004]拉流技术是指从源服务器端,将直播视频文件提供方推送的直播视频文件流,拉取到观看方的客户端。在拉流过程中,可能会经过多个服务器。在现有技术中,若观看方请求观看的直播视频流不在源服务器中,即使在其他第三方服务器中,观看方无法观看该直播视频。

【发明内容】

[0005]本发明提供一种拉流控制的方法、装置及系统,能够解决观看方无法观看推送到第三方服务器的直播视频的问题。
[0006]为了解决上述技术问题,一方面,本发明提供一种拉流控制的方法,该方法包括:
[0007]接收内容分发网络CDN服务器转发的用户请求,所述用户请求用于请求观看直播视频;
[0008]检测所述直播视频在源服务器侧的流状态是否为正在直播,所述流状态为所述用户请求的直播视频的流状态;
[0009]若源服务器侧的流状态不为正在直播,则指示所述源服务器向第三方服务器拉取所述直播视频的视频流;
[0010]接收所述源服务器返回的流状态,所述源服务器返回的流状态为正在直播;
[0011 ]将所述视频流的回源路径发送给所述CDN服务器,以使得所述CDN服务器将所述回源路径发送给客户端。
[0012]另一方面,本发明提供了一种拉流控制的装置,该装置包括:
[0013]第一接收单元,用于接收内容分发网络CDN服务器转发的用户请求,所述用户请求用于请求观看直播视频;
[0014]检测单元,用于检测所述第一接收单元接收到的用户请求的直播视频在源服务器侧的流状态是否为正在直播,所述流状态为所述用户请求的直播视频的流状态;
[0015]指示单元,用于若所述检测单元检测到的源服务器侧的流状态不为正在直播,则指示所述源服务器向第三方服务器拉取所述直播视频的视频流;
[0016]第二接收单元,用于接收所述源服务器返回的流状态,所述源服务器返回的流状态为正在直播;
[0017]发送单元,用于若所述所述第二接收单元接收的流状态为正在直播,则将视频流的回源路径发送给所述CDN服务器,以使得所述CDN服务器将所述回源路径发送给客户端。
[0018]再一方面,本发明提供了一种拉流控制的系统,该系统包括:客户端、内容分发网络CDN服务器、控制中心和源服务器;
[0019]所述客户端,用于发送用户请求;
[0020]所述CDN服务器,用于转发用户请求,接收回源路径,并将回源路径发送给客户端;
[0021]所述控制中心,用于检测源服务器侧的流状态是否为正在直播,若不为正在直播,则指示所述源服务器向第三方服务器拉取所述用户请求的直播视频的视频流,接收所述源服务器返回的流状态,将所述视频流的回源路径发送给所述CDN服务器;
[0022]所述源服务器,用于向第三方服务器拉取所述直播视频的视频流,将所述直播视频的流状态发送给控制中心。
[0023]本发明提供的一种拉流控制的方法、装置及系统,能够通过接收CDN服务器转发的用户请求,检查请求观看的直播视频在源服务器侧的流状态是否为正在直播,若源服务器侧的流状态不为正在直播,则指示源服务器向第三方服务器拉取直播视频的视频流。若源服务器成功从第三方拉取直播视频的视频流,接收源服务器返回的流状态,将直播视频流的回源路径发送给CDN服务器,以使得CDN服务器将回源路径发送给客户端。与现有技术相比,本发明能够在接收到CDN服务器转发的用户请求时,才会去拉流,没有接收到用户请求,则不拉流,避免无效拉流浪费服务器资源。本发明能够指示源服务器向第三方服务器拉取直播视频流,将第三方服务器的直播视频流拉取到源服务器中,观看方可以观看推送到第三方服务器的直播视频。
【附图说明】
[0024]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0025]图1示出了本发明实施例提供了一种拉流控制的方法流程图;
[0026]图2示出了本发明实施例提供了另一种拉流控制的方法流程图;
[0027]图3示出了本发明实施例提供了一种拉流控制的装置组成框图;
[0028]图4示出了本发明实施例提供了另一种拉流控制的装置组成图;
[0029]图5示出了本发明实施例提供了一种拉流控制的系统框图;
[0030]图6示出了本发明实施例提供了一种拉流控制的装置结构示意图。
【具体实施方式】
[0031]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0032]为了解决观看方无法观看推送到第三方服务器的直播视频的问题,本发明实施例提供了一种拉流控制的方法,如图1所示,该方法包括:
[0033]101、接收内容分发网络CDN服务器转发的用户请求,用户请求用于请求观看直播视频。
[0034]Q)N(Content Delivery Network,内容分发网络),是构建在数据网络上的一种分布式的内容分发网。CDN的作用是采用流媒体服务器集群技术,克服单机系统输出带宽及并发能力不足的缺点,可极大提升系统支持的并发流数目,减少或避免单点失效带来的不良影响。
[0035]CDN利用全局负载均衡技术将用户的访问指向离用户最近的工作正常的流媒体服务器上,由流媒体服务器直接响应用户的请求。服务器中如果没有用户要访问的内容,会根据配置自动从源服务器抓取相应的内容并提供给用户。
[0036]用户请求,是客户端发出的,包括请求观看直播视频的信息。客户端发出用户请求,离用户最近的工作正常的CDN服务器,接收用户请求并转发给控制中心。
[0037]102、检测直播视频在源服务器侧的流状态是否为正在直播,流状态为用户请求的直播视频的流状态。
[0038]流媒体是边传边播的媒体形式。流状态,是指用户请求的直播视频的流状态。检测直播视频在源服务器侧的流状态是否为正在直播,即检测用户请求的直播视频的流状态是否正在直播。若正在直播,则可以以流媒体的媒体形式播放。
[0039]源服务器,提供流媒体文件。流媒体的提供方将流媒体文件推流到源服务器且推流未完成,源服务器侧中对应的流媒体文件为正在直播。检测流状态,是在源服务器侧。
[0040]103、若源服务器侧的流状态不为正在直播,则指示源服务器向第三方服务器拉取直播视频的视频流。
[0041]若源服务器侧的流状态不为正在直播,则发出源服务器向第三方服务器拉取直播视频的视频流的指示。源服务器接收到拉流指示时,在第三方服务器中查找用户请求的视频流,若查找到用户请求的视频流,则将视频流拉取到源服务器中。
[0042]104、接收源服务器返回的流状态,源服务器返回的流状态为正在直播。
[0043]若源服务器拉取到用户请求的视频流,则该视频流的流状态为正在直播,源服务器将该视频流的流状态发送给控制中心。若源服务器未拉取到用户请求的视频流,则该视频的流状态为发生改变,源服务器不重新发送该视频流的流状态。控制中心接收源服务器返回的流状态。源服务器中的流状态为正在直播,说明源服务器中存在该视频的视频流。
[0044]105、将视频流的回源路径发送给⑶N服务器,以使得⑶N服务器将回源路径发送给客户端。
[0045]若视频流的流状态为正在直播,则将视频流的回源路径发送给⑶N服务器,CDN月艮务器将回源路径发送给客户端,这样客户端才能实现直播视频的边传边播。
[0046]本发明实施例提供的一种拉流控制的方法,能够通过接收CDN服务器转发的用户请求,检查请求观看的直播视频在源服务器册的流状态是否为正在直播,若源服务器侧的流状态不为正在直播,则指示源服务器向第三方服务器拉取直播视频的视频流。若源服务器成功从第三方拉取直播视频的视频流,接收源服务器返回的流状态,将直播视频流的回源路径发送给⑶N服务器,以使得⑶N服务器将回源路径发送给客户端。与现有技术相比,本发明实施例能够在接收到CDN服务器转发的用户请求时,才会去拉流,没有接收到用户请求,则不拉流,避免无效拉流浪费服务器资源。本发明能够指示原服务器向第三方服务器拉取直播视频流,将第三方服务器的直播视频流拉取到源服务器中,观看方可以观看推送到第三方服务器的直播视频。
[0047]进一步地,作为图1的细化和扩展,本发明实施例提供了另一种拉流控制的方法,如图2所示,该方法包括:
[0048]201、接收内容分发网络CDN服务器转发的用户请求,用户请求用于请求观看直播视频。
[0049 ]接收的用户请求,包括请求发出的时间信息、用户信息、直播视频信息和对直播视频的播放请求。接收的用户请求是由CDN服务器转发的。CDN服务器不为客户端提供直播视频的视频流。
[0050]202、对发出用户请求的客户端进行鉴权,以鉴别客户端是否具有播放直播视频的权限。
[0051]用户请求中包含用户账号信息,不同的账号拥有不同的权限。权限不同,可以观看的视频资源也不相同。对发出用户请求的客户端进行鉴权,即鉴别客户端是否具有播放视频的权限。若客户端不具备观看客户端发出用户请求视频的权限,则给客户端返回一个无观看权限的信息。若客户端具备观看客户端发出用户请求视频的权限,再进行下一步检测。
[0052]203、检测直播视频在源服务器侧的流状态是否为正在直播,流状态为用户请求的直播视频的流状态。
[0053]源服务器中,存放流媒体提供方推流的视频,并将流媒体提供方提供的视频流正在直播的信息,发送给控制中心。若在控制中心中检测直播视频的流状态,即为直播视频在源服务器侧的流状态。
[0054]204a、若源服务器侧的流状态为正在直播,则从源服务器中直接拉取直播视频的视频流。
[0055]若检测源服务器侧的流状态为正在直播,源服务器中存放直播视频的视频流,则从源服务器中直接拉取直播视频的视频流,即可完成对视频流的拉流。
[0056]204b、若源服务器侧的流状态不为正在直播,则指示源服务器向第三方服务器拉取直播视频的视频流。
[0057]用户请求的直播视频是有流地址的,源服务器通过流地址,直接从第三方服务器拉取直播视频的视频流。
[0058]指示源服务器向第三方服务器拉取直播视频的视频流,需要限制源服务器向第三方服务器拉取视频流的频率。让源服务器的拉流操作有固定的时间间隔,这样的设置,一方面通过一次拉流满足用户请求时间相近的相同直播视频的请求,节省服务器资源;另一方面若用户请求过于频繁,是一种对服务器的恶意攻击,通过限制拉流频率,减少拉流次数,可以防止通过频繁用户请求对服务器的恶意攻击。
[0059 ] 205b、接收源服务器返回的流状态,源服务器返回的流状态为正在直播。
[0060]在源服务器拉取直播视频流后,更改该直播视频的流状态。接收该直播视频的流状态,该直播视频的流状态由源服务器返回。
[0061]206b、将视频流的回源路径发送给⑶N服务器,以使得⑶N服务器将回源路径发送给客户端。
[0062]若视频流的流状态为正在直播,则将视频流的回源路径发送给⑶N服务器,CDN月艮务器将回源路径发送给客户端,这样客户端才能实现直播视频的边传边播。
[0063]进一步地,作为图1和图2所示方法的实现,本发明另一实施例还提供了一种拉流控制的装置。本装置实施例与前述方法实施例对应,能够实现前述方法实施例中的全部内容。为便于阅读,本装置实施例仅对前述方法实施例中的内容进行概要性描述,不对方法实施例中的细节内容进行逐一赘述。如图3所示,该装置包括:第一接收单元31、检测单元32、指示单元33、第二接收单元34以及发送单元35。其中,
[0064]第一接收单元31,用于接收内容分发网络CDN服务器转发的用户请求,用户请求用于请求观看直播视频;
[0065]检测单元32,用于检测第一接收单元31接收到的用户请求的直播视频在源服务器侧的流状态是否为正在直播,流状态为用户请求的直播视频的流状态;
[0066]指示单元33,用于若检测单元32检测到的源服务器侧的流状态不为正在直播,则指示源服务器向第三方服务器拉取直播视频的视频流;
[0067]第二接收单元34,用于接收源服务器返回的流状态,源服务器返回的流状态为正在直播;
[0068]发送单元35,用于若第二接收单元34接收的流状态为正在直播,则将视频流的回源路径发送给CDN服务器,以使得CDN服务器将回源路径发送给客户端。
[0069]进一步地,如图4所示,该装置进一步包括:
[ΟΟΤ?]鉴权单元36,用于对发出第一接收单元31接收到的用户请求的客户端进行鉴权,以鉴别客户端是否具有播放直播视频的权限。
[0071]进一步地,如图4所示,该装置进一步包括:
[0072]拉取单元37,用于在检测单元32检测源服务器侧的流状态是否为正在直播之后,若源服务器侧的流状态为正在直播,则从源服务器中直接拉取直播视频的视频流。
[0073]进一步地,指示单元33,包括:
[0074]限制模块331,用于限制源服务器向第三方服务器拉取视频流的频率。
[0075]进一步地,作为图1和图2所示方法的实现,本发明实施例还提供了一种拉流控制的系统。本系统实施例与前述方法实施例对应,能够实现前述方法实施例中的全部内容。为便于阅读,本系统实施例仅对前述方法实施例中的内容进行概要性描述,不对方法实施例中的细节内容进行逐一赘述。如图5所示,该系统包括:客户端51、内容分发网络CDN服务器52、控制中心53和源服务器54 ο具体的:
[0076]客户端51,用于发送用户请求;
[0077]⑶N服务器52,用于转发客户端51发送的用户请求,接收回源路径,并将回源路径发送给客户端;
[0078]控制中心53,用于检测⑶N服务器52发送的用户请求的直播视频在源服务器侧的流状态是否为正在直播,若不为正在直播,则指示源服务器向第三方服务器拉取用户请求的直播视频的视频流,接收源服务器返回的流状态,将视频流的回源路径发送给CDN服务器52;
[0079]源服务器54,用于向第三方服务器拉取直播视频的视频流,将直播视频的流状态发送给控制中心53。
[0080]本发明实施例提供的一种拉流控制的装置及系统,能够通过接收CDN服务器转发的用户请求,检查请求观看的直播视频在源服务器册的流状态是否为正在直播,若源服务器侧的流状态不为正在直播,则指示源服务器向第三方服务器拉取直播视频的视频流。若源服务器成功从第三方拉取直播视频的视频流,接收源服务器返回的流状态,将直播视频流的回源路径发送给CDN服务器,以使得CDN服务器将回源路径发送给客户端。与现有技术相比,本发明实施例能够在接收到CDN服务器转发的用户请求时,才会去拉流,没有接收到用户请求,则不拉流,避免无效拉流浪费服务器资源。本发明能够指示原服务器向第三方服务器拉取直播视频流,将第三方服务器的直播视频流拉取到源服务器中,观看方可以观看推送到第三方服务器的直播视频。
[0081]需要说明的是,针对上述拉流控制的装置,凡是本发明实施例中使用到的各个单元模块的功能都可以通过硬件处理器(hardware processor)来实现。
[0082]示例性的,如图6所示,图6示出了本发明实施例提供的一种拉流控制的装置结构示意图,该拉流控制的装置可以包括:处理器(processor)61、通信接口(Communicat1nsInterface) 62、存储器(memory) 63和总线64,其中,处理器61、通信接口 62、存储器63通过总线64完成相互间的通信。通信接口 62可以用于服务器与客户端之间的信息传输。处理器61可以调用存储器63中的逻辑指令,以执行如下方法:接收内容分发网络CDN服务器转发的用户请求,所述用户请求用于请求观看直播视频;检测所述直播视频在源服务器侧的流状态是否为正在直播,所述流状态为所述用户请求的直播视频的流状态;若源服务器侧的流状态不为正在直播,则指示所述源服务器向第三方服务器拉取所述直播视频的视频流;接收所述源服务器返回的流状态,所述源服务器返回的流状态为正在直播;将所述视频流的回源路径发送给所述CDN服务器,以使得所述CDN服务器将所述回源路径发送给客户端。
[0083]此外,上述的存储器63中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(R0M,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0084]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0085]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0086]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种拉流控制的方法,其特征在于,所述方法包括: 接收内容分发网络CDN服务器转发的用户请求,所述用户请求用于请求观看直播视频; 检测所述直播视频在源服务器侧的流状态是否为正在直播,所述流状态为所述用户请求的直播视频的流状态; 若源服务器侧的流状态不为正在直播,则指示所述源服务器向第三方服务器拉取所述直播视频的视频流; 接收所述源服务器返回的流状态,所述源服务器返回的流状态为正在直播; 将所述视频流的回源路径发送给所述CDN服务器,以使得所述CDN服务器将所述回源路径发送给客户端。2.根据权利要求1所述的方法,其特征在于,所述方法进一步包括: 对发出所述用户请求的客户端进行鉴权,以鉴别所述客户端是否具有播放所述直播视频的权限。3.根据权利要求1所述的方法,其特征在于,在所述检测源服务器侧的流状态是否为正在直播之后,所述方法进一步包括: 若源服务器侧的流状态为正在直播,则从源服务器中直接拉取所述直播视频的视频流。4.根据权利要求1所述的方法,其特征在于,所述指示所述源服务器向第三方服务器拉取所述直播视频的视频流,包括: 限制所述源服务器向所述第三方服务器拉取所述视频流的频率。5.一种拉流控制的装置,其特征在于,所述装置包括: 第一接收单元,用于接收内容分发网络CDN服务器转发的用户请求,所述用户请求用于请求观看直播视频; 检测单元,用于检测所述第一接收单元接收到的用户请求的直播视频在源服务器侧的流状态是否为正在直播,所述流状态为所述用户请求的直播视频的流状态; 指示单元,用于若所述检测单元检测到的源服务器侧的流状态不为正在直播,则指示所述源服务器向第三方服务器拉取所述直播视频的视频流; 第二接收单元,用于接收所述源服务器返回的流状态,所述源服务器返回的流状态为正在直播; 发送单元,用于若所述所述第二接收单元接收的流状态为正在直播,则将视频流的回源路径发送给所述CDN服务器,以使得所述CDN服务器将所述回源路径发送给客户端。6.根据权利要求5所述的装置,其特征在于,所述装置进一步包括: 鉴权单元,用于对发出所述第一接收单元接收到的用户请求的客户端进行鉴权,以鉴别所述客户端是否具有播放所述直播视频的权限。7.根据权利要求5所述的装置,其特征在于,所述装置进一步包括: 拉取单元,用于在所述检测单元检测源服务器侧的流状态是否为正在直播之后,若源服务器侧的流状态为正在直播,则从源服务器中直接拉取所述直播视频的视频流。8.根据权利要求5所述的装置,其特征在于,所述指示单元,包括: 限制模块,用于限制所述源服务器向所述第三方服务器拉取所述视频流的频率。9.一种拉流控制的系统,其特征在于,所述系统包括:客户端、内容分发网络CDN服务器、控制中心和源服务器; 所述客户端,用于发送用户请求; 所述⑶N服务器,用于转发客户端发送的用户请求,接收回源路径,并将回源路径发送给客户端; 所述控制中心,用于检测源服务器侧的流状态是否为正在直播,若不为正在直播,则指示所述源服务器向第三方服务器拉取所述用户请求的直播视频的视频流,接收所述源服务器返回的流状态,将所述视频流的回源路径发送给所述CDN服务器; 所述源服务器,用于向第三方服务器拉取所述直播视频的视频流,将所述直播视频的流状态发送给控制中心。
【文档编号】H04L29/06GK105871800SQ201510889329
【公开日】2016年8月17日
【申请日】2015年12月7日
【发明人】刘凤玉, 魏立志, 韩峰, 林正宇
【申请人】乐视云计算有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1