深入解析文件存储服务

作者介绍:刘金明,2008年硕士毕业加入腾讯,一直在架构平台部从事文件存储服务平台的建设和运营,专注于成本、体验和功能的持续优化。文件存储服务平台目前已接入微云、邮件、腾讯视频、QQ群以及腾讯云对象存储COS等数万个业务,存储量数百P。

腾讯TEG架构平台部研发的分布式文件存储系统TFS自2006年诞生至今已超过10年,存储量突破EB级别。随着业务的不断发展和演化,针对业务不同的使用场景,定制化开发了多个业务支撑平台。文件存储服务平台就是基于TFS研发的高可用,高稳定,强安全的云端存储服务系统。目前已接入QQ、微云、QQ邮箱、腾讯视频等腾讯内部数百个业务以及腾讯云对象存储服务COS的数万个客户,存储量数百P。

有别于图片平台和视频点播平台对数据格式的深入理解,文件存储服务平台更关注数据的存储和全局分布调度,同时支持全局排重和跨业务转存能力,在保证数据足够安全可靠的情况下做到成本收益最大化,另外平台可支撑任意数量、任意大小和任意格式的数据存入,满足用户丰富的应用场景。

一、全局分布调度

为了支持海量的存储规模,并解决一些如地震、洪水等不可抗力因素造成的数据安全隐患,平台将数百P数据分布在国内外多个机房,任何一个机房都不会成为资源瓶颈。同时平台实现了用户索引和数据的分离存储,用户可根据C段IP来申请上传服务,平台通过IP直通车将请求定位到路由最近的可服务的机房,并返回给用户匹配的运营商IP来实际上传上传数据,达到就近上传的效果。其次用户可选择接入分布在全球500+节点的CDN服务,将极热文件分发到CDN,极大的提升下载体验。

二、秒传、跨业务转存

当我们上传一个电影或者安装包到微云的时候,当我们用邮箱给不同的朋友发送一些材料的时候,当我们想把家人用QQ传送的文件保存到微云的时候,我们发现不管文件有多大,我们都可以在秒级内传完,这是因为平台构建了全局文件信息摘要索引,平台下所有业务可以根据文件摘要信息相互排重和互转,极大提升用户体验且降低存储成本。

三、成本收益最大化

多级存储:平台提供多种存储级别供用户选择,并提供了配套的级别调整能力。通过TFS家族中的标准存储引擎,低频存储引擎和近线存储引擎,分别实现了线上实时存储的高频存储服务,低频存储服务,以及近线存储服务。高频存储拥有低访问时延和较高的吞吐量,因而适用于有大量热点文件,需要频繁访问数据的业务场景,例如热点视频,移动应用,游戏程序,动态网站等。低频存储拥有较低存储成本和较低访问时延,适用于较低访问频率的业务场景,例如网盘数据,低频档案等。近线存储是拥有极低存储成本的在线存储服务,相比离线存储,近线存储在访问时,无需用户等待,适用于数据访问频率极低但是必要时仍需要在线读取的业务场景,例如较冷的媒体资源,灾难备份数据等。用户可以根据自身的业务场景选择存储级别,同时在使用过程中可以自动或者手动的调整存储级别以适应当前业务场景。

冷热智能调度:往往一个业务的文件可能不只适应一个存储系统,比如QQ邮箱中的附件会随着时间的推移逐渐变冷,腾讯微云中的文件大多数用户备份的文件都极冷,但是也有一些热门电影等热文件存在,通过对各个业务的深入理解,以及大量的数据分析,平台对每种业务采用了不同的调度策略。像微云这种冷数据居多的业务,上传直接选用近线存储,通过平台记录的文件访问次数,当访问频率超出近线存储阈值时,实时调度到低频或者高频存储,同时在数据逐渐变冷后,再调度到近线存储,实现了文件在各个存储引擎之间的智能调度,大大节省了存储成本。

四、多种手段保证数据的安全可靠

数据存储的持久性和可用性:平台分别从磁盘、服务器、集群、机房、跨地域等五个方面进行容灾,使得小到磁盘的某个扇区异常,大到某个机房网络中断甚至遭受如地震等不可抗力因素造成机房销毁时都可以保证用户数据的安全,数据持久性高达11个9,服务可用性99.95%。

保证数据的可销毁性:用户要求删除对象数据时,数据将从内存以及磁盘中删除,并且原磁盘使用空间将会被新的对象数据覆盖,从而实现彻底删除,无法复原。下线的存储服务器报废时,磁盘通过消磁销毁里面的数据。

保护数据私密性:外部客户接入可通过腾讯云安全平台提供的统一鉴权服务来保证数据的私密性。鉴权服务平台的每条权限记录由用户、操作、条件、资源四部分组成,即说明在什么条件下,谁是否可以对哪条资源做什么类型的操作都由鉴权服务统一控制,从而保证用户数据的私密性,方便用户更智能地分配资源的权限。

保护数据抵抗攻击:平台提供防盗链功能,用以屏蔽恶意来源的访问,DDOS攻击防护和CC攻击防护,可以过滤恶意攻击数据包,清洗出正常流量。

五、丰富的应用场景

海量UGC业务存储场场景:平台能够随着用户数据量的增多自动扩容,满足客户海量存储的场景,并且自动选择用户就近节点上传、下载,大幅度缩短了终端上传文件的时间,同时也提高了文件上传的成功率,在腾讯微云业务已经得到了很好的应用。

大数据计算场景:平台比传统的NAS设备有更充足的带宽支持,避免了访问时延长或者服务不可用的情况出现,并且可根据用户对计算时间的要求,对存储和带宽的规模进行调整,使客户成本收益最大化。

数据备份的场景:前文已经提到,平台提供了一套分级存储的方案,对冷数据存储的场景,客户可选择将数据保存在低频或近线存储中,如此可以在不降低数据持久性的前提之下,为客户提供一个海量低价的空间。

热点资源的分发下载场景:面对视频点播源,游戏资源等热点文件下发的场景,平台可结合CDN使用,使客户灵活应对大流量和高并发的业务场景,目前已支撑包括腾讯视频、全民K歌以及快手、CNTV等大流量客户。

视频、图片等云端数据处理场景:用户保存在文件存储服务平台中的视频、图片、文档等数据如需视频转码,图片缩放、识别鉴黄、文档预览等高级处理服务,可通过配套的数据处理服务,同时可选择FPGA卡等硬件加速,使得数据无需再下载到用户本地就可以快速、稳定的在云端处理完成。

未来

架构平台部会继续在TFS家族中追求存储成本的降低,以及功能的极致,体验。近期会推出成本极低的归档存储服务,适用于访问极低的归档类存储场景,如视频监控,医疗档案、数据备份等,进一步丰富存储产品线,使得客户可选择更低的成本存储海量数据,同时更进一步的丰富产品功能,继续加强上传、下载等核心体验,为客户提供更优质的服务。

文章来源公众号:腾讯架构师(TencentArchitecture)

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏CSDN技术头条

NoSQL数据库在现代应用程序中的作用

数据模型驱动不仅可以建立有效的应用程序,也可以有效地修改以合并新的特性。他们是“real-world”问题的解决和软件世界模仿现实世界的行为之间的桥梁。(是的,...

1885
来自专栏SDNLAB

WLAN产品形态之分层架构

随着移动互联网时代的来临,无线数据流量呈现爆发式增长,各大运营商也越来越多依靠WLAN来承载这些无线数据流量,大规模进行WLAN网络建设,分担3G网络的压力,让...

3725
来自专栏JAVA高级架构

京东架构专家分享京东架构之路

京东咚咚架构演进 咚咚是什么?咚咚之于京东相当于旺旺之于淘宝,它们都是服务于买家和卖家的沟通。 自从京东开始为第三方卖家提供入驻平台服务后,咚咚也就随之诞生了。...

3109
来自专栏微信公众号:Java团长

总结下我在架构师升级过程中的那些坑以及各种体会

先说明,本文说的是技术架构,而不是业务架构,另外,这个架构是指目前比较热门的高并发大数据的架构。论能力,我还达不到架构师的水平,所以我目前还在不断努力。

811
来自专栏java一日一条

JAVA要死了吗?不!我来告诉你为什么!

我们看到“Java 死了吗?” 这个问题,年年都被抛出来,然而至今为止,从所有的第三方统计来看,Java 不仅活的很好,还在保持增长。虽然不断有新的语言面世,T...

642
来自专栏Albert陈凯

Kylin正式发布:面向大数据的终极OLAP引擎方案

日前,eBay公司隆重宣布已经正式向开源业界推出分布式分析引擎:Kylin(http://kylin.io)。作为一套旨在对Hadoop环境下分析流程进行加速、...

4154

云监控入门

云监控是一个对基于云的服务、应用程序与基础架构进行评估、监控与管理的工作。公司利用各种应用程序监控工具来监视基于云的应用程序。下面我们来看看它是如何工作的,以及...

1957
来自专栏企鹅号快讯

年终盘点:2017年JavaScript框架发展现状

【IT168 评论】众所周知,npm在JavaScript社区的功用之一就是帮助大家发掘在npm注册的、满足需求的库和框架。Npm强大的搜索功能可以帮助用户通过...

1845
来自专栏Rainbond开源「容器云平台」

【干货下载】谷歌、亚马逊等十大公司精选微服务案例

1396
来自专栏张善友的专栏

千万级规模高性能、高并发的网络架构经验分享

主 题 :INTO100沙龙 时间 :2015年11月21日下午 地点 :梦想加联合办公空间 分享人:卫向军(毕业于北京邮电大学,现任微博平台架构师,先后在微软...

3536

扫码关注云+社区