用于管理java文件系统级文件的标准解决方案?

时间:2011-07-03 12:18:46

标签: java jsp filesystems

我正在开发一个web应用程序。我们正在使用java和jsp在服务器上上传用户文件,然后对它们执行一些管理任务,比如检查每个人只有一个个人资料图片(它不是门户网站)或每个用户只应包含一个包含其所有数据的文件夹。那么是否有任何可接受的解决方案,或者表明某人应该如何做到这一点,在文件系统上使用db等等? 日Thnx

2 个答案:

答案 0 :(得分:1)

根据我的经验,传统的做法是将所有结构化和文本信息放在数据库中。

图像,视频,声音等二进制文件可以存储在数据库中,但由于它们无法查询,更容易从文件系统中提供和备份,因此它们通常存储为文件。 / p>

答案 1 :(得分:1)

如果您使用的是关系数据库,请不要在那里存储文件。这是可能的,但它不会使您的数据库过载。更好的方法是将文件存储在文件系统中,并在DB中引用这些文件。

关于目录。如果您的系统相对较小,则可以将文件存储在用户专用目录中。它非常便于调试和实现某些功能,如检索每个用户的文件列表或删除用户。这种方法的缺点是可扩展性。文件系统通常无法有效地处理包含数百万个文件的目录。因此,可扩展性更高的解决方案是创建目录的分层结构并填充它们,直到文件数达到某个阈值,例如, 10000个文件。在这种情况下,请创建新目录。

如果您创建3-5级深度目录结构,则它足够可扩展。仍然对文件的引用存储在DB中。因此,您始终可以使用

等查询检索属于用户的文件

select path from files where user=USER_ID

然后在Java中迭代此列表并在需要时读取文件。