分区助手
项目描述:分区助手是 Windows 下的一个对分区和磁盘进行各类操作的软件,例如:创建分区、删除分区和修改分区大小等功
能。
主要负责:分区/磁盘克隆、文件系统转换、底层Service的开发
主要内容:
1、磁盘克隆:需要解析各类文件系统(NTFS、FAT32、ExFAT等),将文件系统中的数据克隆的另外一个分区或者磁盘。其中克
隆主要是数据的读写,所以设计了一个生产者消费者模式来控制异步读写来达到硬盘的最大速度。该模块在分区助手为主要功能,
产品60%的收益由该模块带来。
2、文件系统转换:读写文件系统,文件系统解析出需要的数据后转换成其他类型的文件系统。
例如:NTFS 需要解析完$MTF 后去取文件数据然后挪动实现转换,其中NTFS的文件存储方式是一个类似B+树的结构,所以需要根
据该结构去构建出一个B+树来进行文件目录树的转换。
3、底层Service:统一管理项目所有功能模块,确保任务的高效调度与执行。Service通过管道和界面通信,实现任务的快速响应
与进度反馈,提升用户体验。接收到各个任务后根据任务类型判断是否需要阻塞执行,任务一般分成主要任务和通知任务,通知形
任务一般用来处理暂停、反馈进度,其中具体任务数据会转换成json的形式反馈给界面。