2009-07-07 91 views
0

我正在尝试将文档存储模块添加到我们的AR软件中。Vb.Net文档存储

我会提示用户将文档/图像附加到他的帐户。然后,我将把这个文件的一个副本放到我们的文件夹中,这样我们就可以参考它,而不必依靠它们将文件保留在原始位置。该系统不使用数据库,而是使用多个平面文件。

我正在寻找关于如何处理这些文件后,将它们连接到我们的系统的指导。

我应该如何存储这些附件?

我在想我可以将文件复制到子目录,然后将其重命名为自动生成的数字,以便我们不会有重复。这个坏消息是文件夹的内容可能会变得很大。

任何人都有更好的方法吗?我应该创建目录并存储它们吗?

回答

1

该系统未使用数据库,而是使用多个平面文件。

这听起来像是一个多用户系统。你如何处理并发访问问题?你的答案将对我们在这里告诉你的任何事情有很大的影响。


因为你没有做什么特别的东西跟其他文件来处理并发访问,我会做什么是你的主要数据文件夹下添加一个新的文件夹专门用于文档存储,并有写你的用户文件。另外,您需要担心名称冲突。为了处理这个问题,我会为每个文件命名,方法是将日期和用户名附加到原始文件名中,并采用该字符串的md5或sha1散列。然后将文件添加到其他数据文件,以将散列值映射为用户的原始文件名。

+0

这是很难解释没有写书。我们实质上一次使用两个系统。这些文件使用对其他用户具有读/写访问权限的索引文件。我们没有任何关于正在使用的文件的真正问题,因为大多数用户一次约有10个用户使用它。这有帮助吗? – ErocM 2009-07-08 12:01:51

0

考虑到您的限制(并假设有限的总用户数量),我还倾向于使用“文档”文件夹 - 以及每个用户的子文件夹。每个文件名应包含防止冲突的日期。随着时间的推移,您将不得不处理旧的或过时的文件,以管理方式或使用用户界面。考虑为每个用户设置最大数量的文件或最大字节数。您还需要处理已离开用户的文件。