【转载】视频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 ...
随机推荐
- let和const----你所不知道的JavaScript系列(2)
let 众所周知,在ES6之前,声明变量的关键字就只有var.var 声明变量要么是全局的,要么是函数级的,而无法是块级的. var a=1; console.log(a); console.log( ...
- .NET Core容器化开发系列(一)——Docker里面跑个.NET Core
前言 博客园中已经有很多如何在Docker里面运行ASP.NET Core的介绍了.本篇主要介绍一些细节,帮助初学的朋友更加深入地理解如何在Docker中运行ASP.NET Core. 安装Docke ...
- Metasploit 暴力破解演示
本文简要演示使用Metasploit 中的mysql_login.postgresql_login.tomcat_mgr_login模块暴力破解Metasploitable 2 上部署的服务. Pre ...
- GTK学习笔记————创建窗口
创建gtk1.c文件 代码 #include <gtk/gtk.h> int main (int argc, char *argv[]) { GtkWidget *window; gtk_ ...
- 《Macro-Micro Adversarial Network for Human Parsing》论文阅读笔记
<Macro-Micro Adversarial Network for Human Parsing> 摘要:在人体语义分割中,像素级别的分类损失在其低级局部不一致性和高级语义不一致性方面 ...
- javascript 数组对象及其方法
数组声明:通过let arr = new Array(); 或者 let arr = []; 数组对象可调用的方法: 1)find方法,使用情况是对数组进行筛选遍历,find方法要求某个函数(A)作为 ...
- 第五篇——Spring音乐播放界面设计(C#)
由于小组成员已经完成软件的详细设计说明书,在这里只具体说明软件程序的细节编写,以免重复. 歌曲的播放采用VS自带的axWindowsMediaPlayer插件,所以程序中涉及到许多该插件的使用.Ctl ...
- OpenState安装及 Port Knocking 实验
OpenState安装及 Port Knocking 实验 目录 OpenState安装 Port Knocking 实验 OpenState安装及 Port Knocking 实验 OpenStat ...
- ”数学口袋精灵“第二个Sprint计划---第二天
“数学口袋精灵”第二个Sprint计划----第二天进度 任务分配: 冯美欣:欢迎界面的音效 吴舒婷:游戏界面的动作条,选择答案后的音效 林欢雯:完善算法代码的设计 进度: 冯美欣:找到了几个音乐 ...
- MySQL中EXPLAIN解释命令 查看索引是否生效
explain显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句. 使用方法,在select语句前加上explain就可以了: 如: expla ...