干货 | 公有云存储技术分享

公有云是PP视频核心的文件存储服务,目前正在为苏宁云、苏宁体育等部门提供后台支撑。本文就  “swift分布式存储”、“项目架构”、 “文件上传流程”、“上传功能”四个方面进行介绍。

一、swift分布式存储

什么是swift?


Swift 最初是由 Rackspace 公司开发的高可用分布式对象存储服务,并于 2010 年贡献给 OpenStack 开源社区作为其最初的核心子项目之一,为其 Nova 子项目提供虚机镜像存储服务。Swift 构筑在比较便宜的标准硬件存储基础设施之上,无需采用 RAID(磁盘冗余阵列),通过在软件层面引入一致性散列技术和数据冗余性,牺牲一定程度的数据一致性来达到高可用性和可伸缩性,支持多租户模式、容器和对象读写操作,适合解决互联网的应用场景下非结构化数据存储问题。

-官网地址: http://docs.openstack.org/developer/swift/

-Github代码地址: https://github.com/openstack/swift

下图是swfit系统架构,细节可参考相关文档:

swift存储特点:

  1. 分布式对象存储: 理论上可以存任意大小,任意类型的文件。
  2. 极高的数据持久性。Swift具备10个9以上的数据持久性。
  3. 完全对称的系统架构。Swift中各节点可以完全对等,能极大地降低系统维护成本。
  4. 可扩展性。因为Swift是完全对称的架构,扩容只需简单地新增机器,系统会自动完成数据迁移等工作,使各存储节点重新达到平衡状态。
  5. 无单点故障。整个Swift集群中,也没有一个角色是单点的,并且在架构和设计上保证无单点业务是有效的。
  6. 简单、可依赖。SWift架构优美、代码整洁、实现易懂,不管出现任何问题,都能通过日志、阅读代码迅速解决。
  7. RESTful API: 资源访问路径规范, 统一http协议访问。
  8. 功能拓展和二次开发方便: 可以用插件的方式给swift服务添加附属组件, 方便开发人员对服务进行功能扩展以及二次开发。
  9. 技术栈完备:针对用户管理和鉴权, 有Keystone;针对存储服务器监控, 有Swift Recon插件;针对客户端请求监控, 有Swift Informant插件;另外,作为OpenStack项目的旗舰产品之一, Swift和Openstack技术栈的其他产品进行整合和扩展非常容易。


公有云Swift系统设计


  1. 使用lvs做proxy负载均衡和故障转移
  2. 使用udp发送到本机rsyslog收集日志
  3. 依照机柜划分zone
  4. 使用keystone认证
  5. 使用rsync同步ring文件

二、项目架构

公有云项目主要由 “filecenter, filecenter-tool, filecenter-hash”三个模块组成:

filecenter

公有云项目核心模块。主要功能包括: 文件的创建、上传、特征值校验,文件扩展信息管理等。同时它负责管理和调度系统内其它他模块(filecenter-hash、filecenter-tool)。

filecenter-tool


该模块主要包含一些定时任务,执行一些边缘化的任务。例如:

  • 由于文件是分块上传,如果文件没有上传完成,则删除一个月之前的分块记录。
  • 将文件的审核信息载入redis缓存, 供之后查询管理。

filecenter-hash


通过MQ接受filecenter派发的任务: 从swift下载文件流计算特征值,并将结果用MQ发送回filecenter。

三、文件上传流程


1. 获取上传令牌: 用于后去上传操作中校验请求合法性

2. 获取文件ID: 用户提交文件信息, 公有云生成并返回文件的ID

3. 用户获取分段上传地址

4. 用户按分段地址上传分段到swift,swift在接收分段文件的同时验证每个分段的MD5值, 确保接收到的分段的有效性

5. 每个分段上传完成, 汇报公有云

6.公有云filecenter判断文件上传完毕,异步提交文件清单及通知特征值计算

四、上传功能


基于上述核心上传流程,公有云还实现了“秒传”,“断点续传”,“并发上传”等功能。


秒传

公有云利用独创的ppfeature作为上传文件的唯一标识, 其特点为客户端可以快速计算获取; 当上传的文件ppfeature和库文件重叠时, 判定为已存在文件, 走秒传流程.

断点续传

公有云利用分段缓存的机制实现断点续传; 当上传未完成文件时, 系统返回剩余分段地址给客户端。

并发上传

公有云利用分段缓存的机制实现并发上传:不同客户端可以同时上传同一文件, 并且各自获取不同的分段地址, 从而实现无重复接力上传。

原文地址:http://blog.51cto.com/13662240/2153669

时间: 2024-11-09 00:09:29

干货 | 公有云存储技术分享的相关文章

公有云 vs 私有云 如何抉择?

大型数据中心的建筑面积或许会有几千.几万平米,小型数据中也可能只有几百平米,不管从建筑规模.业务分布.侧重点等方面都会有所不同,对于云计算的择取方面,不同数据中心也会有不同的抉择. 对于大型企业来说,数据中心中断1个小时造成的损失恐怕可以建立数个百平米左右的小型数据中心了,如果造成了数据遗失,造成的损失将更加难以计数. 数据中心的高可用性.关键数据可靠性.网络传输的安全性.--,是大型数据中心考虑的重点,因此大型数据中心不会将数据完全迁移到公有云,他们更加专注于私有云技术在大型数据中心应用与推广

“云中论道”之——使用开源技术和Azure公有云服务快速搭建云端IoT解决方案(上)

"云中论道"技术课堂第一课开讲啦!微软各路技术咖们齐聚一堂,为大家带来干货不断!作为"云中论道"课堂的开课之作,我们首先邀请到了微软Azure专家级的架构师:槐长清,他为我们带来了关于"使用开源技术和Azure公有云服务快速搭建云端IoT解决方案"的精心讲解. 本文作者介绍: 微软Azure专家级架构师,江湖人称"槐长清",曾连续5年被评为微软最有价值专家,多年云计算从业经验,对微软公有云解决方案有深入研究. 涉及产品及技术:

当公有云Azure拥抱Docker容器技术

本文转载至 http://3387405.blog.51cto.com/3377405/1598977 预见未来看似是一件不太可能的事情,然而现在企业科技高速发展的态势完全超乎想象. 就在几周前InfoWorld的主编Eric Knorr在引流潮流专栏发表一篇非常火爆的关于2015年以及之后的九大科技企业趋势,在其中非常清晰的指出这九大潮流中头两位就是公有云的胜利和容器技术的狂热.从这里我们很容易理解为什么最近Scott Guthrie 发表并且Jason Zander 再次阐述与Docker合

【干货】2016年12月29日 阿里云内部技术分享

阿里云大数据助力东润环能高效利用云端资源http://click.aliyun.com/m/8857/从天津滨海新区大爆炸.危化品监管聊聊 IT人背负的社会责任感http://click.aliyun.com/m/8858/SQL Server幕后英雄 - 统计信息http://click.aliyun.com/m/8859/如何以更优雅的方式实现弹性架构http://click.aliyun.com/m/8860/如何利用工具提高React页面渲染性能http://click.aliyun.c

【华为云技术分享】技术探秘:华为云瑶光何以定方向

作为北斗第七星,瑶光自古就可用来判断四季更迭.引向定时.而作为全新发布的智能云操作系统,瑶光智慧云脑又是如何做到统领云上各类资源.实现租户需求与资源供应之间最佳匹配的呢?在华为云瑶光实验室.华为云算法创新实验室里,我们找到了答案. #初识资源调度# 云OS:我太“南”了 依托虚拟化技术,我们得以将数据中心海量的计算.存储资源以云服务的形式对外提供.而随着数据中心规模扩展.边缘计算带来的算力延伸,承担着高效.精准资源调度的云操作系统面临着三大挑战: 第一个挑战是云计算的资源消耗/售卖模式带来的.云

Azure手把手系列 I:微软中国公有云服务

很久没有写文章了,主要也是疏于自己的懒惰,对于IT技术的放弃,但我相信浪子回头金不换,所以我又回来了. 相信现在还在泡博客的还在做IT的,或多或少都听过云.私有云及公有云的概念,那么今天给大家分享的是微软在中国的公有云服务.这里我就不再浪费口水的去描述什么是公有云,什么是云计算之类的内容了,让我花两张图的时间来分享微软在公有云上的技术沉淀: Microsoft 构建和管理数据中心已超 25 年之久.现在微软云规模数据中心为其 200 个以上的消费者服务提供了核心基础结构和技术,包括 Bing.M

【云杂谈】之十一《预测:2018年公有云市场将达到2000亿美元;近日Google继续降价》

2015-05-25 张晓东 东方云洞察 点击上面的链接文字,可以快速关注"东方云洞察"公众号 近日,市场研究公司Infonetics Research发布了其新的云服务的IT基础设施和应用的市场规模.市场份额和预测报告,该报告追踪了场外云服务市场空间和那些供应商能在这个领域中生出. (Infonetics公司最近发布了对北美企业的云服务战略的相关研究.) 新的18页的云服务报告提供的场外云服务市场,其中包括应用程序和计算基础设施的云服务提供商(CSP)的数据中心提供,包括基础设施作为

1元体验微软公有云,看起来还不错

最近参加微软的微博活动,提前拿到了一个世纪互联Azure"1元账号"订阅,可以用来部署一些云服务,常见的就是虚拟机啦什么的.不过这两天1元账号开放申请了,更多人可以抽空体验一下. 俗话说一块钱买不了吃亏买不了上当,本着捡白菜的心态也有可以去试试呗.当然这东西对个人用户来说,价值不大.要想用它,起码要一点点的商业需求才好(文末有惊喜). 现在Azure实际上至少有3种账号级别的订阅: 正式账号:通过付费购买的充值账户. 1元账号:近期活动开搞的,一个月给2000人民币配额,随便创建虚拟机

乱象?真象!——中国公有云服务市场大起底

1月30日,亚马逊宣布从2015财年第一个财季开始,把云计算业务部门--亚马逊AWS的财务业绩单独列出.亚马逊AWS作为全球公有云服务的标杆之一,其业务一直在发展壮大.虽然从全球范围来看,公有云服务在快速落地,但毕竟还处于发展的初级阶段,即使像微软.Google这样的公有云服务的领先者,迄今为止也从未在其财报中单独披露过各自云计算的业绩. 2013底,亚马逊AWS正式进入中国.当时,已经有人喊出中国公有云服务市场"狼来了".前不久,Oracle也露了口风,要将公有云服务全面落地中国.国