论文部分内容阅读
互联网的高速发展带来了信息量的指数级爆炸,传统的数据存储模式已经不能满足当前网络数据的存储需求。随着云计算技术的日益成熟,云存储以其成本低、部署快、规模调整灵活等优势能够高效、安全地存储和处理海量数据。云网盘是基于云存储的个人同步型网盘应用,能实现多终端数据实时同步、多平台无缝连接和用户资源共享,是最广泛的个人云存储应用。本文首先分析了现有主流云网盘桌面客户端的实现方式,设计并实现了一个基于虚拟磁盘驱动和文件系统过滤驱动的可定制化缓存的云网盘Windows客户端,该客户端将云网盘映射为本地桌面系统的一个虚拟磁盘,为用户提供与本地磁盘无差别的文件操作体验。本客户端采用典型的三层软件体系架构设计实现,并基于Windows消息队列机制构建云网盘事务调度引擎实现表示层、业务逻辑层和数据访问层之间的数据通信。本客户端采用WinForm平台设计实现用户交互操作界面,并且用SQLite数据库固化客户端的用户配置信息和全部程序运行日志,通过Windows Shell技术实现文件同步状态的实时显示;同时采用开源的虚拟磁盘驱动FileDisk实现云网盘在本地系统的盘符映射和文件系统过滤驱动Minifilter实现对云网盘文件操作的监控;同时将云端数据通信接口对上层逻辑业务访问进行封装,能够有效实现客户端与云存储端的数据同步。采用LRU(Least Recently Used)算法的可定制化缓存机制实现了云网盘对本地存储资源消耗的可控,使得本客户端适用于普通桌面系统和存储资源有限的虚拟桌面等广泛的运行环境。最后,本文对云网盘客户端进行了用户控制操作和文件操作的功能性测试,并对云网盘缓存机制的有效性和云网盘文件的读写性能进行了测试。对测试结果分析表明,本云网盘客户端对本地系统存储资源消耗可控,并且其文件读写吞吐率约为80MB/S,完全满足用户的需求,具有良好的用户体验。