# 文件存储功能说明手册

来源快照：`result_data_new_260518.json`

- 来源 ID：`1244861550312415253`
- 模块：文件设置
- 目录：文件常见问题处理和咨询
- space ID：`1160193825049370641`
- 原文链接：未提供
- 产品基线：未提供

## 正文

# 一、文件存储架构

## 1.1 存储架构说明

E10 系统会将系统中上传的文件，存放到指定的存储层中，物理文件存储主要分为【业务文件】和【静态文件】两种类型。

其中需要注意的是：

1、系统静态文件访问直接通过 E10 的 nginx代理到物理文件存储

2、系统业务文件访问经过 E10服务和物理文件存储交互

![](https://weapp.eteams.cn/papi/file/preview?fileId=1251238597451325441&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

核心业务功能流程如图所示：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1251240788035117060&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

## 1.2 文件存储目录架构

## 

1、文件目录结构如图所示：

![](https://weapp.eteams.cn/papi/file/preview?fileId=1251242269802725378&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

**2、结构说明：**

**序号**| **值**| **说明**  
---|---|---  
**1**| **根目录**| **存储根目录是文件存储最外层目录**  
**2**| **all_teams**| **分类：系统业务文件****说明：系统公共业务文件，系统功能中应用于整个系统的功能，如模版文件等** 存储说明：此目录下的文件根据【租户平台-文件存储设置-业务文件存储规则】设置的存储位置进行存储  
**3**| **ecodedev ；ecodestatict**| **分类：系统静态文件**  
**说明：****ecodedev：开发文件，存储ecode模块产生的二开文件；****ecodestatict: 存储ecode模块中使用的静态文件** 存储说明：此目录下的文件根据【租户平台-文件存储设置-静态文件存储规则】设置的存储位置进行存储  
**4**| **static**| **分类：系统静态文件****说明：国际化静态文件, 存储国际化模块产生静态文件** 存储说明：此目录下的文件根据【租户平台-文件存储设置-静态文件存储规则】设置的存储位置进行存储  
**5**| **visitstatic**| **分类：系统静态文件****说明：系统通用静态文件,存储系统中的各模块产生的通用静态文件** 存储说明：此目录下的文件根据【租户平台-文件存储设置-静态文件存储规则】设置的存储位置进行存储  
**6**| **weatempfiles****（** _**旧版本版会多一个 weaTempFiles 目录**_**）**| **分类：系统业务文件****说明：系统临时文件, 主要存储系统部分非业务属性的临时文件，如日志文件，** _**注意：在一些低版本基线中，会存在 weaTempFiles 目录，此目录和weatempfiles存储文件的类型是一致的，后续废弃，在高版本中统一用weatempfiles目录**_  
存储说明：此目录下的文件根据【租户平台-文件存储设置-业务文件存储规则】设置的存储位置进行存储  
**7**| **租户标识**| **分类：系统业务文件****说明：存储某个租户内的产生的业务文件,每新建一个租户，则按租户标识产生一个租户的文件夹，如下图所示：**![](https://weapp.eteams.cn/api/file/preview?fileId=1172550471662845955&type=redirect&sourceRefId=1244861550312415253&module=ebuilderform&authModule=ebuilderform&customParam=%7B%22objId%22%3A%221152863432429846531%22%2C%22dataId%22%3A%221244861550312415253%22%2C%22fieldId%22%3A%221152863432429846589%22%2C%22formId%22%3A%221152863432429846539%22%2C%22authType%22%3A%22Editors%22%7D&folderId=5945162200693929462&formId=1152863432429846539) 存储说明：此目录下的文件根据【租户平台-文件存储设置-业务文件存储规则】设置的存储位置进行存储  
  
也可以**也可以在后台管理中心-文件设置-存储设置中新建存储实例和存储规则进行单独控制**  
  
# 二、支持的文件存储类型

E10 可以在租户平台-文件存储设置-存储实例里面新建存储实例

主要支持的存储有：

## 1、本地存储

本地存储需要准备一台文件服务器（或者云存储产品），并以共享目录形式挂载到E10应用节点，E10 nginx 节点，二开服务节点。

若 E10 是微服务部署，则各微服务节点也必须挂载

![](https://weapp.eteams.cn/papi/file/preview?fileId=1251448767451463686&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

**注：共享目录可以自定义，/nfs/data ，为示例，具体共享目录设置以实际设置为主。  
  
需要详细咨询挂载细节，请咨询部署组（李斌）**

## 2、腾讯云存储

可以参考官方文档介绍：[https://cloud.tencent.com/document/product/436/6222](https://cloud.tencent.com/document/product/436/6222)

## 3、阿里云存储

可以参考官方文档介绍：[https://help.aliyun.com/zh/oss/?spm=a2c4g.750002.0.i6](https://help.aliyun.com/zh/oss/?spm=a2c4g.750002.0.i6)

## 4、华为云存储

可以参考官方文档介绍：[https://support.huaweicloud.com/obs/index.html](https://support.huaweicloud.com/obs/index.html)

## 5、S3 标准云存储

有许多存储厂商的产品，如果支持S3 协议则可以使用此方式对接存储

S3 协议的介绍了解可以参考文档介绍：

[https://blog.csdn.net/m0_67640079/article/details/159251823](https://blog.csdn.net/m0_67640079/article/details/159251823)

[https://blog.csdn.net/tszc95/article/details/153471899](https://blog.csdn.net/tszc95/article/details/153471899)

## 6、HDFS 存储

Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统

可以参考官方文档介绍：[https://hadoop.apache.org/docs/r1.0.4/cn/hdfs_design.html](https://hadoop.apache.org/docs/r1.0.4/cn/hdfs_design.html)

## 7、FastDFS 存储

可以参考官方文档介绍：[https://cloud.baidu.com/article/4654808](https://cloud.baidu.com/article/4654808)

# 三、E10 文件存储方案推荐

## 1、业务文件和静态文件均使用本地存储

此方案，只需要指定一台文件服务器，并将文件存储根路径作为存储的共享目录，挂载到到E10应用节点，E10 nginx 节点，二开服务节点上。  
  
优点：挂载简单、容易维护。  
  
缺点：（1）文件服务器磁盘性能不佳，容易影响访问性能。（2）服务器重启或者异常容易导致挂载卸载，导致文件存储和访问异常。（3）文件量较大时，容易遇到存储瓶颈，需要扩容。

适用客户： 文件量较少，或者适中的客户，能提供性能较好的磁盘读写性能，存储空间大的文件服务器。

## 2、业务文件使用对象存储（腾讯云、阿里云、华为云、S3），静态文件使用本地存储（推荐）

此方案，需要采购对象存储产品，同时需要指定一台文件服务器，并将文件存储根路径作为存储的共享目录，挂载到到E10应用节点，E10 nginx 节点，二开服务节点上。

  
业务文件存储到指定的对象存储中，静态文件存储到本地存储中。

静态文件存储的文件量不会很大，因此对文件服务器的空间和性能要求不是很高

优点：业务文件存储到云存储上更加稳定安全，扩容方便，管理方便。静态文件存储在本地存储上，访问和存储更加方便快速  


适用客户： 文件量大，访问量大的客户

## 3、业务文件和静态文件均使用对象存储（腾讯云、阿里云、华为云、S3）

此方案，需要采购对象存储产品，需要准备两个文件存储桶

  
（1）业务文件桶，需要有私有读写权限

  
**（2）静态文件桶，需要有公共读，私有写的权限**

![](https://weapp.eteams.cn/papi/file/preview?fileId=1251556566982729729&type=redirect&customParam=%7B%22isExtDist%22%3Atrue%2C%22distributeId%22%3A%22%22%2C%22externalId%22%3A%22%22%2C%22appId%22%3A%22%22%7D)

   如果静态文件桶权限不足，会出现访问 403 的现象，务必提前确认是否开放公共读的权限

## 4、业务文件和静态文件均使用分布式存储（HDFS、FastDFS）

      需要提前部署好 HDFS 或者 FastDFS

## 

## 5、业务文件使用分布式存储（HDFS、FastDFS），静态文件使用本地存储

   

      需要提前部署好 HDFS 或者 FastDFS， 同时需要指定一台文件服务器，并将文件存储根路径作为存储的共享目

录，挂载到到E10应用节点，E10 nginx 节点，二开服务节点上。

# 四、文件存储设置

## 1、系统新安装存储设置

**部署新系统时：第一步进行【业务文件存储配置】，第二步进行【静态文件存储配置】**

**（1）请点击：**[**业务文件存储配置**](https://weapp.eteams.cn/build/techdoc/wdoc/index.html#/public/doc/a4f44cda-60ff-4ec8-90cb-fe676f262979 "业务文件存储配置")

（2）请点击：[静态文件存储配置](https://weapp.eteams.cn/build/techdoc/wdoc/index.html#/public/doc/cbe2eff6-cacf-45b3-aea2-c3aafbda0ecd "静态文件存储配置")

## 2、系统存储变更  


系统存储变更涉及到历史数据的处理
