猿问

Windows大量小文件存储方案

内部系统,图片做存档使用,目录是/业务Id /工号/日期/小时/   只保留一个月的存档。 磁盘总大小约14T, 有一个服务负责接收文件存储 另一个服务负责删除日期为31天前的文件夹, 现在发现删除非常缓慢,甚至在删除的时候影响存储的服务 有没有好的解决办法?
翻过高山走不出你
浏览 871回答 7
7回答

慕勒3428872

不知道你说的缓慢是怎么个缓慢的: 1、是因为要删除的文件很多,删除的时候缓慢? 2、是因为要检索哪些是过期的文件,从而导致缓慢? 如果是第一个原因,这个还真的没办法,真这样,建议你用数据库来存储文件最好。 如果是第二个原因,你可以在接收文件服务里把所接收的文件信息(路径、日期)存储到数据库,然后在第二个服务里从数据库检索过期文件再执行删除操作,同时删除数据库里的相应记录。

LEATH

把31天前的文件夹重命名为最新日期,覆盖原文件。

largeQ

想法很赞,但是我们每个文件夹中的文件个数不是固定的,文件和文件按照时间顺序有一定的逻辑性。 所以这种覆盖的方法除了无法覆盖完全外还会打乱这个逻辑。

元芳怎么了

@王者永乐: 当然,你最了解你的需求,而我只是泛泛的提供最佳的磁盘操作方式,因此你还是需要根据你的需求结合磁盘读写的特点来考虑解决方案。我这里还可以提供一种常用的方式,建立一个大的磁盘文件,将小文件按照一定的逻辑存储在这个大的磁盘文件上,这个大的磁盘文件可以根据业务Id或者日期来划分。

慕沐林林

如果是我,就直接分32个分区,每天的图片放到一个分区,对不需要的分区进行快速格式化,这些分区循环使用,这样的速度应该很快,也不会因为长时间访问硬盘影响到其它服务

婷婷同学_

简单粗暴,总感觉32个分区的画面太美,不忍直视。 不过话说回来,因为文件每天的大小有较大差别。比如周六日就没有多少,而工作日是周六日三到四倍,如果分区的话,每个分区的最小容量我都得按照最大业务量去设计,这样算下来担心磁盘空间不足。

白猪掌柜的

硬盘1T才多少钱?简单粗暴的就是最有效的方法了。你大不了多买10T硬盘就是了。
随时随地看视频慕课网APP
我要回答