订阅处理的方法、装置及直播系统制造方法及图纸

技术编号:20370329 阅读:33 留言:0更新日期:2019-02-16 20:27
本申请公开了一种订阅处理的方法、装置及直播系统,应用于直播系统的拉流节点中,其中所述方法包括:接收对等网络中与本节点处于连接状态的请求节点发出的订阅请求,其中,所述订阅请求包括所述请求节点的第一上行能力;判断本节点是否有空闲带宽;若本节点没有空闲带宽,则获取已订阅本节点的所有已订阅节点的第二上行能力,并将最小的第二上行能力与所述第一上行能力比较;若最小的第二上行能力小于所述第一上行能力,则释放所述最小的第二上行能力对应的已订阅节点的订阅,接受所述请求节点的订阅,并向所述请求节点发送所述切片子流。本申请实施例可以提高本节点的上行能力,降低本节点的丢包率和节点时延。

Subscription Processing Method, Device and Live Broadcasting System

This application discloses a subscription processing method, device and live broadcasting system, which is applied to the pull-flow node of the live broadcasting system. The method includes: receiving subscription requests from requesting nodes in a peer-to-peer network connected with the node, in which the subscription requests include the first upstream capability of the requesting node; determining whether the node has idle bandwidth; If the minimum second upstream capacity is less than the first upstream capacity, the subscribed node corresponding to the minimum second upstream capacity is released to receive the subscription of the requesting node. And send the slice sub-stream to the requesting node. The embodiment of the application can improve the upstream capability of the node and reduce the packet loss rate and node delay of the node.

【技术实现步骤摘要】
订阅处理的方法、装置及直播系统
本申请涉及直播领域,尤其涉及订阅处理的方法、装置及直播系统。
技术介绍
随着网络技术的发展,网络直播越来越普及,各式各样的社会活动都可以借助网络直播方式进行传播。目前,直播系统采用的直播方式如下:主播端(终端)单方面推流到直播平台,然后通过直播平台的中转系统、CDN(ContentDeliveryNetwork,内容分发)服务器的分发,最终在观众端(终端)拉流并播放流媒体内容。而通常拉流的观众端往往数量庞大,如何提高众多观众端拉流的效率,降低观众端的拉流成本成为评价直播系统的重要指标。
技术实现思路
有鉴于此,本申请提供订阅处理的方法、装置及直播系统。根据本申请实施例的第一方面,提供了一种订阅处理的方法,所述方法应用于直播系统的拉流节点中,所述方法包括:接收对等网络中与本节点处于连接状态的请求节点发出的订阅请求,其中,所述订阅请求包括所述请求节点的第一上行能力,本节点为所述请求节点从与其连接的节点中选取的上行质量最好的节点;判断本节点是否有空闲带宽;若本节点没有空闲带宽,则获取已订阅本节点的所有已订阅节点的第二上行能力,并将最小的第二上行能力与所述第一上行能力比较;若最小的第二上行能力小于所述第一上行能力,则释放所述最小的第二上行能力对应的已订阅节点的订阅,接受所述请求节点的订阅,并向所述请求节点发送所述切片子流。根据本申请实施例的第二方面,提供了一种订阅处理装置,所述装置应用于直播系统的拉流节点中,所述装置包括:订阅请求接收模块,用于接收对等网络中与本节点处于连接状态的请求节点发出的订阅请求,其中,所述订阅请求包括所述请求节点的第一上行能力,本节点为所述请求节点从与其连接的节点中选取的上行质量最好的节点;空闲判断模块,用于判断本节点是否有空闲带宽;上行能力比较模块,用于若本节点没有空闲带宽,则获取已订阅本节点的所有已订阅节点的第二上行能力,并将最小的第二上行能力与所述第一上行能力比较;订阅调整模块,用于若最小的第二上行能力小于所述第一上行能力,则拒绝向所述最小的第二上行能力对应的已订阅节点发送切片子流,接受所述请求节点的订阅,并向所述请求节点发送所述切片子流。根据本申请实施例的第三方面,提供了一种直播系统,所述直播系统包括主播端、主播侧CDN服务器、主播侧网络服务器、切片服务器、观众侧CDN服务器以及观众侧对等网络,其中,所述观众侧对等网络中包括对等网络服务器以及多个拉流节点;所述主播端用于采集音视频流并向所述主播侧CDN服务器推流;所述主播侧CDN服务器用于将接收到的主播端发送的音视频流发送至所述主播侧网络服务器中;所述主播侧网络服务器用于对接收到的音视频流进行处理,并将处理后的音视频流发送至切片服务器中;所述切片服务器用于对接收到的主播侧网络服务器发送的音视频流进行切片处理,生成多个切片子流,并将所述切片子流发送至观众侧CDN服务器中;所述观众侧CDN服务器用于将接收到的切片子流分发至接入的拉流节点中;所述对等网络服务器用于接收拉流节点的注册,以及对所述观众侧的CDN服务器的切片子流分发情况进行管理;所述拉流节点用于向所述观众侧CDN服务器请求切片子流;其中,所述拉流节点具体用于执行上述的订阅处理的方法的步骤。根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述的订阅处理的方法的步骤。根据本申请实施例的第五方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述的订阅处理的方法的步骤。本申请实施例提供的技术方案可以包括以下有益效果:在本申请实施例中,当本节点接收到请求节点发送的订阅请求以后,若本节点没有空闲带宽,则本节点可以将已订阅本节点的所有已订阅节点的第二上行能力与请求节点的第一上行能力进行比较,若请求节点的第一上行能力大于最小的第二上行能力,则通过释放该最小的第二上行能力对应的已订阅节点的订阅来接受请求节点的订阅,从而实现订阅本节点的已订阅节点的动态调整,及时释放上行能力较弱的已订阅节点并接受上行能力较强的节点,以此可以提高本节点的上行能力,降低本节点的丢包率和节点时延,从而提高订阅本节点的节点的拉流效率。附图说明图1是本申请一示例性实施例示出的一种订阅处理的方法实施例的步骤流程图;图2是本申请一示例性实施例示出的直播系统的架构示意图;图3是本申请一示例性实施例示出的节点间订阅的示意图;图4是本申请一示例性实施例示出的环订阅示意图;图5是本申请的装置所在拉流节点的一种硬件结构图;图6是本申请一示例性实施例示出的一种订阅处理装置实施例的结构框图;图7是本申请一示例性实施例示出的一种直播系统实施例的结构框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。参考图1,示出了本申请一示例性实施例示出的一种订阅处理的方法实施例的步骤流程图,本申请实施例可以应用于直播系统的拉流节点中。以下首先对直播系统的架构进行说明:参考图2一示例性实施例示出的直播系统的架构示意图,直播系统中可以包括主播端、主播侧CDN网络(包括分布在各地的多个CDN服务器)、主播网络、P2P(Peer-to-Peer,对等网络)源站(切片服务器)、观众侧CDN网络(包括分布在各地的多个CDN服务器)、观众侧P2P服务器(又称对等网络服务器)以及观众端。需要说明的是,由于本申请实施例着重于观众侧的描述,图2中把主播侧的CDN网络和主播网络画在一起,但实际上两者是分开的。基于图2的直播系统的架构图,直播系统大致的工作流程如下:主播端可以通过RTMP(RealTimeMessagingProtocol,实时消息传输协议)或者UDP(UserDatagramProtocol,用户数据包协议)向主播侧CDN服务器推流,各地的CDN服务器将收到的音视频流都发到同一个主播网络服务器中,主播网络服务器会对接收到的音视频流进行处理,然后将处理后的音视频流转发至P2P源站进行切片,切片的大概过程是由P2P源站将接收的音视频流切割成1KB大小的数据包,并将每个数据包编号后按照自定义的格式封装成切片子流,P2P源站完成切片后将本文档来自技高网...

【技术保护点】
1.一种订阅处理的方法,其特征在于,所述方法应用于直播系统的拉流节点中,所述方法包括:接收对等网络中与本节点处于连接状态的请求节点发出的订阅请求,其中,所述订阅请求包括所述请求节点的第一上行能力,本节点为所述请求节点从与其连接的节点中选取的上行质量最好的节点;判断本节点是否有空闲带宽;若本节点没有空闲带宽,则获取已订阅本节点的所有已订阅节点的第二上行能力,并将最小的第二上行能力与所述第一上行能力比较;若最小的第二上行能力小于所述第一上行能力,则释放所述最小的第二上行能力对应的已订阅节点的订阅,接受所述请求节点的订阅,并向所述请求节点发送所述切片子流。

【技术特征摘要】
1.一种订阅处理的方法,其特征在于,所述方法应用于直播系统的拉流节点中,所述方法包括:接收对等网络中与本节点处于连接状态的请求节点发出的订阅请求,其中,所述订阅请求包括所述请求节点的第一上行能力,本节点为所述请求节点从与其连接的节点中选取的上行质量最好的节点;判断本节点是否有空闲带宽;若本节点没有空闲带宽,则获取已订阅本节点的所有已订阅节点的第二上行能力,并将最小的第二上行能力与所述第一上行能力比较;若最小的第二上行能力小于所述第一上行能力,则释放所述最小的第二上行能力对应的已订阅节点的订阅,接受所述请求节点的订阅,并向所述请求节点发送所述切片子流。2.根据权利要求1所述的方法,其特征在于,所述判断本节点是否有空闲带宽,包括:获取本节点一定时间段内的丢包率;根据所述丢包率,确定本节点能传输的最大子流数;确定本节点的已被订阅子流数;若所述已被订阅子流数小于所述最大子流数,则判定本节点有空闲带宽;若所述已被订阅子流数大于或等于所述最大子流数,则判定本节点没有空闲带宽。3.根据权利要求2所述的方法,其特征在于,所述根据所述丢包率,确定本节点能传输的最大子流数,包括:若所述丢包率低于第一预设丢包率阈值,则按照预设增量增加子流,得到最大子流数;若所述丢包率高于第二预设丢包率阈值,则按照预设增量减少子流,得到最大子流数,其中,所述第二预设丢包率阈值大于或等于所述第一预设丢包率阈值。4.根据权利要求2或3所述的方法,其特征在于,在所述向所述请求节点发送所述切片子流之后,还包括:若所述已被订阅子流数大于最新确定的最大子流数,则获取已订阅本节点的所有已订阅节点的第二上行能力,并释放最小的第二上行能力对应的已订阅节点的订阅。5.根据权利要求1-3任一项所述的方法,其特征在于,在所述接受所述请求节点的订阅之前,还可以包括如下步骤:判断本节点与所述请求节点是否存在直接或间接的订阅关系;当判定本节点与所述请求节点不存在订阅关系时,则接受所述请求节点的订阅。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:若最小的第二上行能力大于所述第一上行能力或者判定本节点与所述请求节点存在订阅关系,则向所述请求节点返回订阅失败响应,以拒绝所述请求节点的订阅。7.根据权利要求5所述的方法,其特征在于,所述判断本节点与所述请求节点是否存在订阅关系,包括:获取本节点的订阅关系列表,其中,所述订阅关系列表中包括所有订阅本节点的已订阅节点的标识,以及,所有订阅所述已订阅节点的节点的标识;在所述订阅关系列表中查找所述请求节点的标识;若查找成功,则判定所述请求节点与本节点存在订阅关系;若查找不成功,则判定所述请求节点与本节点不存在订阅关系。8.根据权利要求7所述的方法,其特征在于,所述获取本节点的订阅关系列表,包括:接收已订阅本节点的已订阅节点上报的订阅关系,汇总本节点与所述已订阅节点的订阅关系以及所述已订阅节点上报的订阅关系,得到所述订阅关系列表,其中,所述已订阅节点上报的订阅关系为所述已订阅节点被其他节点订阅的订阅关系;或者,从...

【专利技术属性】
技术研发人员:冯修杰
申请(专利权)人:广州虎牙信息科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1