1、设计目的
常规情况下,当我们扫描计算机的硬盘时,
通常会使用诸如FindFirstFile/FindNextFile(Windows),或者opendir/readdir(Linux)遍历扫描的目录。
一般情形下,由于文件数量相对较少,文件夹层次低,扫描效率相对符合预期。
但是,当伴随文件数量变多,文件夹层次加深时,遍历算法的性能往往不尽如人意。
因此,我们基于磁盘逻辑卷的结构,设计基于卷的遍历算法,能有效减少磁盘IO次数,提升扫描性能。
2、设计思路
- 通过系统调用获取所有的卷/文件系统信息;
- 遍历所有的卷,根据卷类型生成卷扫描器;
- 对卷扫描器,执行扫描任务;
3、业务流程
4 实现
Filesystemscanner