用户侧带宽聚合的方法、设备和内容分发系统的制作方法

文档序号:9634037阅读:461来源:国知局
用户侧带宽聚合的方法、设备和内容分发系统的制作方法
【技术领域】
[0001]本发明涉及互联网技术领域,尤其涉及一种用户侧带宽聚合的方法、设备和内容分发系统。
【背景技术】
[0002]网络音视频直播技术是一种重要的互联网热门应用,其在后台数据传输端的架构发展经历了单服务器阶段、服务器集群阶段以及⑶N(Content Delivery Network,内容分发网络)+客户端P2P阶段等。
[0003]其中,在单服务器阶段,只有单台服务器提供服务,用户终端的播放器通过流媒体协议直接连接到服务器,获取音视频数据,并在本地解码播放。
[0004]在服务器集群阶段,采用多种热备份的服务器集群方案或者是从源服务器到边缘服务器进行CDN分发的组网方案。此时用户终端的播放器通过服务器端的负载均衡调度,连接到某一台服务器,然后通过流媒体协议(如RTMP(Real Time Messaging Protocol,实时消息传输协议)/RTSP (Real Time Streaming Protocol,实时流传输协议)/MMS (MultiMedia Server,多媒体服务器)等),或基于HTTP (超文本传输协议,Hyper Text TransferProtocol)(如 HLS(Http Live Streaming, HTTP 流媒体直播)/HTTP 下载(download)等)进行传输的协议获取音视频数据,并在本地解码播放。这种纯服务器的解决方案,可以将服务器部署在IDC (Internet Data Center,互联网数据中心)机房里,以保证在线时长和服务带宽质量,缺点是成本较高。
[0005]在CDN+客户端P2P阶段,由于同时在线人数的不断增加,以及服务器带宽成本的压力,可以利用客户端来分担一部分访问压力。通常视频数据从生产端(摄像机/摄像头拍摄后进行数字编码并通过流媒体协议推送到源服务器)出来,进入⑶N网络,通过⑶N网络分发到CDN的边缘节点,在这里会按照P2P传输的需求对数据进行分割以适应P2P传输。同时需要在客户端部署一个P2P服务的代理,这样客户端的播放器可以从P2P代理获取数据。不同客户端的P2P代理还可以通过P2P协议互相共享数据。这样就分担了服务器的访问压力。另一方面,由于P2P网络的不稳定,要想保证数据传输质量不间断,还可以进行设定,让P2P代理在无法从别的P2P代理(对端PEER)获取数据时直接访问⑶N网络里的服务器。例如专利CN201510150133.1就采用了这种⑶N+P2P的架构。⑶N+P2P的架构可以分担一部分服务器的访问压力,降低带宽成本,同时还可以保证服务质量。
[0006]但是P2P代理模块加入/退出P2P网络是不受控制的,完全取决于客户是否选择观看对应的直播频道,也就意味着,这一部分来自于客户端的带宽无法挪作它用。如果直播结束或用户退出收看,来自于客户端的这部分带宽就没有了。

【发明内容】

[0007]抟术问题
[0008]有鉴于此,本发明要解决的技术问题是,如何提高用户侧带宽的利用率,以保证内容分发系统所分发的内容的服务质量。
[0009]解决方案
[0010]为了解决上述技术问题,根据本发明的一实施例,提供了一种用户侧带宽聚合的方法,包括:
[0011]位于内容分发网络的虚拟化控制器接收用户终端的播放器发送的内容分发请求;
[0012]所述虚拟化控制器根据各网络设备的状态信息进行设备分级,其中,分级结果包括所述网络设备为第一级设备或第二级设备,所述第一级设备为中间设备,所述第二级设备为边缘设备;
[0013]所述虚拟化控制器将所述分级结果下发给对应的网络设备;
[0014]所述虚拟化控制器控制所述第一级设备和所述第二级设备之间建立超文本传输协议HTTP连接;
[0015]所述虚拟化控制器向所述用户终端的播放器返回至少一个第二级设备的地址信息,以利用所返回的第二级设备的可用带宽向所述用户终端的播放器进行内容分发。
[0016]对于上述方法,在一种可能的实现方式中,所述虚拟化控制器根据各网络设备的状态信息进行设备分级,包括:
[0017]所述虚拟化控制器获取其所能管辖的网络设备的状态信息,所述网络设备的状态信息包括所述网络设备的可用带宽和NAT拓扑状态,在所述NAT拓扑状态中,第一状态表示所述网络设备具有公网IP地址,第二状态表示所述网络设备在NAT后且属于非对称网络NAT类型,第三状态表示所述网络设备在NAT后且属于对称网络NAT类型;
[0018]所述虚拟化控制器从其所能管辖的网络设备中选取多个空闲网络设备,并根据内容分发需求和各所述空闲网络设备的可用带宽,选取NAT拓扑状态为第一状态的部分设备作为第二级设备,所述内容分发需求包括直播节目的总带宽和码流,其中,所述第二级设备与客户端连接并能够与至少一个所述第一级设备建立HTTP连接,两个所述第二级设备之间禁止建立HTTP连接;
[0019]所述虚拟化控制器根据所述内容分发需求、所选取的第二级设备的数量和剩余的所述空闲网络设备的可用带宽,选取NAT拓扑状态为第一状态的部分设备作为第一级设备,和/或,选取NAT拓扑状态为第二状态的部分设备作为第一级设备,其中,所述第一级设备与所述内容分发网络连接,两个NAT拓扑状态为第一状态的第一级设备之间允许建立HTTP连接。
[0020]对于上述方法,在一种可能的实现方式中,所述虚拟化控制器控制所述第一级设备和所述第二级设备之间建立HTTP连接,包括:
[0021]对于每个所述第二级设备,所述虚拟化控制器向所述第二级设备下发第一级设备编号列表;
[0022]所述虚拟化控制器获取所述第二级设备根据所述第一级设备编号列表所选取的感兴趣的第一级设备的编号;
[0023]所述虚拟化控制器向所述第二级设备感兴趣的第一级设备发送所述第二级设备的地址信息,由收到所述地址信息的第一级设备主动向所述第二级设备发送HTTP连接请求以建立HTTP连接。
[0024]对于上述方法,在一种可能的实现方式中,还包括:
[0025]在所述第二级设备与至少一个第一级设备成功建立HTTP连接后,所述至少一个第一级设备将从云端的CDN模块获取的数据发送给所述第二级设备;
[0026]所述第二级设备将所接收到的所有数据进行组合,将得到的完整内容发送给所述用户终端的播放器。
[0027]对于上述方法,在一种可能的实现方式中,还包括:
[0028]所述第二级设备向所述至少一个第一级设备返回拒绝命令,接收到所述拒绝命令的第一级设备停止向所述第二级设备发送数据。
[0029]对于上述方法,在一种可能的实现方式中,还包括:
[0030]接收到所述拒绝命令的第一级设备与所述第二级设备保持HTTP连接,并按照预定间隔向所述第二级设备发送心跳报告。
[0031]对于上述方法,在一种可能的实现方式中,还包括:
[0032]所述虚拟化控制器检测各所述网络设备的运行状态;
[0033]在某个网络设备处于掉线的状态下,所述虚拟化控制器将掉线的网络设备的编号从可用设备列表中删除。
[0034]为了解决上述技术问题,根据本发明的另一实施例,提供了一种虚拟化控制器,其设置于云端的内容分发网络中,包括:
[0035]客户端接口模块,与用户终端的播放器相通信,用于接收所述用户终端的播放器发送的内容分发请求;
[0036]分级模块,与各网络设备相通信,用于根据各网络设备的状态信息进行设备分级,其中,分级结果包括所述网络设备为第一级设备或第二级设备,所述第一级设备为中间设备,所述第二级设备为边缘设备;
[0037]网络设备接口模块,与各所述网络设备相通信,用于将所述分级结果下发给对应的网络设备;
[0038]HTTP连接控制模块,与各所述网络设备相通信,用于控制所述第一级设备和所述第二级设备之间建立HTTP连接;
[0039]所述客户端接口模块还用于向所述用户终端的播放器返回至少一个第二级设备的地址信息,以利用所返回的第二级设备的可用带宽向所述用户终端的播放器进行内容分发。
[0040]对于上述虚拟化控制器,在一种可能的实现方式中,所述分级模块包括:
[0041]NAT探测单元,用于获取所述虚拟化控制器所能管辖的网络设备的状态信息,所述网络设备的状态信息包括所述网络设备的可用带宽和NAT拓扑状态,在所述NAT拓扑状态中,第一状态表示所述网络设备具有公网IP地址,第二状态表示所述网络设备在NAT后且属于非对称网络NAT类型,第三状态表示所述网络设备在NAT后且属于对称网络NAT类型;
[0042]第二级设备选取单元,用于从所述虚拟化控制器所能管辖的网络设备中选取多个空闲网络设备,并根据内容分发需求和各所述空闲网络设备的可用带宽,选取NAT拓扑状态为第一状态的部分设备作为第二级设备,所述内容分发需求包括直播节目的总带宽和码流,其中,所述第二级设备与客户端连接并能够与至少一个所述第一级设备建立HTTP连接,两个所述第二级设备之间禁止建立HTTP连接;
[0043]第一级设备选取单元,用于根据所述内容分发需求、所选取的第二级设备的数量和剩余的所述空闲网络设备的可用带宽,选取NAT拓扑状态为第一状态的部分设备作为第一级设备,和/或,选取NAT拓扑状态为第二状态的部分设备作为第一级设备,其中,所述第一级设备与所述内容分发网络连接并能够与至少一个所述第二级设备相通信,两个NAT拓扑状态为第一状态的第一级设备之间允许建立HTTP连接。
[0044]对于上述虚拟化控制器,在一种可能的实现方式中,HTTP连接控制模块包括:
[0045]列表发送单元,对于每个所述第二级设备,所述列表发送单元用于向所述第二级设备下发第一级设备编号列表;
[0046]编号获取模块,用于获取所述第二级设备根据所述第一级设备编号列表所选取的感兴趣的第一级设备的编号;
[0047]地址发送单元,用于向所述第二级设备感兴趣的第一级设备发送所述第二级设备的地址信息,由收到所述地址信息的第一级设备主动向所述第二级设备发送HTTP连接请求以建立HTTP连接。
[0048]对于上述虚拟化控制器,在一种可能的实现方式中,还包括:
[0049]容错模块,用于检测各所述网络设备的运行状态,在某
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1