【省带宽、压成本专题】从产品架构来看,PCDN如何节流50%
过去几年,我们一直在视频省流量方面潜心钻研,取得不俗的成果。本次“省带宽、压成本”系列一共会推出六篇文章,从技术迭代、硬件更新等角度出发,向大家介绍节省CDN流量,降低视频播放成本的方法。
第一篇:《从产品架构来看,PCDN如何节流50%》
目前国内互联网的发展,直播、点播等在线视频业务崛起,CDN在视频云行业被广泛应用。据统计,全球CDN市场的复合年增长率在27.7%,2020年预计将达到157.3亿美元,且亚太地区将是增长最快的市场。
近几年CDN行业发展如此迅速,主要是由于视频行业的发展,点播、直播亦或是短视频,都不同程度上增加视频CDN流量的消耗。
传统CDN依赖于运营商、IDC、服务商等多方面,成本难以降低。同时土地、带宽、硬件等成本的上升,进一步拔升了CDN的价格。
随着互联网终端设备(路由器、电视盒子、智能电视等)存储、计算能力的提升,以及家用百兆、千兆带宽的普及,利用P2P网络传输大量数据成为可能。而P2P终端由于没有土地和运营商等成本,在成本方面有天然优势,因此衍生出了P2P+CDN的网络。
PCDN(下文PCDN专指P2P-CDN)因为具有更低的价格优势与良好的稳定性、传输速度,正在成为越来越多的企业的选择。
目前市场上只有又拍云、阿里云推出了PCDN服务,我们以又拍云PCDN服务——PrismCDN来具体讲解一下,为什么PCDN能够大幅降低带宽成本。
本文我们一起探究一下什么是PCDN,相比传统CDN,它为什么更具优势?
PCDN是P2P技术与CDN技术融合互补,通过大量的P2P节点来对客户数据进行低成本高质量的内容分发,同时依靠CDN技术补足部分丢失数据。这样的数据传输方式能降低整个内容分发网络的成本,降幅相比自建节点 CDN 可以降低 50%以上。
PCDN低价高质的优势,让它广泛应用于视频直播、点播、大文件下载等方面。

PCDN是如何做到低价高质
上文讲到了PCDN的天然优势可以让它做到低价高质,下面我们结合PrismCDN(又拍云PCDN产品)来详细讲一下PCDN在技术上的优化:
扁平传输模型
与其他采用树形传输模式的P2PCDN不同,PrismCDN采用业界首创的扁平传输模型,只需要经过路由器和机顶盒等设备的一次转发即可,与树形P2PCDN直播相比延时会减少很多,相比于CDN httpflv或者RTMP只会慢1个RTT。
类似于QUIC的传输协议
除了在传输模型方面进行了优化外,PrismCDN采用了与Google开发的QUIC传输协议相类似的传输协议,一方面我们选择用UDP传输,而非TCP,以此保证数据传输的稳定性。再者,我们采用了多径传输与冗余传输,来对抗失包重传。当P2P资源不足时,会从IDC和CDN服务器补数据。
P2P节点智能调度
PrismCDN通过收集的点对点连接性(RTT、失包率、错误率等)大数据分析,智能调度全局百万级结点,分配上行带宽稳定的、 距离近的、ISP连通性好的路由器、光猫等作为 P2P 结点给播放 SDK 转发数据。
PrismCDN优势
又拍云在产品架构方面的优化,让PrismCDN相比其他P2PCDN有巨大的优势。
PrismCDN无论是在传输速度、适配能力还是安全性上都有这不俗的表现。
首屏秒开
PrismCDN采用优化的私有传输协议,多种手段对抗网络延迟丢包,首屏时间低于 300 ms;
灵活易集成的SDK
支持Android、iOS等全平台 SDK ,10 分钟完成接入。
强大的适配兼容能力
拥有超强的适配兼容能力,PrismCDN曾在第三方平台上测试机型 100 部,适配通过率高达 100% 。

终端防盗链防护
在安全性方面,PrismCDN会对数据验证包名,只有合法程序包才能使用 P2P 播放。P2P 播放前添加多种认证流程方式,认证通过则播放,支持多种认证模式。
作为国内成熟云服务厂商,又拍云在CDN行业不断探索,寻求更先进的技术,帮助客户减少带宽成本,提高CDN加速稳定性。在未来,又拍云将会为客户带来更多更好的服务。
推荐阅读:
平均节省流量 30% ,这项视频云处理技术是如何实现的?
科普 TLS 1.3 — 新特性与开启方式
【省带宽、压成本专题】从产品架构来看,PCDN如何节流50%的更多相关文章
- 【省带宽、压成本专题】深入解析 H.265 编码模式,带你了解 Apple 全面推进 H.265 的原因
过去几年,又拍云一直在点播.直播等视频应用方面潜心钻研,取得了不俗的成果.我们结合点播.直播.短视频等业务中的用户场景,推出了"省带宽.压成本"系列文章,从编码技术.网络架构等角度 ...
- 浅析阿里云API网关的产品架构和常见应用场景
自上世纪60年代计算机网络发展开始,API(Application Programming Interface )随之诞生,API即应用程序接口,是实现系统间衔接的桥梁.时至今日,API市场已经形成了 ...
- 干货满满!解密阿里云RPA (机器人流程自动化)的产品架构和商业化发展
阿里云RPA,作为阿里云自研8年的技术,在资本的热捧下,逐渐从幕后来到台前,成为企业服务市场的黑马.本文将从产品上全面剖析,阿里云RPA这款产品的现阶段情况,同时简单谈谈阿里云RPA的商业化进展. 阿 ...
- ODI学习笔记2--ODI产品架构
ODI学习笔记2--ODI产品架构 ODI产品架构: ODI提供了以下几种管理工具:Designer 用于定义数据转换逻辑,这是最常用的开发工具,大部分的开发任务,包括data store的定义,in ...
- [API 开发管理] EOLINKER 升级为多产品架构, AMS V4.5 版本常见问题汇总
自AMS4.5开始,eoLinker 全面升级为多产品架构,部分操作方式较以前有较大改变,本文针对改进部分做重点说明. 在说明之前,我们先通过以下的图文看看AMSV4.5更新了哪些内容: Q:我可以创 ...
- 状压dp专题复习
状压dp专题复习 (有些题过于水,我直接跳了) 技巧总结 : 1.矩阵状压上一行的选择情况 \(n * 2^n\) D [BZOJ2734][HNOI2012]集合选数 蒻得不行的我觉得这是一道比较难 ...
- 机器学习PAI产品架构
机器学习PAI产品架构 本文介绍PAI的产品架构. 如上图所示,PAI的业务架构分为五层: 基础设施层:包括CPU.GPU.FPGA及NPU. 计算引擎和容器服务层:包括MaxCompute.EMR. ...
- 高德全链路压测平台TestPG的架构与实践
导读 2018年十一当天,高德DAU突破一个亿,不断增长的日活带来喜悦的同时,也给支撑高德业务的技术人带来了挑战.如何保障系统的稳定性,如何保证系统能持续的为用户提供可靠的服务?是所有高德技术人面临的 ...
- Revit 插件产品架构梳理
一.前言 BIM:Building Information Modeling 建筑信息模型,就是将建筑的相关信息附着于模型中,以管理该建筑在设计.算量.施工.运维全生命周期的情况.创建模 ...
随机推荐
- 【Python】 垃圾回收机制和gc模块
垃圾回收机制和gc模块 Py的一个大好处,就是灵活的变量声明和动态变量类型.虽然这使得学习py起来非常方便快捷,但是同时也带来了py在性能上的一些不足.其中相关内存比较主要的一点就是py不会对已经销毁 ...
- mysqldump 备份脚本
#!/bin/bash DUMP=/usr/bin/mysqldump OUT_DIR=/home/mysql LINUX_USER=root DB_NAME=snale DB_USER=root D ...
- c语言第一次作业——输入与输出格式
一.PTA实验作业 1.温度转换 本题要求编写程序,计算华氏温度150°F对应的摄氏温度.计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型. 1.实验代码 ...
- formidable 表单文件和数据提交
只要涉及文件上传,那么form标签要加一个属性: <form action="http://127.0.0.1/dopost" method="post" ...
- day-7 一个简单的决策树归纳算法(ID3)python编程实现
本文介绍如何利用决策树/判定树(decision tree)中决策树归纳算法(ID3)解决机器学习中的回归问题.文中介绍基于有监督的学习方式,如何利用年龄.收入.身份.收入.信用等级等特征值来判定用户 ...
- Microsoft dynamic 批量更新
//批量处理 ExecuteMultipleRequest multipleRequest = new ExecuteMultipleRequest() { Settings = new Execut ...
- lamp环境搭建经验总结
环境:centos6.4,13个源码包:参考教程高罗峰细说php思路:1.首先确定gcc,g++的安装,因为这是c语言的编译工具,没有它,源码不可能安装,redhat的yum需要配置,分为本地源和网络 ...
- 什么是KMP算法?KMP算法推导
花了大概3天时间,了解,理解,推理KMP算法,这里做一次总结!希望能给看到的人带来帮助!! 1.什么是KMP算法? 在主串Str中查找模式串Pattern的方法中,有一种方式叫KMP算法 KMP算法是 ...
- MySQL 主从复制那些事(一)
本部分主要以理论为主,具体的主从搭建环境,大家可以参考博客其他部分.下面我就给大家数说主从复制那些理论的东西.说的不一定都是正确的,有不同出入的地方,欢迎大家一起交流沟通,以下我把我自己整理出来的主从 ...
- Python内置函数(4)——min
英文文档: min(iterable, *[, key, default]) min(arg1, arg2, *args[, key]) Return the smallest item in an ...