网络系统中内容分发的方法
技术领域
本发明涉及网络内容的分发,具体地说,是一种网络系统中内容分发的方法。
背景技术
在内容传送网络(Content Delivery Networks,简称CDN)出现以前,内容在网络上以集中方式存储,用户所有的请求都要由中心服务器处理。当网络内容以文本、图形等格式存在时中心服务器的处理量并不大,骨干网的带宽占用不是爆炸式增长,而且不稳定的网络传输对这些低数据量、低服务质量(Quality of Service,简称QoS)媒体的传递影响尚不明显。
当前网络内容向多媒体发展,大型的A/V流媒体文件大量出现。这些文件的特点是数据量大,一般每个文件有几百兆。为保证浏览质量,网络带宽一般要求至少300Kbps,连续连接时间从几十分钟到2小时。这样,如果沿用集中式的方式中心服务器的处理能力和带宽将很快饱和。而且经过多个网络设备后数据的丢包、误码概率上升,用户将感到A/V失真或断续、抖动,直接影响使用质量。
CDN的思想是将内容在网络中优化分布,改变以往集中存储集中处理的方式,将最常用的内容放在离用户最近的地方。当用户向内容运营者请求内容时,该请求由实现面向内容的负载均衡策略的设备处理转发,为用户的请求选择一个拥有该内容的最靠近用户的最优服务器。这些最优的服务器除了地理上离用户近,而且专门经过优化设计,在处理能力上也优于普通服务器。
CDN网络的结构如图1所示:媒体管理器(Media Manager,简称MM)主要完成从内容装配商(简称CA)的服务器上取得内容,然后发放到用户指定的边缘缓存(Edge Cache,简称EC),并记录内容在CDN网络中的分布情况,把此信息同步到媒体定向解析器(Media Request Broker,简称MRB)上。当用户访问CA的Web页面时,CA重定向用户请求到媒体定向解析器MRB上,MRB根据内容在网络中的分布情况,采用一定的策略把用户的请求定位到相应的EC上,由EC为用户提供服务。
点对多点的可靠分发是CDN的核心技术之一。点对多点的分发可以采用单播或者组播。其中组播既有传统意义上的组播,也有最新出现的可靠组播。其中可能有以下几个方案:
方案一:如图2所示,点对点内容的分发可以通过单播实现。
方案二:如图3所示,点对点内容的分发可以通过传统组播实现,传统组播就是采用用户因特网控制报文协议(IGMP)加入组播组,数据包采用用户数据报协议(UDP)包进行传送。
方案三:如图4是以高效通用组播(Pragmatic General Multicast,简称PGM)协议为例的实现的逻辑图,点对点内容的分发可以通过可靠组播实现,这是最近出现的技术,用户首先使用IGMP加入组播组,然后使用可靠组播协议进行数据组播。
上述各方案存在的缺点:
方案一:如果直接采用传输控制协议(TCP)包,可以达到可靠性,但是由于占用带宽较多,而且由于TCP连接性较多,CPU的处理能力的问题,内容的分发很难达到高速。
方案二:如果采用通常的组播,由于组播采用UDP包,网络的问题很难保证包的可靠到达。如果在UDP协议的上层进行传输控制来解决可靠性问题,这样将使设计复杂,而且如果内容庞大,还不一定保证内容100%正确到达。同时对于不能通过组播达到的接收点,组播数据不可能到达。
方案三:可靠组播的前提是这些点必须是通过组播能够到达的点,对于那些不能通过组播到达的点,则可能发生组播数据丢失的情况。其次,对于当前可靠组播协议,如何通过合理的设计和参数设置,使当前的可靠组播性能最优,这是一个需要不停优化设计和调整的过程。在当前的业界并没有标准的模式。
发明内容
本发明的目的在于提供一种网络系统中内容分发的方法,以解决在网络系统内如何实现点对多点的高速可靠的分发。
本发明的方法包括步骤:
1)网络系统的管理模块探测网络中在组播域内的节点和不在组播域内的节点,
包括步骤:
a.管理模块向网络系统中的各节点发出组播包;
b.各节点接收组播包,支持组播协议的节点向管理模块反馈组播回应包;
c.管理模块根据接收到的反馈组播回应包确定在组播域内的节点和不在组播域内的节点;
其中,
管理模块向网络系统中的各节点发出的组播包采用高效通用组播(PGM)协议;
2)根据步骤1)的探测结果,管理模块对在组播域内的各节点启动一个可靠组播任务完成内容分发,对不在组播域内的节点则启动单播任务完成内容分发。
不支持组播协议的节点不向管理模块反馈任何信息。
管理模块可采用自动探测方式,也可由管理者输入命令行方式进行探测。
组播任务采用高效通用组播(PGM)协议。
单播任务采用文件传输协议(FTP)。
所述的网络系统为广域网。
所述网络系统为内容传送网络(CDN),所述的管理模块为内容传送网络中的媒体管理器(MM),所述的节点为内容传送网络中的边缘缓存(EC)。
本发明的方法能够实现发送者在不知接收者是否在可组播到达区域内的情况下,将内容高速分发到指定点。
附图说明
图1为CDN网络的结构图;
图2为通过单播实现内容分发的示意图;
图3为通过传统组播实现内容分发的示意图;
图4为通过可靠组播实现内容分发的示意图;
图5为本发明的采用高效通用组播进行探测的示意图;
图6为本网络节点回应探测的示意图;
图7本发明的高效通用组播和单播分发内容的示意图。
具体实施方式
本发明主要是解决在网络中如何实现点对多点的高速可靠的分发,如在广域网中的分发,更典型的如叠加在广域网上的内容传送网(CDN)的分发。在网络系统中,主要完成内容分发的管理模块在不知道多点是否都能够通过组播到达的情况下,首先对这些节点进行探测来了解哪些点可以通过组播到达,哪些节点只能通过单播到达。对于通过组播能到达的,管理模块采用高效通用组播协议PGM进行内容分发。对于只能单播到达的,管理模块采用FTP协议对内容进行单播分发。这样,对于上层用户来讲内容的可靠组播是完全屏蔽的,不用考虑当前网络实际的组网情况,就能够以最快的速度把所有的内容分发到用户。
本实施例以内容传送网络(CDN)为例。在CDN网络中:管理模块是媒体管理器(Media Manager,简称MM),也是数据发送源。节点是边缘缓存(Edge Cache,简称EC),也是数据接收源。
参考图5至图7,在内容传送网络中,采用高效通用组播协议(PGM)和文件传输协议(FTP)来实现单播和组播的结合:通过高效通用组播来完成对在组播域内的边缘缓存(EC)数据的可靠高速分发,通过FTP协议来完成对于不在组播域内的边缘缓存(EC)进行单播。如图5所示,媒体管理器(MM)首先向网络中的各边缘缓存(EC)发出组播包,探测各边缘缓存(EC)路径上的路由器和边缘缓存(EC)本身是否支持组播协议。若支持组播协议,则向源端媒体管理器反馈组播回应包;否则不反馈任何信息,如图6所示。媒体管理器根据组播回应包确定哪些边缘缓存(EC)在组播域内,可以采用组播来完成分发,哪些边缘缓存(EC)不在组播域内,必须通过单播来完成内容分发。然后,启动一个可靠组播任务和多个FTP的任务来完成内容的分发,如图7所示。在实现可靠组播的过程中,充分的利用了网络的带宽,使内容分发速度达到最优水平。图7中,数据接收源4不在组播域内,则除了数据接收源4采用FTP协议进行单播外,其它的数据接收源采用PGM协议来完成组播。
媒体管理器(MM)对边缘缓存的探测可根据需要,采用自动探测方式,也可由管理者输入命令行方式进行探测。
从上可看出,当媒体管理器(MM)要发送相关内容到边缘缓存(EC)的时候不用关心哪些边缘缓存在组播域内,哪些不在组播域内,而简单启动发送任务就行了。
在广域网中其实现方法与内容传送网相同。且完成内容分发的管理模块可以是一个独立的装置,也可是嵌入式的模块。