基于OSS的文件系统设计

OSS介绍

对象存储(Object Storage Service,简称OSS),是基于阿里云飞天分布式系统的海量、安全和高可靠的云存储服务。

设计方案

  1. 服务端文件上传

    这里写图片描述
    描述:
    1) 云端服务通过引入base-io(目前包含两个模块,分别是子账号模块、授权访问模块)依赖,通过RAM (Resource Access Management)子账号对OSS进行文件上传操作。
    2) 文件上传完成后,OSS将上传结果告知云端服务。

  2. 客户端文件上传

    这里写图片描述
    描述:
    1) Client向云端服务请求令牌,云端服务可以确切地定义出每个Client的最小访问权限。
    2) 云端服务请求STS服务获取一个安全令牌(SecurityToken)。在调用STS之前,云端服务需要确定Client的最小访问权限(用Policy语法描述)以及授权的过期时间。 然后通过调用STS的AssumeRole(扮演角色)接口来获取安全令牌。
    3) STS返回给云端服务一个有效的访问凭证,包括一个安全令牌(包含SecurityToken、临时访问密钥(AccessKeyId, AccessKeySecret)以及过期时间)。
    4) 云端服务将访问凭证返回给Client。Client可以缓存这个凭证。当凭证失效时,Client需要向云端服务申请新的有效访问凭证。比如,访问凭证有效期为1小时,那么Client可以每30分钟向云端服务请求更新访问凭证。
    5) Client使用本地缓存的访问凭证去请求OSS。OSS会感知STS访问凭证,并会依赖STS服务来验证访问凭证,并正确响应用户请求,同时OSS接收Client文件请求后,将操作信息告知云端服务。
    6) OSS将上传结果返回给Client。

  3. 文件下载

    这里写图片描述
    描述:
    1) Client拿到文件的url后通过HTTPS进行文件下载。
    2) 文件请求会首先经过CDN,如果CDN有缓存则跳转到4,如果没有则继续3。
    3) CDN回源请求OSS,并将文件更新到CDN缓存。
    4) CDN返回文件给Client,完成文件下载。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值