文件存储方案
各位好
最近的项目中有一个模块需要给用户提供云网盘功能。目前在做技术选型,自己实现和第三方方案都有考虑。正在了解七牛云服务。
请大家给些思路和建议,谢谢了!
本文由 vps网友提供,转载请注明出处
本文链接: https://www.vpsvsvps.com/discuss/a/1676471695667367936.html
各位好
最近的项目中有一个模块需要给用户提供云网盘功能。目前在做技术选型,自己实现和第三方方案都有考虑。正在了解七牛云服务。
请大家给些思路和建议,谢谢了!
本文由 vps网友提供,转载请注明出处
本文链接: https://www.vpsvsvps.com/discuss/a/1676471695667367936.html
其实文件存储感觉问题倒不大,主要是你们的带宽能撑住?
若是没有大的独立带宽,请使用第三方存储服务供应商,至少他们有 CDN ,有成熟的存储方案。用他们肯定会比很多自建的好。
若是你们已经到达了七牛,又拍云无法满足的程度。那么就上自建, YY 就是这样,实时直播,没办法了。
数据库中添加两张表, fentry 和 fobject 。
fentry 中有个标志指示它是目录还是文件,如果是文件的话,有个指向 fobject 的外键,还有一个外键指向自己(上级目录),每个用户有一个 / 项。
fobject 在用户上传完文件后根据文件名及时父目录的 hash 值计算出自己的唯一的 hash 值,按照这个 hash 值分四级或五级目录(可以参考 squid 缓存文件时的目录)来保存用户上传的文件。
文件可以保存在本地或七牛或又拍(?)都可以。
别问我为什么要这样设计,因为我们当年也做过网盘,当时文件存在又拍,然后又拍只支持三级目录,我能的网盘要支持无限级目录,就这样。