对不起,这个不好的名称。什么是存储下载文件的最佳方式?
我正在保存网页。我目前使用1个XML文件作为索引。一个元素包含文件创建日期(UTC),完整URL(包含查询字符串和不包含)。并且头文件在名称相似但附加了特殊扩展名的单独文件中。
然而,在去40K(包括标题)的文件,该XML现在是3.5 MB。最近我还在阅读,添加新的条目,保存这个XML文件。但现在我将它保存在记忆中,并且每隔一段时间保存一次。
当我请求一个页面时,URL被查找在XML文件中使用XPath,如果有一个项目,返回文件路径。
目录结构 。\ www.host.com/ randomFilename.randext
所以我在寻找一种更好的方式。
即时通讯思想:每
- 一个XML文件。域(包括子域)。但我觉得这可能是一个麻烦。
- 使用SVN。我只是对它进行了测试,但我没有大型知识库的经验。执行svn为每个下载添加“指向文件的路径”,并在完成时提交。
- 创建一个自定义文件系统,在那里我可以包括我想要的所有东西,例如。发布数据。
- 从URL生成一个文件名,并以某种方式压扁查询字符串,但大型querystrings可能会被操作系统拒绝。如果我保留它的标题,我仍然需要跟踪映射到每个不同的查询字符串的多个文件。麻烦。我也不希望它执行得太慢。
多个程序实例将进行读/写操作,在不同的计算机。
如果我按照目录/文件的方法,我在理论上可以增加一个层之间,因此在飞行使用DotNetZip。但是,再次,查询字符串。
我只是在这里寻找方向或经验。
我也希望是保留这些文件的历史记录的功能,所以本地文件不会被覆盖,然后我可以选择哪个版本(按日期)我想要的。这就是为什么我尝试SVN。
MySQL的BLOB类型也可用于在数据库中存储二进制数据。 – Fiarr 2009-08-30 22:57:23