基本概念

存储系统的基本概念:

  • 客户端
  • 服务节点:一个PHP的站点,ul-disk的站点,一个完整的web站点
  • 数据库节点:支撑服务节点运行的数据库,包括文件数据和web站点的运行数据
  • 存储节点:由其他服务提供,比如:sftp,ftp,第三方存储等

客户端

ul-disk本身提供了两个存储的访问方式:

  • http接口
  • webdav实现

其中webdav实现了浏览器面板。

ul-disk本身是一个完整的站点,包括了前台、后台、接口、webdav

服务节点

是基于ulthon_admin开发的web站点。基于php7.4+,layui2.7+。

如果分布式部署,则必须使用redis来做共享的认证登陆。(webdav使用了cookie、session来做认证登陆)。

数据库节点

mysql5.7+,就是一个可用的数据库即可。

存储节点

能够被服务节点连接使用的节点,支持多种服务,包括:

  • sftp
  • ftp
  • webdav
  • 七牛云
  • 等等

与其他的存储系统相比

uldisk的定位是一个存储系统,而不仅仅是网盘这么简单,他将支持备份迁移,存储热插拔等特性。但是相对于其他大型的存储系统,他只实现服务节点的部分。

其他的存储系统,一般都会自己实现所有的基本功能,包括数据节点,存储节点,都要做相应的部署。

但是uldisk并不是这样的系统:

  • 客户端通过暴露的接口访问存储系统
  • 数据库节点就是一个mysql服务
  • 存储节点就是常见的文件协议

基本的流程是,如下:

Created with Raphaël 2.1.2客户端客户端服务节点服务节点存储节点存储节点发起请求有缓存,返回数据根据文件索引找到对应的存储节点根据文件索引读取相应的数据并缓存生成缓存,返回数据

读取文件的基本流程

请求文件接口/DAV服务节点是否缓存返回文件内容获取block对应存储节点查询文件block从存储节点读取到服务节点并在服务节点缓存有缓存无缓存将服务节点的文件发送到客户端

原文标题:基本流程

原文文档:uldisk

原文地址:https://doc.ulthon.com/read/augushong/62b6da9ad8aa6/6333fddf82cad/zh-cn/1.0.0.html

原文平台:奥宏文档

1.0.0