《从PPTV网络视频,到PPIO区块链分布式存储》

摘要:2019年11月26日,同济创业谷与 PPIO CodeTalks 联合举办了《创新X - 区块链与创新创业》区块链技术分享会,本期我们为读者带来主题分享 -- 《从PPTV网络视频,到PPIO区块链分布式存储》。

嘉宾介绍:

王闻宇 -- 前PPTV 的联合创始人&和首席架构师,曾经主了PPTV的点对点直播和点播项目,PPIO开源平台联合发起人。 

为看球而生的视频播放软件 

时钟拨回15年前,王闻宇都还是一个华中科技大学的计算机专业大学生,平时喜欢读论文、写程序和观看篮球比赛转播。

他在校学习编程时无意中发现了一个“不正常”的现象。

当时的校园网络里流行FTP下载,大家都用这种方式去下载最新的电影和游戏。但稍微流行一点的FTP站点都有个问题,就是下载慢。因为它热门,所以下载人数多,人数越多速度就越慢。

当时有一个独具创新的软件叫BT - BitTorrent,该软件的特点是用户越多下载速度越快,因为它基于了一种新的计算机网络传输技术 -- 点对点网络技术传输 即 Peer-to-Peer Network。

这种技术的原理,就是当每个人在下载的同时,也会把数据上传给其他人,本来所有人都要从服务器获得数据,现在不用了。这个方式可以大大节约服务器带宽。如果使用相同的原理,是否可以做到用户越多越流畅呢?

作为篮球迷,想要第一时间观看球赛视频的王闻宇和姚欣开始数周的调研与开发,最终完成了一个最简可用的软件产品(MVP),由于满足了当时年轻网民的需求一下子成为热门软件。

时光荏苒,从校园软件到拥有全球4.5亿用户的生态

为进一步满足强烈的市场需求,还是在校学生的姚欣和王闻宇组建团队,把原本简易的校园软件当作一份事业来经营,并取名为PPLive最终品牌升级为PPTV。

从万行代码堆聚的程序应用到一个品牌 -- PPTV,期间经历了十多年的发展。

04年后的第一个十年,是PPTV创造奇迹的十年。期间经历六轮融资,从天使到E轮,累计融资到数亿美金。

PPTV的软件架构也经历了多次奥运会,世界杯,国庆阅兵等大型直播的考验。在度过了两轮互联网资本寒冬后,最终在14年,卖给苏宁云商。

事件表

  • 04年, PPLive上线定位于 点对点传输技术的流媒体视频直播软件, 之后扩展到 视频点播;
  • 08年, PPLive全线播放2008年北京奥运会;
  • 09年, PPLive 品牌升级为 PPTV;
  • 不久后,PPTV 成为全国最大的正版高清视频平台之一, 获取全球4.5亿用户;
  • 11年, PPTV获得来自软银孙正义的2.5亿美元融资;
  • 14年, 苏宁云商全资收购 PPTV。

PPTV曾经做到的成绩是,稳定流畅地服务了全球4.5亿用户,聚合了相当于120P的存储和50Tbp的带宽资源,支持了多个平台,包括PC桌面,Mac,手机,Pad,机顶盒电视等。

从技术角度看,PPTV用点对点网络传输技术,做出了经过超大规模考验的应用,在全球此类技术商业化的案例实属一个奇迹。但随着科技行业的发展,点对点传输应用也遇到瓶颈,因为其协议本质是共享精神,有人下载就必须有人上传,只有上传和下载是对等的,这才能保证用户体验。早期的网络传输靠得是用户自觉上传,但随着互联网软件生态的飞速发展,点对点网络技术的影响力在急剧下降。

这有多个原因,其一:没有激励机制设计,导致节点上传没有好处,节点就不会不稳定。而基于这些不稳定的节点之上所搭建的服务,某些方面是不如中心化服务的。其次:移动设备的大规模普及,因为操作系统的技术限制,只适合下载,而不适合上传,PC端用户越来越少,上传也就越来越少,纯点对点网络的传输的体验也越来越差。后来,就是技术团队做了一系列的措施的获取流量,如后台驻留程序,但都未能解决其本质的问题。

近几年来互联网行业有两个新事物的出现引起王闻宇和姚欣的关注,其一是共享经济,包括uber和airbnb,uber汇聚闲置的车,airbnb汇聚了全世界闲置的房源,他们不仅汇聚资源,还能把他们都高效利用,并提供稳定的服务。另一个就是比特币(BTC),它利用区块链设计一套公正透明的“竞赛”机制,最终汇聚全世界最便宜的电,具专业报告,全世界1/10的电被用于BTC网关,可惜这事没有价值被白白耗掉的资源

在受到启发后,团队开始思索,如果把激励和点对点传输技术结合起,来把闲置带宽和存储资源就汇聚起来,搭建一个有用的平台会是怎么样的?

这也是PPIO发起的缘由。

重新出发,拥抱下一代科技浪潮“边缘时代”

2018年初,王闻宇和姚欣发起PPIO全球开源项目,探索下一代互联网科技的新边界。

PPIO开发团队致力于解决目前互联网行业存储与传输的痛点,从需求调研到模块立项,两年间开发团队经历过无数通宵达旦的讨论研究,为每个模块的落地负责。

PPIO团队发现市场上数据存储传输的需求增长是大于技术供给的,简单说全球范围内数据处理需求端是未得到充分满足的,新兴市场存在巨大的机会。

纵观云服务商AWS等大厂,大厂的机器总是选择放在那些发达、稳定、繁荣、安全的城市。

而近几年新兴市场的互联网生态,正处于闪电速度的崛起,对于云服务来说,大厂似乎并没有足够重视此类长尾。

还有一个有意思的数据维度是来自于对全球新兴市场的流量价格对比:数据表示东南亚、南美新兴市场的云服务价格是欧美地区的三倍。总之,存储行业面临各种挑战。

总结中心云存储方案的三大挑战

挑战一:居高不下的成本

大数据时代,中心化云存储及带宽价格高昂且云巨头对行业进行垄断,各地运营商状况的巨大差异。

挑战二:云故障不可避免

中心化云计算方案,容易产生单点故障和数据丢失,曾经,Google Cloud数据丢失,腾讯云“前沿数控”,百度网盘之前都发生过个人数据丢失事件。

挑战三:数据安全与隐私保护

中心化存储方案带来集中式的数据隐私泄露风险,即使大公司也是如此,例如Dropbox 6000万用户数据被黑,Facebook 使用用户隐私数据。

最后经调研,在CPU存储和带宽的用户端市场都存在闲置和低效利用的状况。所以,PPIO的发起就是为解决这一问题,帮助用户构建一个分散式的存储和带宽租用平台。

那么回到2010年以前,那个时候没有云服务,那么互联网行业是做软件产品的呢?

当年PPTV是自建IDC机房,买入一堆浪潮的机器,数据库用Oracle,然后用IBM做了一些方案,最后拼凑起来。不仅仅投入大,还要有专业的管理能力。

2010年后,类似AWS/Google Cloud云服务面世之后,很淘汰了之前的自建机房这样一个方向。现在大家通过在云服务平台几个鼠标一点就可以购买主机部署一个服务来使用了。而且用多少量付多少钱。

经历几个科技周期的王闻宇洞察到伴随着新技术出现,世界将会步入边缘计算的时代。 

目前,我们仍处于边缘计算时代的最早期。

从PPTV网络视频,到PPIO分布式存储与传输

如果简单的一句话形容PPIO,就是利用分散的资源构建的类似AWS的存储和传输,PPIO不会取代现有云服务,而是服务于部分场景,是对于传统云服务是一个补充。

PPIO的可持续商业模式是基于价格差,比如说需求和供给中间所带来的这样一个价格差,也就是说通过低成本的供给资源,为开发者提供一个高性价比的接口。

PPIO的定位是一个商业服务平台 , 使得内容存储与传输:

  • 更便宜:用激励来刺激家庭资源 / 闲置资源做贡献;
  • 更高速:点对点网络传输的技术的天性就是做到高速传输;
  • 更隐私:应用前沿的密码学技术 & 区块链技术。

PPIO 可以理解为是一个分散资源构建的AWS存储和传输服务。

那么,去中心化存储是否能像AWS一样提供优质服务?

很多人疑问当数据存储在矿工的矿机上,由于矿工的不稳定性,可能导致文件的丢失。就像滴滴的司机一样,大部分时间是靠谱的,偶尔不靠谱,不靠谱的时候,体验非常差,这样的产品怎么能让人放心使用呢?

首先,需要纠正一个认知误区:请问,AWS S3等大公司能100%保证存储文件不丢失吗?其实是不能的,他们只能99.999999999%保证存储文件不丢,专业术语称为:11个9的保证存储文件不丢。存储行业称99.999999999%这个服务质量指标(QoS)为耐用率。

PPIO设计了2种冗余模式,通过在不同场景下使用,也可以在去中心化的环境中做到11个9的数据保证,原文推导详细过程请参阅:《为什么 PPIO 作为去中心化存储可以保证数据不丢失?》

从可持续发展的角度考虑,PPIO设计分为三个阶段

这三个阶段分别是 中心化阶段,弱中心化阶段,去中心化阶段。

纵观其他海外存储或传输类项目,他们大多都把重心方向放在了 “完全去中心化,安全隐私和社区化治理上”。其项目背后的目的是一种顺应炒作社区的妥协从而提高其“估值”,没有把其应用场景落地放入首位考虑因素。而作为解决存储传输痛点的团队,PPIO的架构设计会考虑牺牲一定的去中心化而优先探索落地场景。

此设计主要考虑三方面:

1.非常复杂的证明机制

不同于数字货币,去中心化存储及传输的区块链证明机制会更为复杂。存储内容的大小,时间,这是一个计量因素;传输了多少数据也是一个计量因素。要证明这两个因素,比起BTC的单机“做算术题“的PoW算法要复杂得多。这个机制不是简单的一次性地就能做到商用的。

2.QoS的迭代和优化

QoS服务质量优化并非一蹴而就,而是经过漫长的升级与迭代。在PPIO的架构设计之初,就非常强调高效的调优QoS, 因为优质的QoS才能吸引用户从而良性循环。用户多了,才能产生公信力。

3.经济模式

生态发展之初,奖惩制度的设定极为重要。有很多问题都是需要探索的,如社区经常争论的是否要求抵押才能参与共识,如因非人为原因而引发的节点不在线是否应该受到惩罚。过早的对经济模型进行设定,而不为日后场景的需求提前预留调参的功能,会影响平台的可持续发展。

基于这三方面的考虑,PPIO把阶段设计成了三个阶段,具体细节,请查阅: 《一切为了落地:为什么要把PPIO设计成三个阶段》

PPIO存储传输方案的使用场景分析

PPIO主要适合一些存储传输要求比较大的场景,包括以下:

  • 热数据传输场景:如 文件分发(CDN,游戏下载),直播,在线点播等;
  • 温数据传输场景:Wetransfer,RapidShare,离线网盘等;
  • 纯传输场景:如 音视频通话, 音视频会议, 低延时直播等;
  • 数据存储场景:如 个人网盘,企业网盘,数据备份等。

PPIO针对行业痛点提出的七大设计方案

由于PPIO 团队做过大规模的点对点网络传输,非常了解传输场景对技术的多样化甚至刁钻的需求。这些经验让我们可以为传输类产品做出符合实际需要的技术架构,以下是 PPIO 为传输场景所做的技术设计。

1. 在互联网之上建立重叠网络

PPIO 支持重叠网络 (Overlay 网络),每个存储节点 (Storage Node/Miner) 都会将与自己物理连接较快的存储节点作为自己的邻居,在数据传递和信息交互过程,充分发挥临近节点的优势。

2. 专门针对流媒体传输的优化

流媒体传输场景的最主要应用,对流媒体的支持以及做到足够好的服务质量 (QoS) 非常重要。PPIO 实现了针对流媒体的由数据来驱动的特别下载算法,从而保证实时流媒体的流畅播放。

3. P4P 技术的支持

点对点网络传输会产生大量的网络间的跨 ISP 流量,网络运营商并不喜欢这样。一般来说,网络运营商 ISP 的网络内的流量是没有额外费用的,但是,运营商之间传输所产生的通讯会按照流量来计费。有没有什么办法能够做到既保留点对点网络传输技术的优势,又能做到降低跨 ISP 流量呢?这就是 P4P 技术。

4. 点对点网络直播的考虑

PPIO 不仅仅考虑了流媒体点播的下载,而且还考虑实时流媒体直播。直播在本质上就是一堆连续的小文件的传输,只是这些小文件他们的生命周期比较短,一段时间过后就没有用了,但同时也要求这些小文件的传输效率要非常高,要非常快速地传输到尽可能多的节点上。直播的整体架构和 PPIO 的流媒体体系是一致的,只是切分文件的方式,下载算法有所不同。

5. PPIO PCDN 的设计

PPIO 的设计是支持 PCDN 的,并且提供了 DApp 开发接口,开发者将很容易使用 PCDN 接口为自己的内容服务提供加速。

6. PCDN的热门内容的自适应调度

在PCDN里面,热门内容的自适应调度是非常重要的,也是提高服务质量 (QoS) 的重要手段。这样的设计既能提高用户体验,也能提高更多存储节点的收益。

7. PCDN的人为预热机制

比如说大家在看一部电视剧,前面一集看的人已经很多了,那么大概率地预测,下一集看的人也会很多。所以发布方在更新新的一集的时候,就可以提前推送新的一集的资源到更多矿工那里。

相对于其他存储区块链,PPIO更重视传输场景的。这里有个简易的对比表格分析三个存储链,并给出对比信息。

详细的设计,请查阅《PPIO 分布式存储在数据传输上有哪些优势?

目前的PPIO的开发状态

PPIO目前完成了测试网,在PPIO官网(https://pp.io )上大家可以去看到测试的情况,包括所有的测试出块都是正常的进行。

那么另外PPIO也发布了PPIO SDK,CLI命令行工具和Demo APP。目前SDK和CLI是可以直接开发的,Demo 也是可以直接使用。

PPIO也给开发者给开发者提供文档,可以登录PPIO官网来查阅。

同时团队也在孵化更多的一些项目,同时也在打磨各个模块技术,近期会的因为把我们的更详细的一些源码然后开放出来供开发者使用,相信很快更多开发者会意识到PPIO带给开源社区的好处 -- 更廉价 高速 和隐私,从而基于PPIO而进行开发与创新。

Image placeholder
liukai56
未设置
  64人点赞

没有讨论,发表一下自己的看法吧

推荐文章
分布式存储时代,横空出世的OceanBase

数据,被誉为新时代的石油。几乎任何一个企业的IT管理者,都会在演讲、采访或其他形式的交流分享中强调数据的重要性。获取洞察、行为预测、市场分析、业务转型升级……数据能够为企业带来巨大的商业价值。但与此同

从P4到P9, 在马云家写代码到双11前端PM

导读:今年的双11已经是阿里资深前端技术专家舒文来阿里的第11年,从应届生到双11前端PM,他一路升级打怪,实现了岗位上从P4到P9的晋升。这第11届双11顺利结束之际,他把在阿里这些年的成长经历做一

为什么分布式网络是一种新兴趋势?

互联网的大规模采用可归功于以下五个重要因素:TCP/IPTCP/IP(传输控制协议/Internet协议)是指Internet上使用的标准数据通信协议集。它由DARPA开发,并由互联网工程任务组(IE

10分钟搞懂:亿级用户的分布式数据存储解决方案!

来源:IT进阶思维原创,转载请注明原出处内容提供:李智慧,前阿里巴巴技术专家,《大型网站技术架构》作者6月6日晚,林志玲与Akira公布婚讯、徐蔡坤祝福高考同学超常发挥,粉丝们百万的转发和点赞造成微博

区块链仍处于婴儿期,金融业是应用最多的两个领域之一

如果问你2018年什么技术比较火,答案中一定会有区块链。从春节“3点钟无眠区块链”的狂欢开始,伴随着过山车一般的币价逐渐走向沉寂,链圈、矿圈、币圈的鄙视链似乎也不再那么重要。10月24日下午过后,在国

分片技术如何解决区块链系统的可伸缩性问题?

区块链技术的应用可能将改变组织存储数据和执行分布式事务的方式。即使在公共网络上,区块链也可以保证所有参与者都以安全、可靠和可验证的方式访问记录。但是区块链有一个非常明显的限制:可伸缩性。随着交易数量的

区块链十问十答

数据库与区块链有何联系和不同?数据库是集中化记录数据的方案它的增删减更新完全由数据库管理员来操作,而区块链是分布式智能共识达成后才可记录数据的一种方式,他的增删减更新由区块链的矿工和区块链上的用户共同

当医疗医保数据共享难题遇上区块链

健康医疗大数据是国家重要的基础性战略资源。提升健康医疗服务效率和质量,扩大资源供给,有利于满足人民群众多层次、多样化的健康需求。福布斯发布名为《2019八大医疗保健预测》的报告,预测区块链作为近年来在

区块链如何改变当今的业务安全

区块链已经扩展到多个行业,正在颠覆商业世界。下面是区块链如何改变当今的业务安全性。对区块链技术的需求持续增长。全球区块链技术市场的规模预计将增长,到2023年最终将达到233亿美元:区块链已经攻克的行

《零知识证明在区块链上的应用》

2019年11月26日,同济创业谷与PPIOCodeTalks联合举办了《创新X-区块链与创新创业》区块链技术分享会。在本次分享会中,我们有幸邀请到了四位重量级嘉宾来做主题分享。在本期文章中,我们先向

《如何开发区块链底层平台》

摘要:2019年11月26日,同济创业谷与PPIOCodeTalks联合举办了《创新X-区块链与创新创业》区块链技术分享会。在本次分享会中,我们有幸邀请到了四位重量级嘉宾来做主题分享。在本期文章中,我

科普 | 关于联盟区块链你不知道的事

在分布账本技术发明十年后的今天,我们仍然处于大规模应用落地的早期。目前多数流行的公有区块链仍然无法落地,因此近年来越来越多的技术团队将目光集中在那类有使用场景的方向--联盟区块链。第1部分:行业分类从

区块链+朵朵白“云”

前言:探索下一代的互联网基础架构,是突破行业增长瓶颈的重要战略方向。PPIO从云计算资源交易市场的角度来看,区块链能够从根本上解决中心化云的弊端。 生产力决定生产关系,当生产关系制约了生产力的发展,就

拒当透明人,区块链隐私保护该如何进行

前言:隐私是现代社会的产物,也是自由社会的根基。隐私保护也是区块链行业的重要研究方向之一,那么到底如何进行以及实现隐私保护呢?隐私保护的其中一种方式就是零知识证明。其实可以用一句话来概括:“证明者(A

Go语言高级编程_6.1 分布式id生成器

6.1分布式id生成器 有时我们需要能够生成类似MySQL自增ID这样不断增大,同时又不会重复的id。以支持业务中的高并发场景。比较典型的,电商促销时,短时间内会有大量的订单涌入到系统,比如每秒10w

Go语言高级编程_6.2 分布式锁

6.2分布式锁 在单机程序并发或并行修改全局变量时,需要对修改行为加锁以创造临界区。为什么需要加锁呢?我们看看在不加锁的情况下并发计数会发生什么情况: packagemain import( "sy

Go语言高级编程_6.4 分布式搜索引擎

6.4分布式搜索引擎 在Web一章中,我们提到MySQL很脆弱。数据库系统本身要保证实时和强一致性,所以其功能设计上都是为了满足这种一致性需求。比如writeaheadlog的设计,基于B+树实现的索

Go语言高级编程_6.6 分布式配置管理

6.6分布式配置管理 在分布式系统中,常困扰我们的还有上线问题。虽然目前有一些优雅重启方案,但实际应用中可能受限于我们系统内部的运行情况而没有办法做到真正的“优雅”。比如我们为了对去下游的流量进行限制

Go语言高级编程_6.7 分布式爬虫

6.7分布式爬虫 互联网时代的信息爆炸是很多人倍感头痛的问题,应接不暇的新闻、信息、视频,无孔不入地侵占着我们的碎片时间。但另一方面,在我们真正需要数据的时候,却感觉数据并不是那么容易获取的。比如我们

分布式Redis深度历险-复制

摘要Redis深度历险分为两个部分,单机Redis和分布式Redis。本文为分布式Redis深度历险系列的第一篇,主要内容为Redis的复制功能。Redis的复制功能的作用和大多数分布式存储系统一样,

滴滴 曾奇:谈谈我所认识的分布式锁

桔妹导读:随着计算机技术和工程架构的发展,微服务变得越来越热。如今,绝大多数服务都处于分布式环境中,其中,数据一致性是我们一直关注的重点。分布式锁到底是什么?经过了哪些发展演进?工程上有哪些实现方案?

从关系型数据库到分布式机器学习,揭秘腾讯大数据十年发展历程

大数据技术在过去10多年中极大改变了企业对数据的存储、处理和分析方式。如今,大数据技术逐渐成熟,涵盖了计算、存储、数仓、数据集成、可视化、NOSQL、OLAP分析、机器学习等丰富领域。在未来,大数据技

云原生时代,分布式系统设计必备知识图谱(内含22个知识点)

作者|杨泽强(竹涧)阿里云技术专家我们身处于一个充斥着分布式系统解决方案的计算机时代,无论是支付宝、微信这样顶级流量产品、还是区块链、IOT等热门概念、抑或如火如荼的容器生态技术如Kubernetes

中国移动智能硬件质量报告解读 分布式路由市场你了解多少?

今年6月份,中国移动终端实验室发布了《中国移动2019年智能硬件质量报告》(第一期),并于近日对该报告进行了相关解读,同时对优秀智能硬件产品进行颁奖。根据介绍,本次报告在内容上主要包括手机产品综合评测

分布式时序数据库QTSDB的设计与实现

现有的开源时序数据库influxdb只支持单机运行,在面临大量数据写入时,会出现查询慢,机器负载高,单机容量的限制。为了解决这一问题,360基础架构团队在单机influxdb的基础上,开发了集群版——