基于CDN流媒体视频点播网络研究_第1页
基于CDN流媒体视频点播网络研究_第2页
基于CDN流媒体视频点播网络研究_第3页
基于CDN流媒体视频点播网络研究_第4页
基于CDN流媒体视频点播网络研究_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于CDN流媒体视频点播网络研究-1- 基于 CDN流媒体视频点播网络研究 摘 要:先进主流的 CDN网络技术研究,如负载均衡技术、内容分发技术,同时研究主流的流媒体传输技术、内容缓存技术、内容替换技术,并在此基础上完成了 CDN视频点播缓存系统设计,实现了负载均衡并且提高了系统的点播命中率。 关键词:CDN;负载均衡;流媒体;代理服务器;缓存算法;替换算法 1 论文背景 随着网络技术的不断发展,人们对 Internet 内容的访问量以及提供服务的服务器数量也随之飞速增长,网络的应用也趋于多样化,Real Network 公司推出第一个流媒体产品和技术以后,Internet 上各种流媒体新应用

2、迅速涌现,逐渐成为了网络多媒体的首选和主流技术。流媒体的增多使得主流的网络架构不能承担传输大型数据的任务,随之出现了多种解决这一问题的网络模型【1】。 代理服务中的高级形式 CDN(Content Distribution Network 内容分发网络)就是一种建立并覆盖在 Internet 之上、由分布在不同区域的节点服务器群组成的虚拟网络, CDN 可以实现把服务器的内容高效、稳定地发布到离客户端最近的地方。其基本思路就是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳。通过在网络各处放置节点服务器所构成的在现有互联网基础之上的一层智能虚拟网络,CDN

3、系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。因此如何构建一个合理的策略,构造一个合理的网络,更好的响应用户的请求,是本文要讨论的问题之一【2】。在网络构建成功后,我们可以合理的把请求分配给相应的代理服务器,但是用户从代理服务器中获得数据的过程中,又出现一个需要解决的问题。我们要考虑一个缓存策略,可以合理的提高主干网络的利用率,避免单一代理服务器的长时间占用主干网,提高网络利用率。同时代理服务器端还有一个问题就是如何建立一个基于受欢迎度的算法,可以更好的提高预存视频流的命中率。目前较为常见的商业性 CDN 网络

4、有 Akamai、Digital Island 等。最大的商业 CDN Akamai 自己宣称,其占用 Web 流量的 15%。CDN 正日益受到内容提供者和用户的青睐,市场前景较为广阔【3】。 本文主要在中心管理部分及代理服务器部分两个部分讨论论文的框架结构,其中主要包括网络负载解决方案、内容分发方式构建、代理服务器缓存方式。 2 CDN 网络技术研究 本章工作主要研究负载均衡、内容分发、代理服务器的缓存、替换、传输等方面的技术。 2.1 负载均衡 负载均衡主要分为两个部分全局负载均衡 GSLB(Global Server Load Balance)和本地负载均衡 SLB(Server Lo

5、ad Balance)。 全局负载均衡策略解决的就是将用户请求定向到最近的节点,因此全局负载均衡功能就是就进行的判断,这个距离主要从两个方面入手考虑,一个方面是物理位置,另外一个方面-2- 需要考虑的是路由跳数。最简单的办法是利用 PING、TRACEROUTE 来计算通过网络延时情况,网络中的联通情况选择一个比较合适的距离较近的节点作为代理服务器节点。但是这种办法往往不能取得很好的效果,而目前常用的方式为:DNS 轮询、HTTP 重定向、IP 欺骗三种方式【4】。 1) DNS 轮询是传统的方式,多台代理服务器在 DNS 对应同样的域名,当用户访问服务器时,要求 DNS 服务器解析,DNS

6、按照要求按照顺序解析域名,列出其中的一台主机地址,这样可以实现多任务分配到多服务器的任务,提高系统性能。它使用抓们的负载均衡设备代替传统的 DNS 服务器,提供域名解析服务,同时该设备与 CDN 本地节点的负载均衡设备通讯,了解将状况,确保请求不分配到忙碌节点。 2) HTTP 重定向方案是全局负载交换机的 HTTP 重定向技术,将用户访问请求定向到最优服务器,然后返回一个 HTTP 重定向指令同时发送主机地址给用户,让用户可以重新进行访问请求。 3) HTTP 重定向适用范围有限,IP 欺骗可以作为补充方案解决这个问题,他要在 DNS服务器中将网站对应的解析记录指向全局负载交换机的 IP 地

7、址,然后全局负载交换机与所有的用户进行通信,获取最佳的网络负载节点,然后负载交换机把全局负载交换机获得的用户请求发送给本地负载交换机,本题负载交换机获取本地服务器的响应数据包,把它的 IP 字段进行修改为全局服务器 IP,发送给用户。这个方式的缺点就是响应速度稍差。 本地负载均衡有多种实现方式,其中一种就是利用交换机,节点放在交换机后,用户请求导向交换机,交换机根据健康性和负载情况将用户请求分配到指定节点。 同时也可以利用一些软件对用户的负载进行计算,利用重定向技术完成这个本地定位任务,利用 SLB 接受用户的请求后进行通过健康性和负载水平评估得到一个评价结果完成定向任务。可以利用代理服务器端

8、的 SLB 当用户请求到来时通知每一个用户端的下载一个测试从边缘服务器,同时主服务器 GSLB 记录完成这一任务的时间,这样可以很好的探测出主服务器 到代理服务器的距离,同时生成最有点的链接【5】。 2.2 内容分发 内容分发系统的目标是把原始服务器上的文档数据分发到各边缘服务器。 内容分发系统有三种操作形式:协作式 PUSH、非协作式 PULL 和协作式 PULL。 协作式 PUSH:主要是由主服务器组播到各个代理服务器,边缘服务器和原始服务器互相协作,减少内容复制和更新的代价。CDN 维护一张文档内容和边缘服务器之间的映射表,用户的请求要么定向到离该用户最近的边缘服务器要么定向到原始服务器

9、。 非协作式 PULL:简单的说就是用户提交请求到代理服务器,代理服务器判断是否包含请求信息,如果没有则代理服务器访问源服务器,把内容下载下来。该方法的缺点是所选择的边缘服务器可能不是最优的,代理服务器和主服务器交互的过程也会造成主干网络的带宽被占用,所以这种方式在一定程度上没有完全解决网络上的带宽问题。 协作式 PULL:其基本思想与上面是一样的,但是不是到源服务器上下载文本而是到兄弟节点上下载信息,用户请求通过 DNS 重定向被发送到最近的边缘服务器,该边缘服务器通过检索分布式索引,从最近的其他边缘服务器下载数据,并在本地保存副本。在这种方式下只有被用户请求过的文档数据才有可能保存到相应的

10、边缘服务器上。它在一定程度上是一个与 p2p 结合的技术,在内容分发过程中利用了相邻的网络代理服务器充分的完成了就近访/. -3- 中国科技论文在线问的原则,实现了资源利用的最大化,同时避免了主干网络阻塞提高了系统响应速度。 2.3 缓存代理服务器 作为边缘的缓存代理服务器,所要完成的任务主要是内容的缓存策略、用户和代理服务器的内容分发策略、内容的传输方式、内容的替换策略。 内容的传输采用 RTP/RTCP 来进行应用层传输,通过 UDP 进行传输层的传输,对于RTSP 应用 TCP 做底层传输,保证连接性。 分发策略大多采用单播后缀和多播的方式或者它们结合的方式。 下面主要

11、从缓存策略及替换策略方面来评价现有的策略,缓存一般有整体缓存、分段缓存、前缀缓存三种;替换策略,常用的是基于最近访问和访问频率,或者综合考虑这两个因素,选择替换策略【2】。 2.3.1 完全缓存 将整个流媒体节目在代理上缓存是一种比较简单的处理方法。根据资源的访问状况,其实大约 80%的用户只反映了 20%的资源,因此只保存访问频率较大的文件,这样可以较高的提高访问效率,并且既解决了启动延时,又解决了主干网络带宽问题。替换时进行整体替换,这样的缓存及替换方法存在下面的问题。 1. 系统的开销过大,需要较大的空间完成完整缓存。 2. 用户访问只有在完全完成时才能替换,大大的浪费了系统空间,同时也

12、造成了缓存时机被错过。 3. 对代理服务器系统来说,缓存系统 I/O 处理性能要求很高,大量并发访问容易出现I/O 瓶颈。 2.3.2 前缀缓存 媒体节目划分成前缀(Prefix)部分和后缀(Suffix)部分的一种缓存策略。 前缀缓存策略并不缓存整个流对象,而只缓存了该流的开始部分,即前缀数据。当用户请求到达时,前缀数据进行服务,某个时刻后从源流媒体服务器读取后缀数据。这就达到了既不需要缓存整个流,又可有效降低启动时延的目的。 前缀算法是一个基于顺序播放的算法,当用户带有倾向性的点播时,这一算法的问题就会显现出来,当用户访问跳过前缀时,其访问效果与直接访问服务器相近,这样就会增加带宽,虽然针

13、对这一问题,提出了一些解决办法,但是都不能从根本上解决这个问题。 2.3.3 分段缓存 下面主要研究两种常用的分段技术:指数分段和均匀滞后分段。 1. 指数分段【6】 对于一个节目的不同部分,用户需求不同。大部分用户对节目前面部分的兴趣高于后面部分。这样,如果用户刚开始收看节目,该用户停止收看的概率较大。相对的,如果用户已经看完了节目的一半,该用户停止收看的概率就会较小。这意味着收看时间越长,代理服务器向源流媒体服务器存取后缀数据的概率就越大,因此可以一次请求更多的数据。 针对这一特点,提出了指数分段方式,分段大小和其到初始位置的距离成正比,假设第i 段,其长度为2 1i ? ,如图 2 所示

14、: 指数划分方法如图 2-1 所示: /. -4- 中国科技论文在线 图 2-1 指数分段缓存示意图 它的特点是在释放掉较大段落的同时,较多的缓存考前段落的信息,由于这些信息点播次数更多因而命中率较高,同时因为其缓存了前缀部分因此在降低实验方面效果也比较明显。但是由于大块部分没有被缓存,一旦用户要进行完全访问时,前缀较小一般不足够缓存所有的信息,会造成中断,这时命中率也因此受到影响。 2. 均匀滞后分段【7】 适应滞后分段缓存(Adaptive&Lazy)和指数分段不同,指数分段是事先确定的不等长分段缓存方式,而自适应之后缓存是在视频文件访问完成后才能进行分段。所有的

15、视频文件在没有被完全访问时被整体缓存,在一个对象被整体访问后根据访问情况对其进行分段,依靠逐出算法选出逐出段落。因此它具有较高的适应性,对于不同的对象访问,所得到的分段信息是不同的,因而每个对象更加具有独立性,使得缓存更加灵活。 1) 准入策略【4】 一个对象在没有被完全访问时被完全缓存,当其被完全访问时确定分段大小,其中每一个分段的大小为平均访问长度为总的访问长度与访问次数的商。系统完成一次完全访问时所访问的总长度和总次数的比,是根据具体情况不同而不同的。 当一个对象的平均缓存长度增长时,考虑缓存下一个未存段落。 1/ 2( 1)avg s dL n L + (1) 用户选择缓存下一个段落的

16、信息 avgL 是用户的平均访问长度, sn 用户缓存的段落数量,dL 初始段落确定是缓存段落的平均长度。其中初始情况下 avgL = dL = sumL /n 其中 n 表示总的访问次数。 2) 替换公式 逐出段落的选择以下面的逐出公式确定: 11 1( ) /min1, sum rr cL T T nT T T T? ? 其中 sumL 为访问总长度, rT 为最后访问时间, 1T 为初始访问时间, cT 当前时间,n 为访问总次数。 分段算法既按照流行状况,缓存了流行度较高的开头的大部分,不是所有文件开头的大部分,因此节省了空间,并同时降低了启动时延。多文件之间选择时,又保证了较高的命中

17、效率。此外,在一个文件内部,较好地分块方式能有效地提高访问的命中效率,避免了多个可利用有限的网络带宽,分时传送视频数据,解决了碰撞问题。 /. -5- 中国科技论文在线3 CDN 视频点播系统框架设计 本章在前面的研究基础上利用现有的负载均衡、内容分发、代理缓存、缓存替换等多种技术,合理构建 CDN 网络体系结构,完成整体及各个模块的框架设计。 3.1 框架综述 CDN 网络加速是一种传统的网络加速技术,它的内部结构中主要考虑三个方面,负载均衡技术一般有路由控制模块完成;容分发模块重要完成名优命中时刻从源服务器获得信息的方式;最后是缓存服务器模块,主要是完成用户和代理的交互及

18、内容缓存。 从技术角度讲,CDN 由许多分布在因特网上的缓存服务器组成,这些缓存服务器向用户提供内容和服务,其上缓存 ICP 发布的服务和内容。最重要的问题是如何在覆盖网络中进行用户请求的重定向以实现负载平衡。当接收到一个用户请求时,如何为其选择一个合适的缓存服务器取决于多个因素,主要包括:网络上的距离(主要是由路由选择决定)、物理上的距离、响应时间、服务器负载等。 用户访问的基本流程如下: 1) 用户在自己的浏览器中输入要访问的网站的域名; 2) 浏览器向本地 DNS 请求对该域名的解析; 3) 本地 DNS 将请求发到网站的主 DNS,主 DNS 再将域名解析请求转发到重定向 DNS; 4

19、) 重定向 DNS 根据一系列的策略确定当时最适当的 CDN 节点,并将解析的结果 IP 地址发给用户; 5) 用户向给定的 CDN 节点请求相应网站的内容; 6) CDN 节点中的服务器负责响应用户的请求提供所需的内容。 整体的架构如下: 图 3-1 CDN 系统框架结构 3.2 路由选择模块 路由请求系统主要完成的任务就是路由转发和负载均衡,对于负载均衡的路由控制模块主要的功能实现如下: /. -6- 中国科技论文在线1. 通过 TCP 握手获得这个用户的地址信息,然后通过查询看该地址所在的网段存不存在代理,存在可直接访问。 2. 如 1 中不存在,可以查询动态路径表查询

20、最近的代理节点进行连接。 3. 如还不存在,GSLB 把含探测报文的程序发送给用户,并通知用户到预选的代理服务器下载测试对象,并记录下载时间,并把度量值发送给 GSLB。 4. GSLB 根据策略选择最优的服务器,并进行重定向到最有代理服务器完成传输。 物理连接方式如下图所示: 图 3-2 CDN 物理连接 3.3 内容分发模块 内容分发模块通过查询待传数据所在的服务器来确定,是否选择主服务器进行数据传输,工作分为两部分: 1. 代理服务器在命中请求时,开始播放,当播放时间超过一定长度时,需要传输后续数据,后续数据的访问需要通过分发模块。 2. 代理先访问 SLB 获取源服务器或者其他的代理服

21、务器,根据就近原则选择最优的进行信息交换,其连接方式如物理连接图中所示,当相邻代理服务器上面有相同数据时完成就近传输。 3. 形成如上图的一个局部 P2P 的分发网络结构。 3.4 代理服务器 代理服务器主要包含模块如下: /. -7- 中国科技论文在线 图 3-3 代理服务器系统框架 代理服务器工作原理如下图所示: 1) 源服务器:提供数据给代理服务器,响应代理服务器的请求,根据内容分法系统把内容复制的给代理服务器。 2) 代理服务器:从内容分发系统获取服务器内容信息,缓存内容方式根据文件的访问情况计算平均分段长度,进行存储,把高流行度的媒体文件或其段落存储在代理服务器端,

22、提高多个文件存储能力。与源服务器交互,当没有命中时获取源服务器上的媒体信息,同时根据逐出算法逐出本服务器中不流行的段落信息,与客户端交互传送数据给客户端。 3) 代理服务器链接的 SLB 把请求分配给代理服务器后代理服务器,通过访问的进行节目评估模块根据滞后分段算法评估每个文件,选择最流行的进行存储,根据滞后分段的替换算法,选择流行指数最小的段落进行逐出。 4) RTP/RTCP和 RTSP 模块所进行的工作主要是在确定链接位置后完成具体的内容传输工作以及传输控制工作,使得用户、代理、服务器可以准确传输。 4 结论 上面提出的 CDN 网络框架结构合理的构成了一个完整的网络体系,在实现方面有较

23、强的操作性,基于全局的负载均衡技术可以有效的提高整个网络的请求合理分配,同时利用了较好的缓存策略与替换策略实现了较高的命中率与访问的启动时延,在保证不操作用户端的基础上大大的提高了系统的兼容性和后续的扩充性。 /. -8- 中国科技论文在线参考文献 1 雄大红 CDN 中基于内容的代理服务器放置策略 2 王琦 吉逸 基于代理服务器前缀缓存的 VOD 系统设计和协议研究,计算机工程和设 计,Vol.26,No.11,2005.11 3 王薇薇 李子木 基于 CDN 的流媒体分发技术研究综述,计算机工程与应用 2004.8 4 杨明川 CDN 中的负载均衡技术信息网络,2003.11 5 姜文颖 CDN 网络中几种负载均衡实现技术的探讨中国数据通信,2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论