【发布时间】:2009-03-09 03:25:19
【问题描述】:
我想做的是扫描磁盘或驱动器(usb、主硬盘等)以查找文件并将其信息存储在数据库中。然后我会将数据库搜索到特定文件以找到它的存储位置。或者,我可以搜索出于存档原因的副本有多旧,或者如果我有某些东西的副本并且不需要重新存档,或者在我故意备份它多次并且我的一张光盘被划伤或驱动器损坏的情况下寻找副本.
这就是我的想法
os + fs 标志(1 个字节?) st_mode (即使不在 Linux 中) 2bytes win32_attr(即使不在 Windows 上)4 字节(这包括隐藏、目录与文件、锁定等) 文件大小(64 位) a/m/c 时间,64 位。 索引/唯一键作为文件ID
我是否应该在其自己的表中将名称作为可变长度,通过其匹配的文件 ID 查找?或者我应该在 db 中有一个 260 长度的文件名,还是应该在 db 中有一个可变长度的文件名?
然后,在由 fileID 查找的校验和/哈希表中,我的校验和(md5、sha1、sha512 等,每个一个 blob)需要 XYZ 位的 blob。
我在想我的哈希表应该有 fileID(与索引长度相同的 int?)、hashType (int)、hashValue(varchar)。
【问题讨论】:
标签: database filesystems