基于Rsync算法的个人重要文件同步及恢复
概述
本学期的专业创新实践课程重点在于考察作品的创新性与设计方案合理性。项目开发周期较长,由小组协作完成。在博客中简单展示项目演示视频和其他开发细节。后续仍可继续完善。
算法和后端部分由彭业诚开发。前端部分由李酉夏开发。技术资料整理由何志远完成。
演示视频
开发时间线
2022/03/09 正式确定专业创新实践课程的项目题目为《基于Rsync算法的个人重要文件同步及恢复》。在老师讲解完课程概况后即时举行线上会议。拟定项目细节。确定项目前后端技术栈分别为Vue.js和Golang。
2022/03/14 完成项目产品UI设计图。同时开始接口的设计。
2022/04/11 完成接口的初步商议。正式开始前后端分离开发。
2022/04/21 完成第一阶段的软件功能设计与开发,实现文件的上传下载基本模块。
2022/04/25 形成严格规范的接口文档。测试效率提高。
2022/05/01 开始进行前后端交互测试,进行多次腾讯会议。
2022/05/22 完成第二阶段的软件功能设计与开发,完成中期报告。
2022/06/15 前后端密集型联调,进行多次腾讯会议。对过去遇到的问题、解决方法和进度做出描述。
2022/06/20 完成本项目预期的功能开发,测试程序,并撰写终期结题报告,录制演示视频并上传至博客。
技术难点
1. 算法与后端:增量同步
- 基于Rsync的同步算法
- 使用自定义RPC协议
2. 前端
- 多级同步文件树
- 请求封装
小结
目前实现的效果符合预期,即能以高频率,低带宽的形式进行文件的增量同步及恢复。除此之外,项目还进行了优化,采用了新的RPC协议进行数据传输的方案,超出了我们预想的进度。当然,项目在总体上还有不少细节不够完善,还存在用户自定义设置,加密传输等设计需要后续开发和改进。