大直播时代,P2P才是降低成本的必杀技
在流媒体传输分发领域,CDN和P2P一直是经常被拿来进行对比和讨论的一大热点,虽然不少大型视频企业目前同时使用着CDN和P2P两套分发机制,但相对于CDN,很多人对于P2P技术知之甚少。整体来说,P2P技术一方面能够极大缓解CDN“中心化”的边缘节点服务器压力,提升CDN网络在节点分布少的地区和流量高峰时期的整体服务能力;另一方面通过利用观看者大量“废弃”的上行带宽,极大的降低视频分发带宽成本。本文将以观止云通用P2P分发平台为例,向大家介绍P2P运行原理?是否安全?使用P2P平台方和用户端到底需要做哪些工作?到底能省多少带宽?观止云P2P分发平台架构等普遍关注的问题。
◆ ◆ ◆
P2P,了解这些就够了
P2P是Peer to Peer (对等网络)的简称,网络中的每个节点(参与者)即为Peer(对等节点),它与我们当前每天使用的Server/Client(服务器/客户端)模式本质的区别是,P2P网络中的Peer(对等节点)同时具备客户端和服务器的双重身份,同时作为服务的使用者和服务的提供者,即所谓的具有平等地位,每个Peer间可以不通过服务器而直接交换数据。
P2P技术架构有很多种不同路线,在文件交换、分布式计算、分布式存储、分布式搜索等诸多领域有广泛应用,本文只侧重介绍其在流媒体分发传输中的应用。P2P在流媒体分发中的典型运行原理如下图:
虽然我们很难知道P2P在今天到底承载了多少互联网流量数据,但P2P曾经着实是神一样的存在过。2007年,Ipoque研究机构对100多万网民接近3TB的匿名流量进行研究,分析发现当年P2P流量曾占到了整个互联网流量的50%,甚至部分地区夜间流量峰值达到过整个网络流量的95%。
数据来源:Ipoque公开分析报告
然而出人意外的是,2007年后,P2P的整体流量开始持续下降。当CDN、云计算等一路扶摇直上发热发紫的时候,P2P却逐渐沦陷成为了非主流。技术的更迭是互联网的常态,2010年以后,随着云计算、智能移动终端、3G/光纤网络等的兴起让互联网在服务器、传输网络、终端整体产业环境发生了前所未有的变化,大环境导致了P2P技术走衰。另一方面,P2P技术自身存在的一些问题也确实困扰着它的前行:
01
系统可用性问题
尽管从系统整体而言,P2P网络的可用性十分可靠,但从单个Peer或单个任务来说,确实有着不可控不稳定的问题。如Peer的随意上下线,随意终止服务等,这对于大型商用系统来说是无法接受的。
02
安全性问题
P2P网络自诞生以来,始终伴随着安全、管理、版权、数据隐私泄露等方面的争议。P2P最常见的形态是安装专门的客户端软件,这个植于本机的软件随时让用户担心数据泄露、版权冲突、病毒传播等隐患。
03
使用的繁琐性
需要安装客户端软件的P2P,除了让用户担心安全以外,使用上也会让人觉得非常麻烦。使用成本高也反映在了P2P软件装机率低上面。
◆ ◆ ◆
新一代P2P技术与CDN的融合
近年来在线视频尤其是网络直播流量的暴增,带宽费用成为了在线视频企业成本结构中最重的一块,P2P和CDN融合分发的尝试在业内始终未曾停止。以观止云通用P2P分发平台为代表的新一代P2P网络也在一定程度上极大的解决了上述P2P自身技术缺陷。
01
架构升级,可用性提升
观止云通用P2P分发网络是在CDN分发的基础上建立的P2P“旁路”分发模式,即所有视频观看者首次点开播放器一律到CDN边缘节点获取资源,在已经能够正常观看视频的过程中同时连入P2P网络,在保证有足够高可用Peer节点的前期下开始从Peer节点获取剩余资源,一旦伙伴Peer下线或者网络抖动,再不间断服务的回到CDN边缘节点取片。这样一来解决了P2P网络单Peer可用性不可控的问题,同时提升了CDN网络在边远地区节点少,或者流量高峰期间的整体可用性和承载力,让不能观看的可以流畅观看,让可以观看的更高清流畅。据观止云通用P2P分发平台在服务”中国好声音”网络直播的第三方监测数据,使用P2P后流畅度整体提升了10%。
02
流程简化,使用“无感”
传统P2P需要安转专门客户端软件总让人感觉繁琐和不放心,观止云通用P2P分发平台基于Flash平台,一般浏览器都默认安转了Flash,故对于终端观看者来说无需再安装任何客户端或插件,使用的”无感”同时也打消了安全、隐私等顾虑。对于视频企业来说,观止云通用P2P分发平台基于通用HLS协议,只要是按照标准HLS协议出的ts片,不论是直播或点播都只需要提交域名就能接入P2P服务,和CDN服务一样无需其他额外工作。
03
安全保障,消除风险
传统P2P中版权的冲突在新一代P2P中也将不复存在,观止云通用P2P分发平台同时提供DRM方案,让视频方没有被盗链的风险。
在流媒体分发应用中,CDN与P2P在流媒体分发中存在非常强的互补性,P2P能提升系统整体扩展性,加之CDN的可靠性,使得整个分发网络在确保分发质量的前提下大幅降低对硬件服务器、带宽等资源的要求。下图为P2P与CDN在流媒体分发应用中的整体对比:
◆ ◆ ◆
运营级P2P平台需要哪些东西
虽然在流媒体分发中P2P对于CDN互补性和带宽成本节省是那么的显而易见,也即便新一代P2P网络在技术上解决了传统P2P诸多缺陷,但要成为一个运营级商用P2P平台,我们要走的路似乎还很长。业内不少友商都在宣称能提供P2P服务,但至今市面上也貌似没有一个接近CDN的透明、公开的运营级P2P平台,下面小编以观止云通用P2P分发平台为例来探讨运营级商用P2P平台应该具备哪些条件。
01
高分享率,高流畅度
观止云通用P2P分发平台除了上述的CDN”旁路”架构充分提升可用性、流程“无感”、安全保障等方面的架构提升外,P2P分享效果也十分显著。
如上图显示,晚上8时许,在线人数达到51000人,未使用P2P服务情况下,CDN总带宽接近25Gb
在线人数进一步增加,此时开启P2P服务后,32Gb的总带宽被P2P分流近27Gb,分享率达80.7%,流畅度也进一步提高。
上述例子为实时带宽情况,再来一个历史数据统计,可看出平均分享率基本保持在75%以上,流畅度保持在98%以上。
02
日志系统对运营平台不可或缺
详细透明的日志系统是运营平台不可或缺的一部分,它是客户对账追溯的凭证,更是大数据资产的重要来源。观止云通用P2P分发平台拥有完善的日志系统,主要包括访问日志和计费日志两大部分。
访问日志,记录了每个Peer节点5min内的活动详情
日志格式为:[peer ID] 公网IP - - [时间] “url” “操作系统” “浏览器” “p2p流量” “cdn流量” “alive存活时间”
计费日志,记录每个域名的详细流量消耗信息
下图为观止云通用P2P分发平台日志系统架构图,搭载了KAFKA消息服务器作为日志系统的消息中心,用于收集和暂存客户端消息,各个子应用之间解耦。日志文件存放于HDFS,用作大文件存储,方便历史计费数据热备和重做。
日志系统对接HDFS的管理接口,方便日志管理和下载,同时对外提供API接口,轻松实现第三方平台的无缝对接。
03
数据在大直播时代也不可少
大数据时代数据对于在线视频尤其是直播来说同样显得尤为重要,依托于越实时的数据,越能够快速定位、解决部分用户故障问题;保障不同付费等级、不同终端、不同区域、不同内容等的观看体验;进行广告精准投放等等。观止云通用P2P分发平台提供了实时数据和历史数据供平台用户查看。
可以看到实时在线观看人数,以及区域、运营商分布,观看流畅度,实时带宽负载等。
◆ ◆ ◆
结语:大直播时代,让P2P成为降低带宽费用的必杀技
众所周知,带宽成本一直是国内视频网站的基石成本。大直播时代,当大家都在抬头融钱和烧钱的同时,更要低头想一想怎么样省钱!
写给未来的同事:观止云致力于打造最专业的运营级视频云平台,现正在寻求研发(服务器/大数据/编码器)、市场、售前、销售等方面的才俊加盟,如感兴趣,请发送简历至hr@bravovcloud.com。
征友启示:【网络直播交流微信群】目前已满员,只能通过邀请入群。群内目前聚集了各大直播平台、周边服务商的PM、技术负责人、架构负责人、营销负责人等不定期围绕技术、市场展开深度探讨,有入群意愿的请在观止云公众号内直接回复【公司—岗位—称呼】,由小编统一邀请入群。
大直播时代,P2P才是降低成本的必杀技的更多相关文章
- 转: 如何选CDN:互联网大直播时代的CDN选择指南
from: http://www.chnvideo.com/blog-classic-cdn.html SRS 编码器 如何选CDN:互联网大直播时代的CDN选择指南 CDN是一个服务型的公司, ...
- 如何选CDN:互联网大直播时代的CDN选择指南
转: 如何选CDN:互联网大直播时代的CDN选择指南 from: http://www.chnvideo.com/blog-classic-cdn.html SRS 编码器 如何选CDN:互联网 ...
- 从直播编程到直播教育:LiveEdu.tv开启多元化的在线学习直播时代
2015年9月,一个叫Livecoding.tv的网站在互联网上引起了编程界的注意.缘于Pingwest品玩的一位编辑在上网时无意中发现了这个网站,并写了一篇文章<一个比直播睡觉更奇怪的网站:直 ...
- 04. Web大前端时代之:HTML5+CSS3入门系列~HTML5 表单
Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html 一.input新增类型: 1.tel:输入类型用于应该包 ...
- 05. Web大前端时代之:HTML5+CSS3入门系列~H5 多媒体系
Web大前端时代之:HTML5+CSS3入门系列:http://www.cnblogs.com/dunitian/p/5121725.html 1.引入 概述 音频文件或视频文件都可以看做是一个容器文 ...
- (原创)大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 决策树分析算法)
随着大数据时代的到来,数据挖掘的重要性就变得显而易见,几种作为最低层的简单的数据挖掘算法,现在利用微软数据案例库做一个简要总结. 应用场景介绍 其实数据挖掘应用的场景无处不在,很多的环境都会应用到数据 ...
- LinkedIn高级分析师王益:大数据时代的理想主义和现实主义(图灵访谈)
转自:http://www.ituring.com.cn/article/75445 王益,LinkedIn高级分析师.他曾在腾讯担任广告算法和策略的技术总监,在此期间他发明了并行机器学习系统“孔雀” ...
- 大数据时代之hadoop(五):hadoop 分布式计算框架(MapReduce)
大数据时代之hadoop(一):hadoop安装 大数据时代之hadoop(二):hadoop脚本解析 大数据时代之hadoop(三):hadoop数据流(生命周期) 大数据时代之hadoop(四): ...
- 大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 聚类分析算法)
原文:(原创)大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 聚类分析算法) 本篇文章主要是继续上一篇Microsoft决策树分析算法后,采用另外一种分析算法对目标顾客群体的挖掘 ...
随机推荐
- spring boot 2.0(二)动态banner的支持
Spring Boot 2.0 提供了很多新特性,其中就有一个小彩蛋:动态 Banner,今天我们就先拿这个来尝尝鲜. 配置依赖 使用 Spring Boot 2.0 首先需要将项目依赖包替换为刚刚发 ...
- kolla-ansible 一键安装openstack
官网地址https://docs.openstack.org/kolla-ansible/latest/user/quickstart.html 参考:https://www.jianshu.com/ ...
- meta标签常用设置
<!DOCTYPE html> <!-- 使用 HTML5 doctype,不区分大小写 --> <html lang="zh-cmn-Hans"&g ...
- Python Microsoft Visual C++ 10.0 is required (Unable to find vcvarsall.bat)
在windows 平台下,当python使用以下方式安装时,可能出现以下错误: > python setup.py install error: Microsoft Visual C++ 10. ...
- mysqldump导出报错"mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table `file_storage` at row: 29"
今天mysql备份的crontab自动运行的时候,出现了报警,报警内容如下 mysqldump: Error 2013: Lost connection to MySQL server during ...
- [CodeForces - 614E] E - Necklace
E - Necklace Ivan wants to make a necklace as a present to his beloved girl. A necklace is a cyclic ...
- [LeetCode] 113. Path Sum II ☆☆☆(二叉树所有路径和等于给定的数)
LeetCode 二叉树路径问题 Path SUM(①②③)总结 Path Sum II leetcode java 描述 Given a binary tree and a sum, find al ...
- Linux基线合规检查中各文件的作用及配置脚本
1./etc/motd 操作:echo " Authorized users only. All activity may be monitored and reported " ...
- Java ip地址查询,根据ip接口获得ip所在省市区,邮编,运营商等
早上一来,项目经理就说需要添加一个用户ip归属地查询功能,然后在网上搜罗半天,研究出一个比较简单的方法,通过接口返回地址json数据 有百度接口,新浪接口,这里用的是淘宝ip接口 通过淘宝IP地址库获 ...
- learning at commad AT+CPSI
[Purpose] Learning how to get mobile network info [Eevironment] Shell terminal, base on gcom command ...