【转载】视频CDN技术原理与流程说明
视频CDN专为移动互联网视频内容分发量身定做的一套自主研发的分布式平台,该平台以深圳为中心,分布在全国各地BGP机房的服务器为边缘节点,汇聚中国电信、中国联通、中国移动、中国教育网等运营商网络资源,构建一个全国性的全网覆盖网络,将视频内容缓存或镜像到这些节点边缘服务器上,为不同地域的不同用户提供视频内容加速服务。实现就近访问,从而加速访问速度,提升用户的访问体验,并可以避免源站因访问量过大而造成的服务器负载过量与带宽资源不足等问题,解决网络拥塞,提高用户访问网站的响应速度,有效保证用户体验。
使用CDN后的http请求处理流程如下图:
节点缓存:组合多个JavaScript/CSS文件成为一个请求,从而减少请求数目(Lua)
以云宙多媒体技术有限公司的视频CDN产品为例对其技术架构及工作流程进行说明如下:
基于媒体内容和实时流媒体节目的地域性特点,不同于一般CDN,云宙视频CDN采用分布式多源架构,它允许位于不同地理位置的边缘分节点可以单独发布自己的媒体内容和实时节目,即各边缘节点在某种程度上也可作为源站,同时也可以将这些内容和节目分发到位于其他各地的分节点,因此每一个节点既可以作为系统中心源站存在,同时也可以实现边缘节点的功能。而源站也可作为边缘节点,来接受用户视频内容的快速响应服务,对于普通的Internet用户来讲,每个CDN边缘节点就相当于一个放置在它周围的Web网站,通过负载均衡系统的控制,用户的请求被透明地指向距离用户最近,网络状态最优的节点,节点中的WebServer服务器会像网站的原始服务器一样,可快速响应用户的请求。
网站站点/应用加速:
用户可以预定义内容分发的规则,对上传的内容添加权限及优先级,内容上传后,可选择将优先级高的热点内容预先全镜像同步部署到其他节点,优先级低的可先不进行同步,仅保存在本地源站,系统建立全局性的内容检索查询索引,一旦有用户访问,系统通过对应用层访问请求的智能判断,按照真实用户所处的实际地理位置,所属运营商,以及遍布全网的节点健康状态、网络流量、负载状况以及到用户的距离等信息,根据多种优化策略,通过网络的动态内容分配和全局负载均衡,将用户请求重定向到距离用户最近且健康可用的节点缓存服务器上,使用户可以就近取得所需的内容,如本节点不存在所需内容,系统将自动启动内容检索功能,回源实时获取所需的内容源提供给用户。
利用云宙多媒体的视频CDN网络,网络内容提供商无需投资昂贵的各类服务器、设立分站点,其基础视频服务,拥有海量存储与分发能力,能够帮助视频网站节省流量。特别是对于视频流媒体信息、远程教学课件等消耗带宽资源多的网络应用服务,使用CDN技术把内容复制到网络的最边缘,使内容请求点和交付点之间的距离缩至最小,对于促进Web站点性能的提高具有重要的意义。网站使用CDN后,即由CDN服务提供商负责信息的传递,保证信息的传输,而网站只需要内容维护,不再需要考虑带宽服务器问题。CDN能够为网络的快速、安全、稳定、可扩展性等方面提供保障。
视音频点播/大文件下载分发加速:
目前云宙视频CDN网络体系,可提供对视频内容的点播加速、直播加速、网站内容的缓存加速、镜像部署等服务。云宙公司的万视无忧视频托管平台依靠公司自主研发的强大的视频CDN产品,打破了由传统CDN设备厂商提供的加速解决方案的技术模式,开创了符合中国互联网/移动互联网情况的CDN技术,可以消除视频内容客户巨大的基础投资及研发与运维投入,同时使视频内容分发的效果在异构网络中都能达到专业级的流畅度与表现力。有效降低了运营成本,适应了中国国情的复杂的网络环境。根据客户需求,提供高性能的互联网及移动互联网视频云服务,使客户只需要最低的成本投入,即能享受到广播级的视听内容。
云宙视频CDN主要由五部分组成:全局智能解析系统、负载均衡调度系统、内容路由同步系统、分布式存储管理系统、后台管理系统等。
云宙视频CDN技术架构如下图所示:
云宙视频CDN的服务流程:
当终端用户访问流媒体视频内容时,首先通过负载均衡系统确定最接近用户的最佳边缘节点,同时将终端用户的请求指向该节点。当终端用户的请求到达指定节点时,边缘节点服务器负责将请求的内容提供给终端用户。
终端用户访问的基本服务流程如下:
1、终端用户通过域名访问网站指定的视频内容,用户请求将由本地DNS最终交给云宙视频CDN负载均衡系统进行处理;
2、负载均衡系统智能判断访问用户所处地理区域及所属运营商,并搜集相关节点的负载及健康状态,返回最优及离用户最近的网络边缘节点IP 给用户;
3、终端用户根据返回的IP地址发送媒体请求到相应的网络边缘节点去请求内容;
4、网络边缘节点接收客户请求,根据节点内各设备的实际能力、负载状况等因素选择合适的服务器设备给客户提供服务;
5、如果本地边缘节点存在用户请求的内容,则直接将用户请求媒体内容发往最终用户。
6、如果本地边缘节点不存在用户请求的内容,则查找相应节目列表数据库,找出存有目标内容的最佳节点;
7、边缘节点将用户请求重定向到存有目标内容的节点,由该节点完成对用 户请求的应答服务;
8、本地边缘节点启动对目标内容的拉取功能,将目标内容从重定向节点上同步过来,以供后续用户的就近访问;
转载:https://www.oschina.net/question/328302_146681
【转载】视频CDN技术原理与流程说明的更多相关文章
- 转载:P2P技术原理及应用(1)
转帖allen303allen的空间 作 者:金海 廖小飞 摘要:对等网络(P2P)有3种主要的组织结构:分布式哈希表(DHT)结构.树形结构.网状结构.P2P技术已 经延伸到几乎所有的网络应用领域, ...
- 转载:P2P技术原理及应用(2)
转载allen303allen的空间 在Gnutella网络中存在以下问题: 冗余消息多,对带宽的消耗存在一定的浪费.Gnutella网络协议采用泛洪式(Flooding)消息传播机制,这种消息传播机 ...
- CDN技术原理
要了解CDN的实现原理,首先让我们来回顾一下网站传统的访问过程,以便理解其与CDN访问方式之间的差别: 由上图可见,传统的网站访问过程为: 1. 用户在浏览器中输入要访问的域名: 2. 浏览器向域名解 ...
- 深度剖析:CDN内容分发网络技术原理--转载
1.前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加,用户数量也在不断增加,受Web服务器的负荷和传输距离等因 ...
- CDN技术详解及实现原理
CDN技术详解 一本好的入门书是带你进入陌生领域的明灯,<CDN技术详解>绝对是带你进入CDN行业的那盏最亮的明灯.因此,虽然只是纯粹的重点抄录,我也要把<CDN技术详解>的精 ...
- CDN(内容分发网络)技术原理
1. 前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加, 用户数量也在不断增加,受Web服务器的负荷和传输距离 ...
- CDN(Content Delivery Network)技术原理概要
简介 CDN(Content Delivery Network)即内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡.内容分发.调度等功能,使用户就近获取所需内容,提高用户访问响应速度和 ...
- [转]CDN(内容分发网络)技术原理
1. 前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加, 用户数量也在不断增加,受Web服务器的负荷和传输距离 ...
- 一文带你弄懂 CDN 技术的原理
对于 CDN 这个东西,相信大家都有耳闻,感觉既陌生但又熟悉.最近深入了解了一下 CDN,这才发现原来 CDN 如此重要!今天就跟大家科普一下 CDN 是什么,以及为啥要有 CDN,最后再讲一下 CD ...
随机推荐
- Redis介绍及Jedis基础操作
1.Redis简介 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库.缓存和消息中间件. 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes ...
- OPENSTACK重装系统失败导致虚拟机状态为error
重装系统失败导致虚拟机状态为error DASHBOARD查看虚拟机状态: 查看日志: 磁盘不足导致下载新镜像失败. Virsh list -all 无法发现虚拟机,底层盘消失(因为重装系统时nova ...
- 软件测试_APP测试_兼容性测试
APP的兼容测试主要就是测试APP的安装.启动.运行.卸载测试,以及安装时间 .启动时间.CPU占用.内存占用.流量耗用.电量耗用等性能上的测试. 兼容性测试点: 一.内部兼容性: 1.与本地和其他主 ...
- Unity导入模型出现 (Avatar Rig Configuration mis-match. Bone length in configuration does not match position in animation)?
昨天遇到这两个模型导入的问题,查了一下资料,自己摸索了一下解决方法..总结一下~ 出现的原因:(问题1)Warning 当模型文件导入以后并且设置Animation Type是Generic的时候,动 ...
- Shell 基础 -- 总结几种括号、引号的用法
Shell 脚本中经常需要用到一些括号.引号表达式,功能各不相同,本文详细介绍一下. 1.双引号 " " 双引号常用于包含一组字符串,在双引号中,除了 "$". ...
- 开源一个最近写的spring与mongodb结合的demo(spring-mongodb-demo)
由于工作需要,给同事们分享了一下mongodb的使用,其中主要就是做了一个spring-data+mongodb的小例子,本着分享的精神,就上传到了github.com上,有需要的同学请移步githu ...
- Android开发环境(发展演变)
初步接触android,要安装android开发工具时是使用eclipse,这是因为百度靠前的搜索项是eclipse来开 发android,而且那时还不知道android studio. 首先是下载配 ...
- style和getComputedStyle(ff)和currentStyle
obj.style:这个方法只能JS只能获取写在html标签中的写在style属性中的值(style=”…”),而无法获取定义在<style type="text/css"& ...
- tp5+layui 实现上传大文件
前言: 之前所写的文件上传类通常进行考虑的是文件的类型.大小是否符合要求条件.当上传大文件时就要考虑到php的配置和服务器的配置问题.之前简单的觉得只要将php.ini中的表单上传的 大小,单脚本执行 ...
- Xdebug原理
前言: 前面一篇博文记录了Xdebug的安装配置.配置使用起来相对简单易懂,那么Xdebug的实现原理又是如何呢?所以就找了些资料来理解下其中的原理. 内容: Xdebug工作原理 1,IDE(如Ph ...