微博

QQ

应用于流媒体系统的软件CDN

2003-06-05 上海汉唐科技有限公司 傲行 依马狮网


摘要:
  随着大规模流媒体系统的发展,对CDN的要求越来越强烈,但硬件CDN由于投资规模大,安装不便等原因,无法满足中小型用户。本文介绍了由上海汉唐科技有限公司提出的软件CDN技术的原理和工作流程,并对网络结构和技术特点做了分析,说明了该技术的有效性。
关键词:流媒体系统  CDN  集群服务器

1. 引言
  CDN(Contents Delivery Network,内容分发网络)可简单理解为网络缓存、网络代理。它是一个建立并覆盖在互联网之上的一层特殊网络,专门用于通过互联网高效传递丰富的多媒体内容。它主要用来解决网络数据流量对骨干带宽的消耗,也为了使用户能更快地访问到所需要的网上内容。它的工作方式是将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,从而提高用户访问网站的响应速度。在传统的Internet中,客户端的请求仅仅被直接按照网络地址发送到数据源服务器。而CDN服务提供了一个“服务层”,这个层可以主动将经常被访问的网络内容“推”到与发出请求的用户距离最近的CDN设备,并将每个客户端发出的请求转发到当时对于被请求的网络内容而言最佳的CDN设备上,从而节约了Internet骨干带宽,提升了用户的访问响应速度,提高了用户访问的质量。
  过去,CDN主要提供对网页的加速,随着流媒体的应用越来越广泛,CDN服务提供商开始提供对流媒体的支持。目前,通常的CDN技术都采用硬件解决方案,这种方案投入太大,配置不方便,支持的流媒体格式和协议只有有限几种。本文首先分析了软件CDN的技术原来,然后介绍了软件CDN的工作流程,并分析了由上海汉唐科技有限公司提出的专门用于流媒体系统的软件CDN技术特点,可以看出软件CDN技术应用于流媒体系统时,在扩展性、可管理性和性价比等方面有明显优势。

2. 软件CDN的技术原理
  流媒体的CDN服务主要有两方面的用途:一个是用于处理访问量比较大的网站的日常流量,例如CCTV、省级电信的门户视频点播网站等。另一个用途是用来应付重大事件所产生的爆发流量。企业或单位在做重大活动的网上直播时也会产生爆发网络流量,虽然不像大的媒体网站所产生的网络流量那样巨大,但是还是会超出网站系统的负载能力,这时也需要支持流媒体的CDN服务来缓解。
  假设一个视频点播网站有多台流媒体服务器SMS(Streaming Media Server)同时向终端用户提供点播服务,它们是呈地理分布的。当用户向该网站发出访问请求后,流媒体系统首先进行身份的合法认证,认证通过,由集群管理服务器CMS(Cluster Manager Server)通过智能动态负载均衡技术将用户的请求就近定向到系统的其中一个节点服务器上,即SMS上。节点服务器的高性能则进一步保证了用户的访问能得到更及时可靠的响应,并提供高质量的视频点播服务。
  软件CDN包含三方面的技术:
  1. 代理节点
  代理节点与源站点可以放置在同一处,也可以分布在网络各处,它可以提供视频点播服务,但并不是对源站点的镜像,只是将源站点的一部分热门影片资源暂时存储在本地,实现对用户请求的快速响应。代理节点与源站点之间密切合作,以确保内容的始终是访问频率较高的。
  2. 负载均衡
  根据实际的流量和负荷状况,将用户的请求在不同服务器之间合理分配。这种技术常用于具有大规模视频点播服务器群的数据中心和网站托管中心。
  3. 内容分发

应用于流媒体系统的软件CDN
图1 采用软件CND技术的流媒体点播系统
内容分发根据预先设定好的分发策略,通过检查CMS的访问信息记录来确定如何进行负载均衡,从而可以做到对每个具体页面和对象来确定是由源站点还是代理节点来进行响应,甚至可以具体到是源站点服务器群或代理节点服务器群中的某一台服务器。
  据统计,通常80%的用户在点播20%的热门影片,因此内容分发系统CDS(Contents Delivery System)会动态的将访问频率较高的影片资源从系统的媒体中心分发到各个节点SMS上,CDS可以进行灵活的分发规则设置。

3. 软件CDN的工作流程
  

应用于流媒体系统的软件CDN
图2 一个用户访问采用软件CDN
技术的视频点播网站的完整过程
没有采用CND技术的流媒体系统,在接到用户的点播请求后,仍然可以用集群管理服务器将用户的请求就近定向到系统的其中一个节点SMS上,但由于没有内容分发系统CDS的支持,每个节点SMS必须拥有全部的影片资料,否则会出现媒体无法点播的现象,这对流媒体系统实际要求的硬件配置是一种很大的浪费。图2说明了一个用户访问采用了软件CDN技术的视频点播网站的完整过程。

  下面对每个过程做个简单介绍:
  1. 用户在自己的浏览器中输入要访问的网站的域名或点击链接;
  2. 浏览器向本地DNS (LDNS) 请求对该域名的解析;
  3. 本地DNS将解析请求发到ICP的授权域名服务器;
  4. 用户请求最后到达集群管理服务器CMS;
  5. CMS根据预设策略,选择最佳节点流媒体服务器SMS,并将结果(IP地址)返回本地DNS;
  6. 本地DNS将该SMS的IP地址发给用户;
  7. 用户根据得到的IP地址向最佳节点SMS发出点播请求;
  8. 最佳节点SMS响应用户的请求,并提供相关流媒体点播服务的内容。

4. 软件CDN的网络结构
  在流媒体系统中,软件CDN系统由3个子系统:
  1.集群管理服务器CMS
  CMS是CDN技术实现的基础,当用户访问提供视频点播的网站时,来自前台点播页面的WEB请求,通过域名解析后最终全部提交给CMS负载处理,它通过一组预先定义好的负载均衡策略和IP定向策略,将当时最接近用户的节点SMS地址提供给用户,保证节点的工作效率,使用户得到快速服务,同时由于访问较近的SMS通常被限定在一定区域,极大的减轻了骨干网络的负担。同时,CMS与每个节点的SMS保持着实时的通讯,搜集各节点的运行状态,以保证用户的请求不会被分配到任何一个不可用的节点上。当该SMS无法和CMS通讯时,则CMS不再为该SMS重定向用户请求。
  2.节点流媒体服务器SMS
  SMS是软件CND存在的载体,CND正是通过分布在不同地方的节点SMS为当地用户提供快速响应。对于普通的Internet用户,每个SMS就相当于一个放置在他周围的最近的节点,节点中的流媒体点播服务会像网站的原始服务器一样,响应用户的请求,由于它距离用户更近,因而响应的时间必然更快。
  3.内容分发系统CDS
  CDS是软件CDN的核心,负责媒体资源的集中管理,实现媒体资源在媒体中心和SMS之间的动态分布,主要包括两大功能,分发和删除。其中分发又分为两部分,其一为静态分发,另一为动态分发。
  系统管理员通过设置不同的分发策略,实现灵活的内容分发:
  1)静态策略
  删除影片策略:CDS定期检查系统中各影片的访问的总时长。如果它发现某个节点所管理的影片在某一个时间段,访问的总时长小于管理员设定的时长,则向该节点发送删除请求,节点流媒体服务器把该影片从本机的硬盘删除,同时修改存储空间。
  拷贝影片策略 CDS定期检查系统中新上传的影片,如果有新上传的影片,就让节点流媒体服务器去

上海汉唐科技 CDN

视听科技视频号 广告
发表评论