我正在开发一个网络应用,可能会有未知数量的图片上传。结构类似于:商业 - 产品 - 图像。一个企业可以拥有大量产品,每个产品可以拥有3到50个图像。该系统向所有人开放注册和创建业务,因此当每个企业有10个产品,每个企业有10个产品,每个产品有10个图像时,将有100万个图像上传到服务器。
我的问题是如何将这些图像存储在服务器上。我知道在Linux中存在限制,我通常做的是将文件名或特定字符串拆分为特定模式以将文件分散到层次结构中,因此每个文件夹包含少量文件。关于这一点的好处是它解决了文件限制问题并快速检索文件;另一方面,当文件数量增加时,此方法可能会使用太多iNode。
任何人都可以帮我解决这个问题,网络服务器如何存储大量上传的文件?我不确定该应用程序是部署在Linux服务器还是Windows服务器上,请告诉我你的工作方式!
真心感谢任何帮助!
答案 0 :(得分:0)
有很多方法可以看到,我个人推荐SHA 1哈希方法。顶级目录将取决于哈希生成的前两个字符。第二级目录将基于后两个字符。我发现这可以非常好地传播图像并生成相当强大的文件结构。如果你不采用这种方法,你可以为每个图像生成GUID并做同样的事情但是你必须应对确保唯一性和所有这些