引言
Alphago打破围棋神话、无人驾驶、机器人送餐,人工智能已备受全球瞩目,现在资本的热潮也正转向AI市场,智能化大潮已势不可挡。当下人工智能和云业务紧密关联,未来将变得更加智能,但在这个智能化的背后,是对海量数据存储的刚性需求,据悉,单是一辆无人驾驶汽车每秒产生的数据容量就在1G左右,相当于每秒发送20万封纯文本电子邮件,或上传100张高清数码照片。没有大容量、超稳定的存储系统,这一切都是无稽之谈。
无存储,不智能,那么云存储技术是如何实现的?今天将由UCloud存储研发部经理李希源给我们带来云存储-—对象存储(UFile)技术深度解析。
对象存储 UFile
对象存储(UFile)是为互联网应用提供非结构化文件存储的服务;相对于传统硬盘存储,UFile具有存储无上限、支持高并发访问、成本更低等优势;解决业务架构的文件存储问题,有效降低海量文件的存储成本,支持热点数据的高并发访问,提升终端用户访问体验。
单地域UFile存储架构集群介绍

单地域UFile架构大体可划分为6大集群:
主要从以下三点解析:

UFile索引层设计
UFile索引层为一套分布式KV存储系统,其主要目标是保证UFile对象元数据的高性能、高可靠、高可用及可扩展的存储,其主要分成2层架构:

UFile存储层设计
存储层包括3中类型模块集群:

UFile存储路由算法设计
UFile存储集群采用无中心设计,数据存储采用固定的路由算法进行存储,因为存储集群的规模是固定的,因此路由表也是固定,这就保证了存储系统的简单性及稳定性。下面详细介绍UFile数据存储层的路由算法设计。
在存储集群上线时,每个集群的OsdMaster将该集群的磁盘信息进行组织,生成一个存储路由表,该路由表的每个项目对应3块分布在不同机架及存储机器上的磁盘,对象数据将按照该路由表指定的位置进行存储。
每个存储在UFile上的对象数据将被切分成若干个4MB的数据块,称为分片。UFile为每个对象分配一个单集群内部唯一的对象ID,通过对象ID和分片编号拼接获得分片ID,通过字符串哈希算法获得哈希值,并在路由表中找到该分片存储的3块磁盘位置,由UFile接入模块将该分片数据提交到3块磁盘上。
当单块磁盘出现异常时,OsdMaster会发现该情况并将该磁盘标记为异常状态,接入层写入该数据时,将只写入两份数据,磁盘修复后,将从这两份数据中拷贝一份数据到已修复磁盘,恢复数据的多份高可靠存储。当出现一个哈希表项中有2块磁盘不可使用的情况下,为保证数据安全性,该存储集群将不允许写入操作,写入操作将被切换到其他集群提供服务,从而保证UFile读写的高可用性。
UFile功能优势:
1. 海量存储
存储空间无上限,无需考虑存储空间扩容问题,单文件***支持5TB。适用于音视频、图片分享等UGC类应用海量文件存储。
2. 高并发
支持高并发访问,突破传统磁盘I/O限制,满足高访问量及高下载量业务需求。适用于高下载量高访问量应用文件的存储。
访问加速
存储文件结合CDN分发加速,国内外500+加速节点,有效降低访问延迟、提升下载速度。提升全网终端用户的访问体验。
3. 安全可用
所存文件保存三份副本,分布存储于不同存储集群。即使单份数据损坏也不影响存储文件的可用性,同时保证文件安全。
4. 内容保护
可通过身份验证机制及防盗链设置控制终端用户访问权限,避免因内容被盗用产生的版权损失及恶意访问的流量消耗。
5. 图片处理
提供图片处理服务,支持图片缩放、剪裁、添加水印等功能,并提供多种尺寸设置,满足移动端、PC端等多终端访问需求。
6. 更低成本
存储单价仅为云硬盘的1/2,下载由CDN分发,降低存储及网络成本。按实际使用量计费,无存储及带宽资源闲置浪费。
7. 开发支持
完备的API接口及SDK开发包支持,适合多种语言,与原有业务无缝结合,能够极大缩短开发周期,帮助业务快速上线。
总结:
在大量企业对数据存储的强需求背景下,UCloud对象存储系统应运而生,本文通过介绍UFile产品、底层文件存储系统实现细节、功能优势,分析UFile如何实现高可靠及高可用特性,为企业数据服务保驾护航,从云存储技术出发,助力各个领域的企业更高效、更智能探索数据价值。
【本文是51CTO专栏机构作者“大U的技术课堂”的原创文章,转载请通过微信公众号(ucloud2012)联系作者】
戳这里,看该作者更多好文