文件服务器实现思路

1、概述

    C/C++文件服务器主要是 FDFS (FastDFS)文件存储系统的一个文件代理。文件服务支持 HTTP 协议,支持上传,下载基本功能,支持秒传文件(如果文件曾经上传到服务器,服务会记录文件信息,不用再次上传),这些文件信息会记录在文件服务对应的数据库。文件服务器也有本地文件缓存,主要支持热点文件上传下载。

    每个文件上传前客户端需要计算其 Md5 值,文件 Md5 值是文件内容的唯一证书,客户端根据该值跟服务器交互,如果Md5已记录在数据库,那说明该文件曾经上传到服务器。因为文件内容不保存文件名,所以文件服务器也只保存文件内容,并不保存文件名,文件名由其它服务进行维护。

    文件服务器只保存文件数据,与其它系统没有任何业务逻辑关系。只支持小文件的上传下载,续传等功能。文件需要加密的可以在客户端加密,文件服务器不作任何加密操作。文件信息需要建立与业务信息的关系,请客户端上传或者下载成功文件后,再向相关的业务服务器添加关联的存储记录。

2、架构图

client :登录的客户端。
LVS: 服务器集群系统负载均衡。
file server 和 fdfs 均表示服务器集群,支持多机器部署共同工作。
file :表示缓存磁盘的文件。
mysql :文件服务器记录文件信息以及 fdfs 对应的文件索引信息。

fdfs:FastDFS是一个开源的轻量级分布式文件系统。

3、逻辑时序

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值