项目地址: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。

回复