一种推流系统及方法与流程

文档序号:19951455发布日期:2020-02-18 10:36阅读:363来源:国知局
一种推流系统及方法与流程

本申请涉及计算机领域,尤其是视频直播领域,具体涉及推流系统及方法。



背景技术:

实时消息传输协议包括rtmp基本协议及rtmpt/rtmps/rtmpe等多种变种。rtmp是一种设计用来进行实时数据通信的网络协议,主要用来在flash/air平台和支持rtmp协议的流媒体/交互服务器之间进行音视频和数据通信。rtmp是目前主流的流媒体传输协议,广泛用于直播领域,可以说市面上绝大多数的直播产品都采用了这个协议。

现有直播场景中,有娱乐类的直播,游戏类的直播,有教育类的直播,有监控类的直播,还有即时通讯类的群直播等场景,现有直播架构中都是推流至直播中心,导致直播中心负载压力非常大。



技术实现要素:

本申请还提供一种推流系统及方法,旨在解决现有直播技术中由于都推流至直播中心而导致直播中心负载压力过大的技术问题。

本申请提供的推流系统,边缘单元、区域单元、区域直播单元、中心单元、中心路由管理单元;

所述边缘单元,用于获得所述中心路由管理单元提供的所述边缘单元对应的区域单元的信息,根据所述边缘单元对应的区域单元的信息,将推流数据发送给所述边缘单元对应的区域单元;

所述区域单元,用于获得所述边缘单元发送的所述推流数据,并获得所述推流数据的目的信息,根据所述目的信息将所述推流数据发送给所述区域直播单元或所述中心单元;

所述区域直播单元,用于存储所述区域直播单元对应区域的推流数据;

所述中心单元,用于存储所接收到的推流数据;

所述中心路由管理单元,用于向所述边缘单元提供所述边缘单元对应的区域单元的信息。

可选的,所述边缘单元还用于向所述中心路由管理单元请求提供所述边缘单元对应的所述目的信息。

可选的,所述边缘单元获得客户端发出的推流请求,所述推流请求中携带有所述推流数据。

可选的,所述边缘单元还用于向所述中心路由管理单元请求鉴权所述推流请求,获得所述中心路由管理单元针对所述推流请求的鉴权结果,如果鉴权通过,则将所述推流数据发送给所述边缘单元对应的区域单元;

如果鉴权不通过,则向所述客户端返回不允许进行推流的消息。

可选的,所述区域直播单元或所述中心单元还用于将用于描述所述推流数据的描述信息和/或所述推流数据的路由信息发送给所述中心路由管理单元。

可选的,还包括区域路由管理单元,用于存储所述区域路由管理单元对应区域的用于描述推流数据的描述信息和/或推流数据的路由信息;

所述区域直播单元还用于将用于描述所述推流数据的描述信息和/或所述推流数据的路由信息发送给所述区域路由管理单元。

可选的,所述中心路由管理单元具体用于分析所述推流请求的特征,根据推流请求的特征与所述区域直播单元或所述中心单元的对应关系,确定与所述推流请求的特征对应的目的信息为所述区域直播单元的信息或所述中心单元的信息,向所述边缘单元提供所述目的信息。

本申请还提供一种推流方法,包括:

边缘单元获得客户端发出的推流请求,所述推流请求中携带有推流数据;

向中心路由管理单元请求提供所述边缘单元对应的区域单元的信息和所述推流数据的目的信息,所述目的信息为区域直播单元的信息或中心单元的信息,其中,所述中心路由管理单元存储有多个区域的推流数据的路由信息,所述区域直播单元存储有所述区域直播单元对应区域的推流数据,所述中心单元存储有所接收到的推流数据;

获得所述中心路由管理单元提供的所述边缘单元对应的区域单元的信息和所述推流数据的目的信息;

根据所述边缘单元对应的区域单元的信息,将所述推流数据和所述目的信息发送给所述边缘单元对应的区域单元。

可选的,还包括:

向所述中心路由管理单元请求鉴权所述推流请求;

获得所述中心路由管理单元针对所述推流请求的鉴权结果;

如果鉴权通过,则将所述推流数据发送给所述边缘单元对应的区域单元。

可选的,还包括:如果鉴权不通过,则向所述客户端返回不允许进行推流的消息。

在本申请的技术方案中,边缘单元获得所述中心路由管理单元提供的所述边缘单元对应的区域单元的信息,并根据所述边缘单元对应的区域单元的信息,将推流数据发送给所述边缘单元对应的区域单元。区域单元获得所述边缘单元发送的所述推流数据,并获得所述推流数据的目的信息,根据所述目的信息将所述推流数据发送给所述区域直播单元或所述中心单元。区域直播单元,用于存储所述区域直播单元对应区域的推流数据。中心单元,用于存储所接收到的推流数据。中心路由管理单元,用于向所述边缘单元提供所述边缘单元对应的区域单元的信息。通过以上各单元之间的密切配合,从而将推流数据发送给所述区域直播单元或所述中心单元。与现有技术都将推流数据发送至中心单元相比,减少了中心单元的处理压力。

附图说明

图1是本申请提供的一种推流系统的实施例的示意图;

图2是本申请提供的一种推流方法的实施例的处理流程图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。

本申请提供一种推流系统,图1是本申请提供的推流系统的实施例的示意图。下面结合图1所示的示意图,来阐述本申请提供的推流系统的技术方案。

图1示出的实施例中,推流系统包括:边缘单元0101、区域单元0102、区域直播单元0103、中心单元0104、中心路由管理单元0105。下面对以上各单元及各单元之间的相互关系进行详细介绍。

所述边缘单元0101可以用于获得客户端发出的推流请求,所述推流请求中携带有所述推流数据。所述边缘单元0101指用来接收用户端上传的推流数据的设备,例如服务器等。所述推流指的是将音像等文件传输到其他设备。所述推流数据指的是用户录制的音像等文件。所述推流请求指的是向其他设备发送的请求其接收音像等文件的请求。例如,用户通过手机等客户端录制音像场景时,需要实时将录制文件传送至负责处理音像文件的各级服务器。这时就需要向服务器请求其接收。

所述边缘单元0101可以用于向所述中心路由管理单元请求提供所述边缘单元对应的区域单元的信息和目的信息。所述区域单元及中心路由管理单元可以是实现各自相应功能的服务器等设备。相应地,所述中心路由管理单元0105可以用于向所述边缘单元提供所述边缘单元对应的区域单元的信息。所述边缘单元0101,也可以用于获得所述中心路由管理单元0105提供的所述边缘单元对应的区域单元的信息,根据所述边缘单元对应的区域单元的信息,将推流数据发送给所述边缘单元对应的区域单元。所述中心路由管理单元105可以是服务器等设备。

例如,所述边缘单元0101获得所述中心路由管理单元0105提供的所述边缘单元对应的区域单元的地址信息后,所述边缘单元0101便可以根据所对应的区域单元的地址信息将推流数据发送给所对应的区域单元。所述区域单元可以是服务器,用来接收与其具有对应关系的边缘单元所推流的数据。所述目的信息为所述区域直播单元的信息或所述中心单元的信息,也就是最终接收、处理推流数据的单元。所述边缘单元0101还用于获得所述中心路由管理单元0105提供的目的信息,将所述目的信息发送给所述区域单元。所述区域直播单元和所述中心单元可以是负责直播处理的服务器等设备。

在本实施例中,所述边缘单元0101还可以用于向所述中心路由管理单元请求鉴权所述推流请求,获得所述中心路由管理单元针对所述推流请求的鉴权结果,如果鉴权通过,则将所述推流数据发送给所述边缘单元对应的区域单元。相应地,所述中心路由管理单元0105还用于获得所述边缘单元发出的针对所述推流请求的鉴权请求,对所述推流请求进行鉴权,如果鉴权通过,则向所述边缘单元提供所述边缘单元对应的区域单元的信息。

所述针对所述推流请求的鉴权结果指的是鉴别进行推流的边缘单元0101是否有推流权限,如果确认有推流权限则鉴权通过,则将所述推流数据发送给所述边缘单元对应的区域单元。如果鉴权不通过,则向所述客户端返回不允许进行推流的消息。

所述区域单元0102,用于获得所述边缘单元发送的所述推流数据,并获得所述推流数据的目的信息,根据所述目的信息将所述推流数据发送给所述区域直播单元或所述中心单元,其中,所述目的信息为所述区域直播单元的信息或所述中心单元的信息。所述区域单元0102可以具体用于获得所述边缘单元提供的所述目的信息。所述区域单元0102也可以具体用于获得所述中心路由管理单元提供的所述目的信息。

如果所述目的信息为所述区域直播单元的信息,所述区域单元0102具体用于将所述推流数据发送给所述区域直播单元0103。所述区域直播单元0103,可以用于存储所述区域直播单元对应区域的推流数据。

如果所述目的信息为所述中心单元的信息,所述区域单元0102具体用于将所述推流数据发送给所述中心单元0104。所述中心单元0104,用于存储所接收到的推流数据。所述中心单元0104对应着多个区域的推流数据,也就是当所述目的信息为所述中心单元的信息,所述中心单元接收所述区域单元0102发送的推流数据。

在本实施例中,所述区域直播单元0103或所述中心单元0104还可以用于将用于描述所述推流数据的描述信息和/或所述推流数据的路由信息发送给所述中心路由管理单元。所述推流系统还可以包括区域路由管理单元0106,用于存储所述区域路由管理单元对应区域的用于描述推流数据的描述信息和/或推流数据的路由信息。所述区域路由管理单元可以是实现相应功能的服务器等设备。

其中,所述用于描述所述推流数据的描述信息(即图1中的相关信息)可以包括流名(即推流数据的标识名称)、推流开始时间等。所述推流数据的路由信息指的是所述推流数据传输过程经过的处理单元或者图1所示的链路信息,例如,从客户端到区域单元再到区域直播单元或中心单元。

在本申请的技术方案中,边缘单元获得所述中心路由管理单元提供的所述边缘单元对应的区域单元的信息,并根据所述边缘单元对应的区域单元的信息,将推流数据发送给所述边缘单元对应的区域单元。区域单元获得所述边缘单元发送的所述推流数据,并获得所述推流数据的目的信息,根据所述目的信息将所述推流数据发送给所述区域直播单元或所述中心单元。区域直播单元,用于存储所述区域直播单元对应区域的推流数据。中心单元,用于存储所接收到的多个区域的推流数据。中心路由管理单元,用于向所述边缘单元提供所述边缘单元对应的区域单元的信息。通过以上各单元之间的密切配合,从而将推流数据发送给所述区域直播单元或所述中心单元。与现有技术都将推流数据发送至中心单元相比,减少了中心单元的处理压力。

本申请还提供一种推流方法,图2是本申请提供的推流方法的实施例的处理流程图。下面结合图2所示的处理流程图,来阐述本申请提供的推流方法的技术方案。

图2示出的实施例中,推流方法包括:

步骤s101,边缘单元获得客户端发出的推流请求,所述推流请求中携带有推流数据。该步骤可参见前文对边缘单元0101及其功能的描述,在此不予赘述。

步骤s102,向中心路由管理单元请求提供所述边缘单元对应的区域单元的信息和所述推流数据的目的信息,所述目的信息为区域直播单元的信息或中心单元的信息,其中,所述中心路由管理单元存储有多个区域的推流数据的路由信息,所述区域直播单元存储有所述区域直播单元对应区域的推流数据,所述中心单元存储有所接收到的推流数据。该步骤可参见前文对对边缘单元0101及其功能的描述、对中心路由管理单元0105及其功能的描述,在此不予赘述。

步骤s103获得所述中心路由管理单元提供的所述边缘单元对应的区域单元的信息和所述推流数据的目的信息。该步骤可参见前文对中心路由管理单元0105及其功能的描述,在此不予赘述。该步骤可参见前文对对边缘单元0101及其功能的描述、对中心路由管理单元0105及其功能的描述,在此不予赘述。

步骤s104,根据所述边缘单元对应的区域单元的信息,将所述推流数据和所述目的信息发送给所述边缘单元对应的区域单元。该步骤可参见前文对对边缘单元101及其功能的描述、对区域单元0102及其功能的描述,在此不予赘述。

在本实施例中,还包括:步骤a),向所述中心路由管理单元请求鉴权所述推流请求。步骤b),获得所述中心路由管理单元针对所述推流请求的鉴权结果。步骤c),如果鉴权通过,则将所述推流数据发送给所述边缘单元对应的区域单元。步骤d),如果鉴权不通过,则向所述客户端返回不允许进行推流的消息。

在该技术方案中,边缘单元获得客户端发出的推流请求,并向中心路由管理单元请求提供所述边缘单元对应的区域单元的信息和所述推流数据的目的信息,然后获得所述中心路由管理单元提供的所述边缘单元对应的区域单元的信息和所述推流数据的目的信息,并根据所述边缘单元对应的区域单元的信息,将所述推流数据和所述目的信息发送给所述边缘单元对应的区域单元,从而确定最终推流至区域直播单元还是中心处理单元,与现有技术都是推流至中心单元相比,该技术方案可以减小中心单元处理推流数据的压力。

本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1