一种流媒体直播方法及系统的制作方法

文档序号:8415588阅读:316来源:国知局
一种流媒体直播方法及系统的制作方法
【技术领域】
[0001]本发明涉及通信技术领域,尤其涉及一种流媒体直播方法及系统。
【背景技术】
[0002]在互联网中,视频直播越来越流行,观看互联网视频的用户量越来越大。采用p2p (Peer-to-Peer)的直播技术,可以降低源站的带宽,节省费用。
[0003]p2p又称对等网络,对等网络又称工作组,网上各台计算机有相同的功能,无主从之分,一台计算机都是既可作为服务器,设定共享资源供网络中其他计算机所使用,又可以作为工作站,没有专用的服务器,也没有专用的工作站。对等网络是小型局域网常用的组网方式。
[0004]p2p可以简单的定义成通过直接交换来共享计算机资源和服务,而对等计算模型应用层形成的网络通常称为对等网络。在P2P网络环境中,成千上万台彼此连接的计算机都处于对等的地位,整个网络一般来说不依赖专用的集中服务器。网络中的每一台计算机既能充当网络服务的请求者,又对其它计算机的请求作出响应,提供资源和服务。通常这些资源和服务包括:信息的共享和交换、计算资源(如CPU的共享)、存储共享(如缓存和磁盘空间的使用)等。
[0005]目前的p2p直播中,peer节点之间可以互相下载,容易导致系统不可控,且所有peer的数据量都一样,导致p2p直播效果较差。

【发明内容】

[0006]为了解决上述P2P直播系统中存在的系统不可控及直播效果差的技术问题,本发明实施例提供一种流媒体直播方法及系统。
[0007]本发明实施例提供的流媒体直播方法,包括步骤:
[0008]将接入⑶N服务器的用户节点分成自上而下的至少两个级别,每一级别包括多个节点;
[0009]下一级别节点向上一级别的若干节点请求下载数据,最上层级别的节点向CDN服务器请求下载数据,每个节点保存有为所述节点提供下载服务的上一级别节点的下载列表;
[0010]所述上一级别节点接收所述下一级别的下载数据请求,并根据自身可用宽带为所述下一级别的节点上传所述下载数据,每个节点保存有所述节点提供上传服务给下一级别节点的上传列表。
[0011]本发明实施例还提供了一种流媒体直播系统,所述系统包括:
[0012]节点管理模块,用于将接入⑶N服务器的用户节点分成自上而下的至少两个级另IJ,每一级别包括多个节点;
[0013]数据下载请求模块,用于下一级别节点向上一级别的若干节点请求下载数据,最上层级别的节点向CDN服务器请求下载数据,每个节点保存有为所述节点提供下载服务的上一级别节点的下载列表;
[0014]数据上传模块,用于所述上一级别节点接收所述下一级别的下载数据请求,并根据自身可用宽带为所述下一级别的节点上传所述下载数据,每个节点保存有所述节点提供上传服务给下一级别节点的上传列表。
[0015]在直播节目中,上述实施例的方法可以降低了 CDN的出口宽带,其节点的多个级别的分级策略可以最大限度优化资源下载,提高数据管理水平,充分利用剩余宽带,提高p2p的效率,播放效果较好。
【附图说明】
[0016]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0017]图1是本发明实施例提供的一种流媒体直播方法的流程示意图;
[0018]图2是本发明实施例提供的一种流媒体直播方法的网络拓扑图;
[0019]图3是本发明实施例提供的一种索引服务器为所述节点分配下载列表的方法的流程示意图;
[0020]图4是本发明实施例提供的一种下载列表分配方法的流程示意图;
[0021]图5是本发明实施例提供的一种节点提供上传服务的方法的流程示意图;
[0022]图6是本发明实施例提供的一种节点切换直播频道的方法的流程示意图;
[0023]图7是本发明实施例提供的一种节点切片内容示意图;
[0024]图8是本发明实施例提供的一种流媒体直播系统的结构示意图;
[0025]图9是本发明实施例提供的一种流媒体直播系统优选实施例的结构示意图。
【具体实施方式】
[0026]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0027]本发明提供的流媒体直播方法中,包括⑶N服务器,及内容分发服务器,索引服务器,以及接入CDN服务器的用户节点,用户节点向CDN服务器请求的直播流媒体资源。
[0028]请参见图1,图1是本发明实施例提供的一种流媒体直播方法的流程示意图,所述方法包括:
[0029]SlOl:将接入⑶N服务器的用户节点分成自上而下的至少两个级别,每一级别包括多个节点;
[0030]S102:下一级别节点向上一级别的若干节点请求下载数据,最上层级别的节点向CDN服务器请求下载数据,每个节点保存有为所述节点提供下载服务的上一级别节点的下载列表;
[0031]S103:所述上一级别节点接收所述下一级别的下载数据请求,并根据自身可用宽带为所述下一级别的节点上传所述下载数据,每个节点保存有所述节点提供上传服务给下一级别节点的上传列表。
[0032]参考图2,图2是本发明实施例提供的一种流媒体直播方法的网络拓扑图,以将用户节点分成三个级别为例,三个级别分别是第一级F级,第二级M级,第三级L级。由于F级无上一级别节点,为最上层级别,因此只能向CDN服务器请求下载数据,同时,F级为M级提供下载服务。M级的节点从F级下载数据,并未L级提供下载服务。L级的节点从M级下载数据,由于L级没有下层级别,因此不用提供下载服务。
[0033]每个节点维护两个列表,下载列表和上传列表。每个节点的属性包括:节点级别,上传宽带,已用上传宽带以及正在播放的频道。
[0034]在直播节目中,上述实施例的方法由于采用了对节点分级管理的策略,可以降低CD N的出口宽带,其节点的多个级别的分级策略可以最大限度优化资源下载,利用剩余宽带。
[0035]具体的,步骤S102中,索引服务器为所述节点分配下载列表,具体的分配策略为:
[0036]索引服务器接收节点获取下载列表的请求,检查所述节点的级别;
[0037]如果检查到所述节点有级别,从所述节点的上一级别节点选择若干节点成为所述节点的下载列表;
[0038]如果检查到所述节点没有级别,则判断当前观看直播频道的用户节点数,如果总节点数小于预设值,则设置所述节点为最高级别节点,从CDN下载数据;
[0039]如果检查到所述总节点数大于或者等于预设值,自最高级别起逐级检查能够提供下载服务的级别,以确定所述节点的级别;
[0040]确定所述节点的级别后,选择上一级别若干节点成为所述节点的下载列表。
[0041]其中,所述节点的级别为能提供下载服务的级别的下一级别,节点向索引服务器请求节点下载列表时,要带上自己的级别信息,如果是第一次请求,或者是切换频道重新请求,级别信息为-1,即无级别,由索引服务器确定级别。
[0042]索引服务器为所述节点分配下载列表的方法步骤可参考图3所示,以图2中的三级结构的拓扑图为例,如果判断该节点有级别,直接选择该节点的上一级的若干节点为父节点;当没有级别时,判断该节点的级别;检查其频道用户数,当频道用户数小于预设个数N时,则定位为F级,从CDN服务器下载数据;当频道用户数大于等于预设个数N时,判断M级是否能提供下载服务;如果是,设定该节点为L级,选择M级的若干节点为父节点进行数据下载;如果否,再判断F级是否能提供下载服务;如果是,设定该节点为M级,选择F级的若干节点为父节点进行数据下载;如果否,设定该节点为F级,从CDN服务器下载数据。
[0043]进一
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1