吴岷是土豆网基础系统开发总监,在土豆长期负责视频上传、转码、CDN、点播、直播等系统的开发和维护。在全球架构师峰会期间,我们有幸采访了他,针对视频CDN分发、调度与服务方面的内容进行了交流。
InfoQ:与传统的网站相比,视频网站的架构需要应对哪些特定的非功能性需求,土豆网是如何应对的?
吴岷:用户观看视频需要一个高速且稳定的下载带宽,所以视频CDN节点要离用户更近。CDN节点离用户近就意味着CDN节点会很多且相对比较小。另外从成本考虑,在二三级城市购买带宽单价往往会便宜些。小节点多就会引发很多问题,比如节点质量不稳定,机房不能提供高可靠性的服务,机房搬迁比较平凡,等等。所以视频CDN需要有足够的灵活性来应对这些变化。
土豆网的视频CDN的特点是视频文件纯分布式的,它不存在核心节点,并且所有视频文件在位置中心服务器都知道,这样做的好处是机房只要能服务好当地用户,不必考虑与核心节点间的链路质量;另外由于中心机房知道所有文件位置,所以硬件故障和机房搬迁都能非常容易的处理,只要在数据库中把相应的硬件或者机房置为不可用即可。
InfoQ:视频CDN需要关注哪些方面的问题?
吴岷:视频CDN需要关注用户服务质量,这和一般网站CDN是一样的。比较特殊的是视频CDN特别要关注成本。视频CDN在公司运营成本中占的比例相当大。为了节省成本,商务可能会随时把机房从贵的地方,搬迁到便宜的地方,视频CDN要有适应这种变化的能力。另外,从技术方面,降低单位服务成本永远是我们努力的方向。
InfoQ:您认为,在视频同步方面,架构的使命是什么,应该如何实现,存在哪些问题呢?
吴岷:整个视频CDN的使命是以较低的单位服务成本给用户较好的服务体验。当然架构在视频同步方面的使命也是一样。视频同步的目的是尽可能把视频放到离用户近的节点去,以提高用户的体验,但是视频同步也是要消耗带宽的,如何平衡这两者关系,找到一个最佳的平衡点,是视频同步一直要考虑的问题。
InfoQ:请您谈一下,视频同步的Push和Pull两种模式,各自的优缺点有哪些呢?
吴岷:pull模式是CDN的经典模式比较成熟,直接用到视频上也比较容易。Push模式需要实现很多东西。两者优缺点很明显,纯粹的pull模式实现比较简单,灵活差点;push模式更灵活,但是非常复杂。也可以结合两者有点,采用混合的模型。
InfoQ:土豆在视频同步方面采用了哪些技术,效果如何?
吴岷:土豆的视频同步从策略上沿用了cache的思路,把最热的文件复制到边缘节点,淘汰最冷门的文件。在具体实现上我们做了几点优化,一个是采用类似p2p的技术, 可以同时从多个节点下载文件,当然这些节点也是离目标节点最近的。另外我们的Web服务器有下载文件的功能,这样做的好处是磁盘的读写都由一个进程调度,实现了磁盘吞吐最大化。效果不错,一般一个几十兆的新视频文件只需要几分钟就能同步到全网了。
InfoQ:您认为在访问调度方面,视频CDN有什么样的特点?
吴岷:土豆的视频CDN节点比较多,且每个比较小。小节点比较容易跑满,所以负载均衡要做得非常实时,否则用户观看视频就容易卡。另外我们视频CDN的服务器都没有做raid,磁盘很容易损坏,服务器有时候也会当机,调度如果能够及时感知到服务器的健康状况的话就很容易屏蔽掉这些失效的硬件,用户就感知不到了。
InfoQ:土豆网采用了什么样的技术实现访问调度,有哪些优缺点,是否满足了需求?
吴岷:土豆的视频CDN的状态实时汇报到调度系统在中心服务器,加上中心服务器知道每个文件所在的位置,这相当于所有情报尽在掌握了,所以土豆的视频调度从策略上来讲相对不难做好。缺点时实现起来复杂,计算量大。因为复杂,所有总会碰到各种各样的问题,但是经过这几年的积累,现在已经可以满足需求了。
InfoQ:在Web服务方面,视频网站经常会出现的问题有哪些?
吴岷:多样性方面。互联网视频这几年发展的比较快,codec从h263发展到h264,容器有flv, 3gp, mp4, ts等,客户端从flash player到现在ios,安卓等等。技术要随时跟上。在系统稳定和兼容中找到平衡。另外,和放图片的CDN一样,磁盘读写依然是web服务的瓶颈。
InfoQ:土豆网是如何解决Web服务方面的问题的,采用了哪些技术?
吴岷:土豆网视频CDN中使用的Web服务器是我们自己研发的。当时我们分析了用通用http服务器的实现原理,并针对视频的特点加以改善。
一般http服务器使用sendfile api把文件发到socket上。对于小文件,比如图片,一般一次读操作就能读取整个文件,这时由于不需要多余的内存复制,所以sendfile的效率很高。但是视频文件比较大,几乎不可能一次从磁盘上把文件读出来,要同时服务很多用户,这时哪个文件读第二次就是一个很大的问题。当时我们主要的改进是舍弃了调用sendfile,改成用read读取磁盘,然后磁盘调度由应用程序实现,而不是交给操作系统,所以我们能把磁盘调度做到最优化。最近我们把视频同步也集成到我们的Web服务器中,这样,不光硬盘的读,连硬盘的写都由一个程序来负责调度,大大提高了磁盘的读写吞吐。另外,因为整个Web服务器都是自己开发的,所以在实现比如支持HLS等新功能时就比较方便了。
InfoQ:请您从总体上说明一下土豆网的视频CDN架构的特点。
吴岷:总的来讲,土豆视频CDN架构最显著的特点就是采用push模式实现文件同步。中心控制节点知道所有信息,所有行为都由中心控制节点发出。这样做从策略上非常灵活,几乎没有策略上不能实现的需求。但是从实现上讲就比较复杂。对于中心节点服务器可扩展性、稳定性、计算能力等都有相当的考验。
为您推荐
据国外媒体报道,美国年度消费电子大展(CES)将于新年第一个星期在拉斯维加斯拉开帷幕,屇时下一代DVD标准的两大阵营,由索尼牵头蓝光和东芝为首的HD将展开新一轮厮杀。然而,在这场未来DVD标准王者之争中,消费者却渐行渐远,有线网络服务商的高清视频点播服务成了最大的赢家。蓝光与HD阵营自自坚持的标准基于对消费者需求的不同理解,由东芝牵头的HD阵营认为,消费者不可能为下一代DVD光盘和播放器出高价,因此HD标准基于对现有DVD技术的升级,并且相互兼容;而索尼为首的蓝光阵营却认为,消费者只对新技术感兴趣,因此蓝光标准更多考虑了未来的创新应用,与目前的DVD技术不兼容,价格极高。两大阵营的争斗目前仍处
中国媒体行业监管部门修改了关于海外公司进入受严格控制的卫星电视行业的规定,但没有放宽在受众范围方面的限制。虽然将于8月1日起实施的新规定明确了一些申请卫星电视频道落地的程序,但其中必须在提交申请的同时附上一份评估报告的规定令人产生了一些困惑。Paul,Weiss,Rifkind,Wharton&Garrison中国地区业务负责人JeanetteChan表示,她不清楚上述评估报告指的到底是什么。希望在中国开播卫星电视频道的海外公司必须先同指定机构中国中央电视台(ChinaCentralTelevision)旗下的中国国际电视总公司(ChinaInternationalTelevisionCorp
美国GenesisMicrochip公司是全球领先的视频处理技术提供商,该公司的视频处理技术在LCD显示器中得到广泛的应用。据Genesis公司CEOElieAntoun透露,2004年全球液晶显示器出货量预计超过1500万,Genesis的视频处理芯片将占近50%的份额。然而,按照iSpulli公司的预测,到2008年全球数字电视市场容量将超过8,500万台。无疑,数字电视将是视频技术应用的主要市场。Genesis在主导传统显示器视频处理技术的同时,在高端电视市场中已经取得不俗的业绩,全球主要的彩电厂商已经有很多产品采用了该公司的先进视频处理器。然而,数字电视巨大的市场机会正在加剧半导体厂商
-已覆盖43个大中城市-每月收费120元据新华社北京1月3日电经过4个月的试播,中央电视台高清影视频道于2006年1月1日正式向用户推出。频道有关负责人3日透露,截至目前,央视高清影视频道已在上海、杭州等43个大中城市推广,春节前将覆盖到北京、天津等城市。据介绍,这些城市的有线电视用户可向当地有线电视网络公司申请订购高清影视频道,费用统一是每户每月120元。央视高清影视频道正式播出后,节目增加到每天19个小时;伴音也从1月1日起改为5.1环绕声,完全可以发挥家庭影院的功能。