● 摘要
本课题的项目背景是一个以提供文件同步功能为主的云存储在线应用。它支持在多台电脑多种操作中自动同步文件,并可当作大容量的网络硬盘使用,还可以把其中的文件以网络链接的形式分享给别人。它在PC、手机、ipad上分别有对应的客户端软件,还有网页客户端。本课题研究并实现的正是这个项目的PC客户端,将其命名为“Mybox”。Mybox颠覆了传统网盘的概念,使用一个特殊目录来自动同步本地硬盘和网络存储空间,用户不用做特别的操作也可以自动的完成文件的上传下载,非常方便易用。面向普通用户的云存储架构涉及到了数据云存储、中间服务层和终端客户端。本文通过简要的介绍本系统数据云存储的原理以及中间服务层提供的接口,详细的提出了一套C/S客户端的设计与实现,实现了一套文件系统监控和访问的API,封装了各个操作系统的差异性;使用sqlite开发了一个轻量级的数据存储和查询组件,可以跨多个平台使用,主要存储了配置、本地目录结构、文件状态信息、块摘要缓存等;提供了本地文件的gzip压缩,md5摘要计算的处理组件;实现了基于HTTPS加密协议网络通信的组件,并可支持可跨平台使用;利用rsync算法开发了为本地文件产生签名、计算delta和应用patch的处理组件。通过系统的测试,本客户端能秒级检测本地文件的改动,用户通过客户端下载/上载数据时能充分利用rsync算法减少数据传输,加快的数据传输速度,通过md5检查可以实现文件的秒传功能,户端还实现了数据同步的暂停和限速等等功能。
相关内容
相关标签