项目地址:https://github.com/kaiakz/rsync-os
之前的代码已经基本实现了rsync传输协议,主要功能: 1. 作为一个client与TUNA的rsync server建立连接。 2. 拉取服务器文件列表(File List)并请求下载特定文件。 3. 下载完成文件后上传到自建对象存储(minio)。 本周主要重构了上面的部分代码,改用常量增强可读性,使用[]byte代替string,以及增加了: 1. rsync的文件列表(File List)缓存系统(基于boltdb)。 2. 新旧文件列表Diff算法,用于求出新的文件列表与缓存在boltdb内旧的文件列表。 3. 测试文件列表缓存系统,测试的module为ubuntu以及ubuntu-ports,文件列表项数目约为150w,但diff耗时并不稳定(500ms~1.5s),有待进一步研究和改进。 下周计划: 1. 抽象出一套面向rsync的存储interface,使rsync-os能够支持对象存储以及文件存储。 2. 基于上述interface添加minio(s3)支持。 Kai -- 您收到此邮件是因为您订阅了 Google 网上论坛的“TUNA 主邮件列表”群组。 要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到tuna-general+unsubscr...@googlegroups.com。 要在网络上查看此讨论,请访问 https://groups.google.com/d/msgid/tuna-general/CAJRS7Rj5jjTr29njuUUyhEoLASZMEhFSjxUYDNQcmV-SVjAvkg%40mail.gmail.com。