一种适用于视频服务的缓存服务器部署方法

文档序号:7934459阅读:413来源:国知局
专利名称:一种适用于视频服务的缓存服务器部署方法
技术领域
本发明涉及计算机网络通信领域,具体涉及一种适用于实时通讯的视频网络服务器设计和实现。
背景技术
随着计算机网络迅速发展,计算机领域已经发生了很大的变革,计算不在局限于单台计算机,存储不再受限于硬盘的大小,人们从网上获取的信息也不再满足于文字、图片、新闻等静态信息。过去几十年间,人们利用计算机主要是本机处理或者是局域网处理, 随着网络技术和计算机硬件要求的不断提升,它也在各方面服务人们的生活。网络的迅速发展使得视频点播成为一种可能,它作为一种新型的娱乐方式服务于更多群体,让更多的消费群体能够共享提供者的作品。尤其是最近几年,视频点播发展的如火如荼,悠视、 PPlive、酷6、土豆等视频网站和一些⑶N代理商为门户网站提供的服务,它们迅速成长起来,并被广大用户群体所接收,可见视频服务领域作为一种新型网络产业有着旺盛的生命力和广阔的发展前景。然而,由于网络应用的不断加大以及INTERNET分布形式和用户的分布无规则性, 势必会导致源站点服务器的负载增加和客户端浏览不顺畅,用户不能容忍响应时间很长和蜗牛般的访问速度。为了能有效缓解源站点服务器的负载压力,提高客户端的浏览质量,缓存代理(proxy cache)就成为一种优先选择,如何使缓存代理更好服务视频应用成了需要解决的工作。

发明内容
本发明的目的是提供一种适用于视频服务的缓存服务器部署方法。本发明的目的是按以下方式实现的,视频客户端通过访问更近的缓存代理服务器,达到共享远程源站点服务器上的视频的作用,缓存服务器能分担、减少源站点的访问压力,更近的缓存服务器能为客户端提供更有质量的视频服务,步骤如下
缓存代理服务器上,在AUFS文件存储模式下,缓存代理在缓存目录下创建二级子目录树,用Ll和L2分别表示第一级目录和第二级子目录,在顶级CaChe_dir目录下创建一定数量的Li,在每个Ll下创建一定数量的L2,Ll下不直接存放视频文件,L2下存放的才是真正的视频文件,视频文件用A代替,大小平均1-2M,每个L2下存储的文件数量,用N表示, 则整个系统存放文件的数量的关系式为siZe=Ll*L2*N*A,SIZE单位为MB,为了减少检索的时间,深度搜索的目录不易太多,也就是L2下面的文件数量不易太多,控制在100个文件左右,Ll和L2的设置,对缓存代理性能有很大影响,理论研究L2比Ll大,这样能保证在同一级目录下搜索到更多的相关文件,而不用重新搜索上级目录; 正常使用缓存代理,首先适当修改内核,具体涉及操作系统内核是RHEL 4 AS4 ; 关于文件描述符的有 /proc/sys/fs/file-max 8192_>1006154 FD_SETSIZE涉及下面几个文件 /usr/include/linux /typesize. h /usr/include/linux/bits FD_SETSIZE /usr/include/linux/posix_types. h ulimit -Hn 1006154
在编译缓存代理的过程中,查看修改信息Maximum number of file descriptors we can open. . . 65536
关于防止网络拥塞的有
/prco/sys/net/ipv4/neigh/default gc_threshl、gc_thresh2、gc_thresh3 将值分别扩大8倍分别修改为1024,5120,10240 ;
/Prco/sys/net/ipv4, ip_forward 0 修改为 1,即运行前监测; /etc/security/limit, conf 将 * — nofile 65536 或更大的 1006154 加入; 以上参数均在编译squid之前修改才有用;
为了能在缓存服务器中使用AUFS,需要在编译的时候,将AUFS的相关参数进行编译, 具体如
1)使得一enable-storeio包含AUFS存储格式,默认只有ufs;
2)选中一enable-印oil,能有效的支持10访问;
3)根据磁盘的数量,有效的配置异步10的参数量一enable-async-io
4)启动大文件参数一with-large-files
5)设置系统的线程数一With-threads=N
6)将系统支持的最大文件描述符数量设置大些--with-maXfd=32768;
选择多硬盘的服务器,目前IU的服务器最多只能挂载4硬盘,除去系统盘,还只能有3块用作缓存代理,而使用2U服务器,能够使用作缓存代理的硬盘位达到7块,对于娱乐应用的服务器,重要的是访问,响应速度,因此系统存储端采用不作RAID方式,以保证访问读写速度;
编译完成以后,需要在缓存代理配置文件中根据磁盘数配置主要的文件缓存目录 cache_dir aufs /ccl 500000 32 512 设置一个缓存目录的存储模式为aufs,目录名称为ccl,也就是磁盘的挂载点,整个目录的大小为500000M (500G); cache_dir aufs /cc2 500000 32 512
配置有效的用户和用户组 cache—effective—user squid cache—effective—group squid
增加缓存代理服务器的内存,缓存代理用到的数据都是经过后端硬盘,而访问硬盘会需要很多时钟周期,将系统内存分配给缓存代理使用,将大部分读写直接在内存上完成,能使数据的读写能力大大的提高,分配整个系统1/3左右的内存资源作为cachejiiem使用,会使得缓存代理与系统性能发挥的更佳;缓存代理关心的几个重要指标分别是命中率,响应时间,吞吐量,测试结果表明
1 )aufs相对于Ufs和diskd存储模式,响应时间上,缩短50%以上;吞吐量却提高1倍以上;命中率也提高很多;
2)4磁盘的aufs比2磁盘的aufs在响应时间和吞吐量上都有很大提高;
3)适量的内存作为缓存使用,不管哪种存储模式,各项指标都有很大提高。本发明的有益效果是
1、大量部署缓存服务器,选择后端存储模式,现在支持的存储模式有ufs、diskd、aufs、 coss,根据视频缓存文件的特点,选择一种适用于大文件的存储模式。2、根据应用的特点,缓存服务器需要满足视频应用的性能要求吞吐量相当大,客户端分布广泛,负载很大,响应时间需要很短,视频数据流流畅,数据的正确性的重要性其次。3、增加服务器的I/O处理能力。选择多磁盘服务器,能够提供性能更优的缓存代理功能。多个磁盘取代2磁盘的服务器,实际上增加系统的I/O能力。在传输大文件的过程中,能大大缩小访问时间。4、调整系统的各项参数使得系统的硬件能发挥更大作用,缓存代理也能在现有资源上发挥最大的作用。具体包括(1)内核文件描述最大数;(2)网络的阻塞开放数量;(3) 缓存代理的异步I/O数量;(4)用作缓存代理的内存使用比率。针对视频点播方面的缓存服务器,采用将硬盘设计成多盘位,适当的内存作缓存, 多核而不是高频CPU,缓存代理采用新的、稳定版本。提供一套软硬件结合的缓存代理方案, 能够很好的应用于视频等流媒体应用上,稍作修改,可以应用于其他的缓存代理方面,如大型门户网站缓存代理上。


附图1缓存代理服务器网络结构图; 附图2文件存储模式。
具体实施例方式参照说明书附图对本发明的方法作以下详细地说明。缓存代理中,用户的访问实体被成为对象,对象包括文本,图片,下载文件,网页连接和其他信息,从大小上分,可分为大文件和小文件,网络访问的对象大小平均MK,而视频文件的平均大小有2M,因此,缓存服务器中,视频作为大文件看待,基于缓存服务器的后端文件系统目前有UFS ,DISKD、AUFS、C0SS,基于小文件的缓存代理跟大文件的缓存代理设计和实现方式又不一样。本文提供一种基于大文件的缓存代理方式,并提供测试对比。1)缓存代理服务器上运行的缓存代理服务是squid。通过squid,它一方面将源站点的视频文件同步到缓存服务器proxy上,另一方面对客户端提供视频服务。缓存代理服务器的系统结构如图1所示。2) UFS是一种传统的imix文件系统,也能适用于一般轻量的squid应用中。但是存在一个致命缺点就是性能非常有限,读写能力和cache命中率都非常低。DISKD文件系统是在UFS上改进的一种系统,效率提升有限。COSS文件系统目前还是一种实验型的文件系统,容易丢失数据,不能很好的支持从磁盘数重建据;还有就是它是针对小文件读写的一种文件系统。不适合部署到视频等大文件缓存服务器上。3)AUFS以异步I/O方式实现传统unix filesystem的存储机制,与传统的存储机制相比,它使用大量线程进行磁盘I/O操作,AUFS在多CPU核系统上优势更明显。它唯一的锁操作发生在请求和结果队列。然而,所有其他的函数执行都是独立的。当主进程在一个CPU上执行时,其他的CPU处理实际的I/O系统调用。AUFS充分利用服务器上的CPU资源。AUFS文件在缓存服务器上的存储方式如图2所示。4) 针对于视频等大文件服务,打开文件和寻道seek时间占整个文件下载的时间的比例相对于小文件来说要小得多,下载文件的时间占整个访问的绝大部分。而适用于小文件存储的COSS后端存储模式在这方面就比AUFS性能差,AUFS的优势在于使用大量的线程,进行磁盘I/O操作,充分发挥线程的优势,对大文件进行同时下载。AUFS对所有的 cache_dir使用一个大的线程池,每次squid需要读写,打开、关闭,删除cache文件时,I/ 0请求被分派到这些线程之一。Cache_dirs和AUFS启动的线程的对应关系是更好的应用 AUFS的一个重要因素。下表是它们的对应关系
权利要求
1. 一种适用于视频服务的缓存服务器部署方法,其特征在于视频客户端通过访问更近的缓存代理服务器,达到共享远程源站点服务器上的视频的作用,缓存服务器能分担、 减少源站点的访问压力,更近的缓存服务器能为客户端提供更有质量的视频服务,步骤如下缓存代理服务器上,在AUFS文件存储模式下,缓存代理在缓存目录下创建二级子目录树,用Ll和L2分别表示第一级目录和第二级子目录,在顶级CaChe_dir目录下创建一定数量的Li,在每个Ll下创建一定数量的L2,Ll下不直接存放视频文件,L2下存放的才是真正的视频文件,视频文件用A代替,大小平均1-2M,每个L2下存储的文件数量,用N表示, 则整个系统存放文件的数量的关系式为siZe=Ll*L2*N*A,SIZE单位为MB,为了减少检索的时间,深度搜索的目录不易太多,也就是L2下面的文件数量不易太多,控制在100个文件左右,Ll和L2的设置,对缓存代理性能有很大影响,理论研究L2比Ll大,这样能保证在同一级目录下搜索到更多的相关文件,而不用重新搜索上级目录; 正常使用缓存代理,首先适当修改内核,具体涉及 操作系统内核是RHEL 4 AS4 ; 关于文件描述符的有 /proc/sys/fs/file-max 8192_>1006154 FD_SETSIZE涉及下面几个文件 /usr/include/linux /typesize. h /usr/include/linux/bits FD_SETSIZE /usr/include/linux/posix_types. h ulimit -Hn 1006154在编译缓存代理的过程中,查看修改信息Maximum number of file descriptors we can open. . . 65536关于防止网络拥塞的有/prco/sys/net/ipv4/neigh/default gc_threshl、gc_thresh2、gc_thresh3 将值分别扩大8倍分别修改为1024,5120,10240 ;/Prco/sys/net/ipv4, ip_forward 0 修改为 1,即运行前监测; /etc/security/limit, conf 将 * — nofile 65536 或更大的 1006154 加入; 以上参数均在编译squid之前修改才有用;为了能在缓存服务器中使用AUFS,需要在编译的时候,将AUFS的相关参数进行编译, 具体如1)使得一enable-storeio包含AUFS存储格式,默认只有ufs;2)选中一enable-印oil,能有效的支持10访问;3)根据磁盘的数量,有效的配置异步10的参数量一enable-async-io4)启动大文件参数一with-large-files5)设置系统的线程数一With-threads=N6)将系统支持的最大文件描述符数量设置大些--with-maXfd=32768;选择多硬盘的服务器,目前IU的服务器最多只能挂载4硬盘,除去系统盘,还只能有3块用作缓存代理,而使用2U服务器,能够使用作缓存代理的硬盘位达到7块,对于娱乐应用的服务器,重要的是访问,响应速度,因此系统存储端采用不作RAID方式,以保证访问读写速度;编译完成以后,需要在缓存代理配置文件中根据磁盘数配置主要的文件缓存目录 cache_dir aufs /ccl 500000 32 512 设置一个缓存目录的存储模式为aufs, 目录名称为ccl,也就是磁盘的挂载点,整个目录的大小为500000M (500G); cache_dir aufs /cc2 500000 32 512配置有效的用户和用户组 cache—effective—user squid cache—effective—group squid增加缓存代理服务器的内存,缓存代理用到的数据都是经过后端硬盘,而访问硬盘会需要很多时钟周期,将系统内存分配给缓存代理使用,将大部分读写直接在内存上完成,能使数据的读写能力大大的提高,分配整个系统1/3左右的内存资源作为cachejiiem使用,会使得缓存代理与系统性能发挥的更佳;缓存代理关心的几个重要指标分别是命中率,响应时间,吞吐量,测试结果表明[1 )aufs相对于Ufs和diskd存储模式,响应时间上,缩短50%以上;吞吐量却提高1倍以上;命中率也提高很多;[2)4磁盘的aufs比2磁盘的aufs在响应时间和吞吐量上都有很大提高;[3)适量的内存作为缓存使用,不管哪种存储模式,各项指标都有很大提高。
全文摘要
本发明提供一种适用于视频服务的缓存服务器部署方法,视频客户端通过访问更近的缓存代理服务器,达到共享远程源站点服务器上的视频的作用,缓存服务器能分担、减少源站点的访问压力,更近的缓存服务器能为客户端提供更有质量的视频服务,针对视频点播方面的缓存服务器,采用将硬盘设计成多盘位,适当的内存作缓存,多核而不是高频CPU,缓存代理采用新的、稳定版本,提供一套软硬件结合的缓存代理方案,能够很好的应用于视频等流媒体应用上,稍作修改,可以应用于其他的缓存代理方面,如大型门户网站缓存代理上。
文档编号H04N21/231GK102355596SQ20111030558
公开日2012年2月15日 申请日期2011年10月11日 优先权日2011年10月11日
发明者李开君 申请人:浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1