基于智能媒体管理产品构建的网盘介绍

本文涉及的产品
对象存储 OSS,20GB 3个月
文件存储 NAS,50GB 3个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: 本文将介绍如何使用阿里云生态构建网盘服务

fun工具下载地址:https://github.com/aliyun/fun/releases/tag/v2.1.1

一、基本概念介绍

本部分将向您介绍本产品中涉及的几个基本概念,以便于您更好地理解网盘产品。

网盘架构:

1.png

组织(Group)

Group是网盘的一个管理对象,所有网盘资源和网盘用户都归属于某个Group,Group之间相互隔离。您可以为不同的用户群体创建不同的Group,Group之间的资源不能共享。您可以登录官网控制台维护您的Group对象。

客户端(Client)

Client是访问Group的受信对象,为了避免Group的资源被任意客户端访问。在调用API访问Group资源之前,需要通过Client信息鉴权,鉴权通过后才能访问。您可以登录官网控制台维护您Group下的受信Client对象。

企业用户(User)

User是所有登录官网控制台的企业用户,每个User都可以创建Group,并使用网盘资源。企业用户与使用网盘的普通用户不是同一个概念,企业用户是网盘的管理员,需要配置网盘的各项参数,提供网盘给普通用户使用。

存储配置(Storage)

Storage是网盘的存储配置对象,配置项包含:
1) 网盘存储文件使用的OSS Bucket。
2) 网盘访问OSS所使用的子用户AK和Role。
3) 是否自动给每个普通用户分配网盘。
4) 网盘是否开通文档预览服务。

网盘使用之前,必须由管理员指定文件存储的OSS Bucket,否则无法使用。

用户网盘(Drive)

Drive是普通用户使用网盘的入口,用户可以从Drive上传下载文件,可以将Drive中的目录共享给其他普通用户。普通用户获得Drive都是由管理员分配,可以有容量限制。

用户共享(Share)

Share是普通用户之间共享目录的入口,用户可以通过Share访问其他用户的文件。Share有两种权限:
1) 只读:只能查询,无法修改
2) 读写:可以修改和查询

普通用户(GroupUser)

GroupUser是所有使用网盘的用户,GroupUser属于Group,只能访问所属Group下的资源。

文件(File)

File对象包含两种类型:file/folder。File对象只存放了文件的Meta信息,Meta信息包含文件在OSS中的存储路径,可以通过此对象找到对应OSS Bucket中存放的实际文件。可以通过Drive ID或者Share ID,加上路径查询某目录下的文件。

二、功能和使用方法介绍

管理Group和Client(创建企业网盘)

使用网盘的第一步就是登录官网控制台创建一个Group。

登录官网控制台:

1.png

创建Group:

2.png

创建完成后可以直接进入到网盘界面:

4.png

配置Storage(指定OSS Bucket和Drive分配策略)

创建Storage之前,需要准备以下资源:

1) 创建一个OSS Bucket,OSS控制台

17.png

创建成功后,选中该Bucket,点击基础设置->跨域设置->创建规则

18.png

来源要填写您部署的UI界面所对应的域名,可以配置多个。

2) 创建一个有STSAssumeRole和OSSFull权限的子用户,并且记录下AK信息。

进入用户管理页面,新建用户

19.png

记录下AK信息

20.png

给用户授予STSAssumeRole和OSSFull的权限

21.png

3) 创建一个有OSSFull权限的角色,并记录下Arn

进入角色管理,创建角色:

22.png

23.png

24.png

然后给角色授予OSSFull的权限:

25.png

进入角色详情, 记录下角色Arn:

26.png

准备工作完毕。

开始创建Storage,进入存储配置,点击创建:

5.png

配置Storage参数:

6.png

给普通用户分配Drive

分配网盘有两种方式,一种是默认网盘,在配置Storage的时候填写。

另一种是管理员手动分配,在存储配置页面,选择一条Storage记录,点击操作列的+号。

7.png

选择一个用户即可分配网盘:

8.png

上传文件

选择一个网盘进入:

9.png

将文件或目录拖拽至空白区域即可上传:

10.png

下载文件

选择一个文件双击打开,右上角有下载按钮,选择自己需要的方式获取下载链接。

11.png

共享目录

选择一个目录,点击右下角共享按钮:

12.png

填写共享参数:

13.png

授权方式有三种:
1) 访问此链接的所有用户:访问此链接的用户都会分配一个共享,链接被访问后不会失效。
2) 第一个访问此链接的用户:第一个访问此链接的用户会分配一个共享,访问后链接立刻失效。
3) 所有知道此链接的人: 分享给所有人,无需登录网盘,只要访问链接就可以看到里面的内容。

参数填写完成后点击生成链接,然后将链接通过其他方式发送给需要的人。

三、功能实现方案介绍

网盘部署架构图

14.png

网盘所有功能都是通过API调用,网盘业务代码部署在函数计算中,由API网关收到用户请求后触发。

例如:用户上传文件场景

1) 用户发送创建文件请求到API网关。

2) API网关收到请求后,触发函数计算中对应的handler

3) handler运行起来后,生成文件ID,并将文件的ID、名称、路径、大小等Meta信息写入OTS。

4) 基于文件的ID,生成一个访问OSS的STS Token,并返回。

5) API网关将handler返回信息透传给用户。

6) 用户使用STS Token访问OSS,将文件上传到OSS。

7) 文件上传完成后,OSS通知函数计算中对应handler,handler更新文件大小和状态等信息写入OTS。

数据结构设计

对象之间的关系如下:

15.png

1) Group包含所有资源对象,隔离不同的网盘。
2) Storage配置OSS存储资源,提供实际文件的存储位置。
3) Drive是基于Storage的存储目录,Drive中包含权限信息,记录了可访问此目录的用户,用户只能通过Drive或Share访问网盘的文件。
4) Share是用于分享目录给其他用户的对象,Drive下所有folder都可以创建Share,并分享给其他用户。Share中包含权限信息,记录了可访问此目录的用户。
4) file、folder都是File对象,只是type不同。记录了一个文件信息。访问file或folder只能基于Drive或Share,不能直接访问文件。

网盘所有对象的OTS表结构设计:
http://apsaradrive-site.oss-cn-shanghai.aliyuncs.com/#/docs/api%2Fots-design

File对象Path的存储结构简化示意图:

16.png

1) Storage用于找到文件在OSS Bucket中的位置
2) Drive作为用户访问File的入口,用户通过Drive访问File之前需要先判断是否有该Drive的权限。
3) Share可以从Drive下任意目录创建,创建后用户可以通过Share访问到目录和文件。

四、参考文章

部署指南: https://yq.aliyun.com/articles/613780

目录
相关文章
|
存储 人工智能 运维
智能媒体管理产品优势有哪些?
基于阿里云存储的文档、图片、视频等多媒体数据,典型的应用场景有图片应用、网盘应用等,针对目前的架构进行如下场景分析。
1201 0
|
存储 安全 API
智能媒体管理产品“文档标准型”使用介绍
智能媒体管理(Intelligent Media Management, IMM) 是阿里云的云服务,它通过 文档标准型 实例提供了 Cloud Native 架构的文档转换/预览功能,本文介绍功能使用、计费相关的配置。
2395 0
|
机器学习/深度学习 新零售 人工智能
1月9日云栖精选夜读:场景化封装,一站式使用,普惠AI集成 ——阿里云发布智能媒体管理产品
导语 近日,阿里云发布了智能媒体管理(Intelligent Media Management)服务, 通过离线处理能力关联授权的云存储,提供便捷的海量多媒体数据一键分析,并通过该分析过程构建价值元数据,更好支撑内容检索。
3815 0
一张图看懂阿里云智能媒体管理产品
近日,阿里云发布了智能媒体管理(Intelligent Media Managemen)服务, 通过离线处理能力关联授权的云存储,提供便捷的海量多媒体数据一键分析,并通过该分析过程构建价值元数据,更好支撑内容检索。
3751 0
|
存储 JSON 数据挖掘
利用智能媒体管理(IMM) 搭建云相册指南
- 为用户创建智能云相册 - 支持人脸检测,获取包括人脸位置、表情、年龄等信息 - 支持人脸分组,可以根据人物搜索、展示照片 - 支持照片标签检测,可以根据标签对照片进行分类 - 支持地理位置检测,获取照片拍摄的具体位置、时间,并且可以进行搜索
1097 0
|
存储 对象存储 计算机视觉
智能媒体管理(IMM)视频分析中明星识别介绍
智能媒体管理已经支持了视频分析功能,用户可以方便的使用该功能对存储在oss上的视频进行全面的分析。本文主要介绍利用智能媒体管理的视频分析功能来提取视频中的明星信息。 智能媒体管理的视频分析包含了明星识别功能,可以帮助用户抽取出视频中出现的明星信息。
2992 0
|
存储 计算机视觉 对象存储
智能媒体管理(IMM)视频分析在在线教育行业中的应用
智能媒体管理已经支持了视频分析功能,用户可以方便的使用该功能对存储在oss上的视频进行全面的分析。本文主要介绍利用智能媒体管理的视频分析功能来评估在线教育视频的质量。 智能媒体管理的视频分析包含了多种分析功能,针对在线教育行业,主要利用了人脸、内容理解以及语音转文字的功能。
1937 0
|
存储 定位技术 API
智能媒体管理(IMM) 多媒体文件元数据管理设计
## 简介 随着存储团队的产品愈加丰富,我们发现处理对文件、内容本身的高性能、稳定、安全存储之外,用户更多的对挖掘存储内容对价值提出了要求。对于多媒体文件(如图片、视频、音频、文档等),其包含的信息量是非常丰富的。如何将这些信息激活,有效的进行管理和检索,是 智能媒体管理(IMM) 尝试解决的问题。 ## 媒体集 Set 为此,IMM 设计了 媒体集 ( Set ) 的概念,表示
2365 0
|
搜索推荐 对象存储 Python
使用智能媒体管理(IMM)快速搭建人脸搜索服务
在服务构建中,我们经常需要对用户的图片做进一步分析。本文利用 智能媒体管理(IMM) 提供的图片索引功能,快速搭建一个人脸搜索的功能,示例使用 Python 2.7 实现。
2183 0
|
消息中间件 API Python
IMM 服务(智能媒体管理)通过 MNS 队列通知获取异步任务执行结果--Python示例
IMM服务(智能媒体管理)的 API 提供异步接口能力,处理大文件的文档转码、图像或者视频的 AI 处理,此时采用轮训的方式(比如文档转码的 GetOfficeConversionTask接口)效率不高,通过 MNS 队列通知获取异步任务执行结果是一种高效的方式,转载文章提供了 Python 示例,供大家参考。
1678 0

相关产品

  • 智能媒体管理
  • 下一篇
    无影云桌面