文件服务: 数据模型设计

一、文件存储源模型设计

文件服务会对接多种文件存储方式(如:本地存储、minio存储、ks3存储、阿里云存储等),对于这些存储方式使用持久化的方式进行动态管理,实现存储方式的注册、修改、删除等操作。数据模型设计如下:

CREATE TABLE IF NOT EXISTS `file_source` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL COMMENT '文件源名称',	
  `fs_params` text NOT NULL COMMENT '文件源配置信息',
  `platform` varchar(50) NOT NULL COMMENT '文件源所属平台',
  `description` varchat(255) DEFAULT "" COMMENT '数据源描述' ,  
  `created_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY index_name (`name`),
) COMMENT='文件源信息管理表';

该表主要用于存储文件储存源的连接信息。

二、文件存储业务管理表

由于文件系统需要对接多个业务线,要求不同的业务线要实现数据的隔离,因此业务管理表主要用于管理业务类型,数据模型设计如下:

CREATE TABLE IF NOT EXISTS `business` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `biz_name` varchar(50) NOT NULL COMMENT '业务名称', 
  `description` text DEFAULT "" COMMENT '业务描述' ,
  `created_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY index_name (`biz_name`),
) COMMENT='业务管理表';

三、文件管理表

主要用于保存上传的文件信息,并根据业务类型做存储隔离。

CREATE TABLE IF NOT EXISTS `file_info` (
  `id` bigint(20) NOT NULL  AUTO_INCREMENT,
  `fs_id` bigint(20) NOT NULL,
  `biz_id` varchar(64) DEFAULT NULL COMMENT '业务ID',
  `file_type` varchar(255) DEFAULT 'IMAGE' COMMENT '数据类IMAGE:图片;VIDEO:视频;AUDIO:音频;DOC:文档;OTHER:其他}',
  `md5` varchar(255) DEFAULT NULL COMMENT '文件md5值',
  `file_name` varchar(255) DEFAULT '' COMMENT '唯一文件名',
  `original_name` varchar(255) DEFAULT '' COMMENT '原始文件名',
  `size` bigint(20) DEFAULT '0' COMMENT '大小',
  `content_type` varchar(128) NOT NULL COMMENT 'HTTP响应类型',
  `url` varchar(255) NOT NULL COMMENT '文件访问链接',
  `created_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `updated_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',  PRIMARY KEY (`id`) USING BTREE
) COMMENT='文件信息管理表';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玉成226

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值