基于cdn和p2p的混合流媒体视频点播系统的制作方法

文档序号:7779352阅读:197来源:国知局
基于cdn和p2p的混合流媒体视频点播系统的制作方法
【专利摘要】本发明提供一种基于CDN和P2P的混合流媒体视频点播系统,包括:最顶端的服务器层:Tracker服务器用于记录CDN边缘缓存服务器群以及节点层的状态信息;媒体源服务器用于从节目管理服务器中获取所需的流媒体数据资源,并分发到中间层的CDN边缘缓存服务器群;节目管理服务器对媒体源服务器发出的视频传输请求进行身份验证后,对于通过身份验证的请求给予视频流传输并且屏蔽掉恶意的传输连接请求;中间层的CDN边缘缓存服务器群包括多个CDN边缘缓存服务器,通过缓存的方式将流媒体数据传输到节点(Peer)层;最底层的节点层,包括基于P2P网拓扑结构的至少一个用户端,从CDN边缘缓存服务器或邻近的活跃用户中获取流媒体数据并传送给本地的媒体播放器播放。
【专利说明】基于CDN和P2P的混合流媒体视频点播系统
【技术领域】
[0001]本发明涉及视频点播【技术领域】,具体而言涉及一种基于CDN和P2P的混合流媒体视频点播系统。
【背景技术】
[0002]近年来,随着用户对多媒体内容的需求日益增大,传统的视频点播应用一般基于C/S模型,容易引发如视频服务器端的性能瓶颈和网络资源的浪费等问题,导致视频点播质量不尽如人意。
[0003]由于视频点播需要大量的服务器资源和网络带宽,无法满足网络视频点播业务的扩展,难以支持大规模应用。后来提出了 CDN (内容分发网络)技术,其解决了由于网络拥塞、用户访问量大、节点分布不均等造成的系统服务慢的问题。但是其缺点也很明显,网络中需要部署一定数量的CDN服务器,当系统服务范围较大时,需要部署的较多的CDN服务器,大大增加了整个系统的成本;而且系统的可扩展性问题并没有得到根本的解决,在每个区域内,可服务的用户数目仍然取决于CDN服务器的性能,提高系统负载能力,只有通过提高⑶N服务器性能和增加⑶N服务器数量才能达到。因此,整个系统需要有比较高效的服务器部署和负载均衡算法,以免造成整个系统CDN服务器的忙闲不均,浪费不必要的服务器和带宽资源。

【发明内容】

[0004]针对现有技术存在的缺陷或不足,本发明旨在提供一种基于CDN和P2P的混合流媒体视频点播系统,本系统可提高系统可扩展性,降低服务器端的负载。
[0005]为达成上述目的,本发明所采用的技术方案如下:
[0006]一种基于⑶N和P2P的混合流媒体视频点播系统,包括最顶端的服务器层、中间层的CDN边缘缓存服务器群以及最底层的节点(Peer)层,其中:
[0007]最顶端的服务器层,包括Tracker服务器、媒体源服务器以及节目管理服务器:Tracker服务器用于记录⑶N边缘缓存服务器群以及节点(Peer)层的状态信息;媒体源服务器用于从节目管理服务器中获取所需的流媒体数据资源,并分发到中间层的CDN边缘缓存服务器群;节目管理服务器对媒体源服务器发出的视频传输请求进行身份验证后,对于通过身份验证的请求给予视频流传输并且屏蔽掉恶意的传输连接请求;
[0008]中间层的CDN边缘缓存服务器群,包括多个CDN边缘缓存服务器,通过缓存的方式将流媒体数据传输到节点(Peer)层;
[0009]最底层的节点(Peer)层,包括基于P2P网拓扑结构的至少一个用户端,从上层的CDN边缘缓存服务器或邻近的其它活跃用户中获取流媒体数据并传送给本地的媒体播放器进行播放。
[0010]进一步,所述中间层的每个CDN边缘缓存服务器与其相邻的CDN边缘缓存服务器之间共享流媒体数据资源。[0011]进一步,所述Tracker服务器至少记录有活跃用户所在节点的状态信息,包括IP地址、共享文件。
[0012]进一步,所述每个⑶N边缘缓存服务器包括虚拟客户端(Entry Point)、流媒体转发器(Stream Repeater)及边缘服务器(Edge Server),其中:
[0013]虚拟客户端(Entry Point)向上与媒体源服务器连接并数据交互,从中获取特定的流媒体数据,向下与流媒体转发器数据连接;
[0014]流媒体转发器(Stream Repeater)向上与虚拟客户端数据交互,向下与边缘服务器数据连接,并且该流媒体转发器作为CDN边缘缓存服务器群中CDN边缘缓存服务器之间相互交互的接口;
[0015]边缘服务器(Edge Server)向上与流媒体转发器数据交互,向下通过缓存服务器与节点(Peer)层的用户端数据交互,为用户端的本地媒体播放器提供流媒体数据。
[0016]进一步,所述边缘服务器(Edge Server)包括汇聚点服务器(Rendezvous PointServer)和数据服务器(Data Server),其中:
[0017]汇聚点服务器(Rendezvous Point Server)为用户请求的入口,用于接收和处理用户登录请求和NAT穿越请求;
[0018]数据服务器(Data Server)为数据的出口,用于接收流媒体转发器发送来的各频道数据,并打包发送给节点层中处于最顶层的用户,并管理这些用户。
[0019]进一步,所述⑶N边缘缓存服务器之间由所述流媒体转发器实现数据同步。
[0020]由以上本发明的技术方案可知,本发明所提出的基于CDN和P2P的混合流媒体视频点播系统,融入了 CDN和P2P技术的优点,同时弥补了各自的不足。在本发明的视频点播系统中,媒体源服务器向CDN边缘缓存服务器中传输流媒体数据,这些CDN边缘缓存服务器也可以以对等网的方式共享这些内容。当节点层的用户需要获取流媒体内容时,它被重定向到合适的边缘服务器中,P2P网络被局限在每一个边缘服务器所负责的网络中。
[0021]与现有的视频点播系统相比,本发明的有益效果在于:
[0022]1、本系统CDN层在扩大系统整体负载的同时,又不明显增加媒体源服务器端的压力,并且使得系统和用户的连接更加稳定和可靠;
[0023]2、媒体内容可以在用户间共享,从而能够使得网络获得较高可扩展性的同时保持服务器端负载较小;
[0024]3、边缘服务器更接近用户,能够保证该链接的带宽,保证了服务的稳定性。
【专利附图】

【附图说明】
[0025]图1为本发明一实施方式基于CDN和P2P的混合流媒体视频点播系统的系统架构图。
[0026]图2为图1实施例中⑶N边缘缓存服务器群的示意图。
[0027]图3为利用图1实施例的视频点播系统实现从客户端接收流媒体数据的流程示意图。
【具体实施方式】
[0028]为了更了解本发明的技术内容,特举具体实施例并配合所附图式说明如下。[0029]图1所示为本发明一实施方式基于CDN和P2P的混合流媒体视频点播系统的系统架构,其中,基于CDN和P2P的混合流媒体视频点播系统,包括最顶端的服务器层、中间层的⑶N边缘缓存服务器群以及最底层的节点(Peer )层。
[0030]如图1所示,最顶端的服务器层,包括Tracker服务器、媒体源服务器以及节目管理服务器。
[0031]Tracker服务器用于记录⑶N边缘缓存服务器群以及节点(Peer)层的状态信息,包括中间层的CDN边缘缓存服务器群以及最底层的节点(Peer)层,例如当前CDN边缘缓存服务器的负载状况、所存储的内容,活跃用户的数目、IP地址、当前可共享的视频流数据和端口。作为较佳的实施例,Tracker服务器至少记录有活跃用户所在节点的状态信息,包括IP地址、共享文件。
[0032]媒体源服务器用于从节目管理服务器中获取所需的流媒体数据资源,并分发到中间层的CDN边缘缓存服务器群。
[0033]节目管理服务器对媒体源服务器发出的视频传输请求进行身份验证后,对于通过身份验证的请求给予视频流传输并且屏蔽掉恶意的传输连接请求。节目管理服务器可以是视频提供商的节目管理服务器。
[0034]中间层的CDN边缘缓存服务器群,包括多个CDN边缘缓存服务器,通过缓存的方式将流媒体数据传输到节点(Peer)层。
[0035]当某个CDN边缘缓存服务器或用户需要获取某流媒体数据时,需要向Tracker服务器发送该流媒体数据的内容请求,Tracker服务器根据网络内的下载状况,选择优化的结果反馈给查询者,或者从邻居节点获取数据,或者从上层的媒体源服务器获取流媒体数据。
[0036]最底层的节点(Peer)层,包括基于P2P网拓扑结构的至少一个用户端,从上层的CDN边缘缓存服务器或邻近的其它活跃用户中获取流媒体数据并传送给本地的媒体播放器进行播放。
[0037]由于⑶N边缘缓存服务器相对于媒体源服务器更接近用户,从而使得连接更加的稳定和可靠,保证用户端视频播放的流畅性。中间层的CDN边缘缓存服务器在扩大系统整体负载的同时,又不明显增加媒体源服务器端的压力,并且使得系统和用户的连接更加稳定和可靠。
[0038]作为优选地,本实施例中,中间层的每个CDN边缘缓存服务器与其相邻的CDN边缘缓存服务器之间共享流媒体数据资源。也即CDN边缘缓存服务器内的流媒体数据不仅来自媒体源服务器,还可以来自与其相邻的CND对等网络的节点,实现CDN边缘缓存服务器之间的数据共享,从而缓解数据源服务器的压力,并减少数据到达用户的时间。
[0039]当有用户请求媒体流数据时,通过某一 CDN边缘缓存服务器的DNS转向邻近的CND边缘缓存服务器,由于CDN边缘缓存服务器更接近用户,能够保证该链接的带宽,保证了服务的稳定性和用户播放的流畅性。最底层是节点(Peer)层,包括基于P2P网拓扑结构的至少一个用户端,他们有获取流媒体数据的需求,流媒体数据或者来自于CDN边缘缓存服务器,或者来自于邻居节点。
[0040]图2所示为⑶N边缘缓存服务器群的示意,其中,⑶N边缘缓存服务器群包括多个⑶N边缘缓存服务器,每个⑶N边缘缓存服务器包括虚拟客户端(Entry Point)、流媒体转发器(Stream Repeater)及边缘服务器(Edge Server)。[0041]虚拟客户端(Entry Point)向上与媒体源服务器连接并数据交互,从中获取特定的流媒体数据,向下与流媒体转发器数据连接。
[0042]流媒体转发器(Stream Repeater)向上与虚拟客户端数据交互,向下与边缘服务器(Edge Server)数据连接,并且该流媒体转发器作为⑶N边缘缓存服务器群中⑶N边缘缓存服务器之间相互交互的接口。较佳地,邻近的CDN边缘缓存服务器之间采用通信协议为TCP协议。CDN边缘缓存服务器之间由该流媒体转发器作为接口实现数据同步。
[0043]边缘服务器(Edge Server)向上与流媒体转发器数据交互,向下通过缓存服务器(Cache)与节点(Peer)层的用户端(Client)数据交互,为用户端的本地媒体播放器提供流媒体数据。
[0044]本实施例中,边缘服务器(Edge Server )作为下层对等网络的服务器,其包括汇聚点服务器(Rendezvous Point Server)和数据服务器(Data Server)。
[0045]汇聚点服务器(Rendezvous Point Server)为用户请求的入口,用于接收和处理用户登录请求和NAT穿越请求。
[0046]数据服务器(Data Server)为数据的出口,用于接收流媒体转发器发送来的各频道数据,并打包发送给节点层中处于最顶层的用户,并管理这些用户。
[0047]用户层为系统架构的最底层,从上层的CDN边缘缓存服务器或邻近的其它活跃用户中获取流媒体数据并传送给本地的媒体播放器进行播放。
[0048]在P2P客户端的实现中,主要由核心部分、播放器调用部分、OCX控件部分组成。其中核心部分P2P节点之间的消息处理、媒体流数据的调度,同时也建立本地的ES服务模块供本地播放器进行连接。播放器调用部分,提供控制接口,以方便调用本地的媒体流播放器,如Windows Media Player、Real Player等等,来播放用户所收到的数据。
[0049]P2P客户端功能主要包括三个方面:系统底层管理、成员管理、数据调度。系统底层管理主要负责链接管理、日志记录、定时、参数配置。成员管理包括节点发现和节点状态检测。数据调度主要负责媒体流数据调度、数据同步、缓冲区管理。
[0050]图3所示为利用图1实施例的视频点播系统实现从客户端接收流媒体数据的流程示意图,其中,用户(Cl ient)若需要接收某流媒体数据,首先向上层的CDN边缘缓存服务器发送数据请求KDN边缘缓存服务器的数据服务器(Data Server)接收到该请求后,本地启动一个数据服务器通道(Data Server Channel),通过该数据服务器通道向媒体源服务(Media Source Service)发送流式请求,该媒体源服务再向本地的流媒体转发器(StreamRepeater)请求流媒体数据。流媒体转发器响应该请求,回送相应的流媒体数据内容。媒体源服务接收到流媒体数据后,将它通过数据服务器通道打包成P2P包以UDP协议发送到初始请求的用户端;同时在数据服务器通道的哈希表中记录该数据,以响应由于UDP包的丢失而引起的重传请求。
[0051]综上所述,本发明所提出的基于⑶N和P2P的混合流媒体视频点播系统,结合⑶N和P2P技术,在内容的服务器层采用CDN网的拓扑结构,将视频内容传输到最接近用户的CDN服务器中,提高用户获取流媒体内容的速度;而在每一个边缘服务器所负责的网络内,采用P2P网的拓扑结构,节点既可以从边缘服务器中获取视频内容,也可以从网内的其它节点中获取视频内容;同时在CDN的骨干网中,边缘服务器之间内容的同步也可以采用P2P的模式,既可以从中央流媒体服务器中获取数据,也可以从“邻近”的边缘服务器中获取数据内容。这样,在提高系统可扩展性的同时,可以有效降低服务器端的负载,增强用户的体验效果。
[0052]与现有的视频点播系统相比,本发明的有益效果在于:
[0053]1、本系统CDN层在扩大系统整体负载的同时,又不明显增加媒体源服务器端的压力,并且使得系统和用户的连接更加稳定和可靠;
[0054]2、媒体内容可以在用户间共享,从而能够使得网络获得较高可扩展性的同时保持服务器端负载较小;
[0055]3、边缘服务器更接近用户,能够保证该链接的带宽,保证了服务的稳定性。
[0056]虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属【技术领域】中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。
【权利要求】
1.一种基于CDN和P2P的混合流媒体视频点播系统,其特征在于,包括最顶端的服务器层、中间层的CDN边缘缓存服务器群以及最底层的节点层,其中: 最顶端的服务器层,包括Tracker服务器、媒体源服务器以及节目管理服务器:Tracker服务器用于记录CDN边缘缓存服务器群以及节点层的状态信息;媒体源服务器用于从节目管理服务器中获取所需的流媒体数据资源,并分发到中间层的CDN边缘缓存服务器群;节目管理服务器对媒体源服务器发出的视频传输请求进行身份验证后,对于通过身份验证的请求给予视频流传输并且屏蔽掉恶意的传输连接请求; 中间层的CDN边缘缓存服务器群,包括多个CDN边缘缓存服务器,通过缓存的方式将流媒体数据传输到节点层; 最底层的节点层,包括基于P2P网拓扑结构的至少一个用户端,从上层的CDN边缘缓存服务器或邻近的其它活跃用户中获取流媒体数据并传送给本地的媒体播放器进行播放。
2.根据权利要求1所述的基于CDN和P2P的混合流媒体视频点播系统,其特征在于,所述中间层的CDN边缘缓存服务器与其相邻的CDN边缘缓存服务器之间共享流媒体数据资源。
3.根据权利要求1所述的基于CDN和P2P的混合流媒体视频点播系统,其特征在于,所述Tracker服务器至少记录有活跃用户所在节点的状态信息,包括IP地址、共享文件。
4.根据权利要求1所述的基于CDN和P2P的混合流媒体视频点播系统,其特征在于,所述每个CDN边缘缓存服务器包括虚拟客户端、流媒体转发器及边缘服务器,其中: 虚拟客户端向上与媒体源服务器连接并数据交互,从中获取特定的流媒体数据,向下与流媒体转发器数据连接; 流媒体转发器向上与虚拟客户端数据交互,向下与边缘服务器数据连接,并且该流媒体转发器作为CDN边缘缓存服务器群中CDN边缘缓存服务器之间相互交互的接口 ; 边缘服务器向上与流媒体转发器数据交互,向下通过缓存服务器与节点层的用户端数据交互,为用户端的本地媒体播放器提供流媒体数据。
5.根据权利要求4所述的基于CDN和P2P的混合流媒体视频点播系统,其特征在于,所述边缘服务器包括汇聚点服务器和数据服务器,其中: 汇聚点服务器为用户请求的入口,用于接收和处理用户登录请求和NAT穿越请求; 数据服务器为数据的出口,用于接收流媒体转发器发送来的各频道数据,并打包发送给节点层中处于最顶层的用户,并管理这些用户。
6.根据权利要求4所述的基于CDN和P2P的混合流媒体视频点播系统,其特征在于,所述CDN边缘缓存服务器之间由所述流媒体转发器实现数据同步。
【文档编号】H04N21/647GK103634692SQ201310654411
【公开日】2014年3月12日 申请日期:2013年12月6日 优先权日:2013年12月6日
【发明者】李千目, 周建群 申请人:南京理工大学连云港研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1