[tuna-general] 基于对象存储的 rsync 实现 第1周周报

2020-07-13 文章 Kai Wong
项目地址: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内旧的文件

[tuna-general] 基于对象存储的 rsync 实现 第2周周报

2020-07-22 文章 Kai Wong
本周工作: 1. 重构部分代码 2. 修复了几个bug 3. 实现了面向存储的interface 4. 添加了初步的命令行以及配置文件支持 下周计划: 释出rsync-os的第一个版本v0.1.0(alpha) Kai -- 您收到此邮件是因为您订阅了 Google 网上论坛的“TUNA 主邮件列表”群组。 要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到tuna-general+unsubscr...@googlegroups.com。 要在网络上查看此讨论,请访问 https://groups.google.com/d/msgid/tuna-general/CAJR

[tuna-general] [summer2020] 基于对象存储的 rsync 实现 第3、4周报 + 7月总结

2020-08-03 文章 Kai Wong
Hi, rsync-os的v0.1.0版本发布 : 使用Go语言重新实现了rsync客户端网络底层,基于v27.0的rsync精简协议,兼容v31.0及以下的rsync服务器。 支持minio(s3)+boltdb作为后端,缓存元数据机制(借鉴rsync-huai)。 基本完成的项目产出要求 : - 类似于 rsync 命令的跨平台文件同步工具 - 支持 rsyn

[tuna-general] [summer2020] 基于对象存储的 rsync 实现 第5、6周报

2020-08-18 文章 Kai Wong
Hi, 由于之前的代码实现存在问题,在这几周里我主要的工作是重写整个项目。除了添加注释外,将重点修复由于Go语言使用不当带来的内存泄漏问题,预计重写阶段不会添加新特性,还会削减原有多余的功能。 当前完成:网络底层的重写,包含新的multiplex处理代码 未完成:存储以及缓存架构改良以及重新实现 Kai -- 您收到此邮件是因为您订阅了 Google 网上论坛的“TUNA 主邮件列表”群组。 要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到tuna-general+unsubscr...@googlegroups.com。 要在网络上查看此讨论,请访问 https:/

[tuna-general] [summer2020] 基于对象存储的 rsync 实现 第7、8周报 + 8月总结

2020-08-28 文章 Kai Wong
Hi, 基于对象存储的 rsync 实现 rsync-os v0.2.0 发布 。 对比上一个版本,v0.2重写了绝大部分的代码,采用了新的架构,主要变化如下: 1. 新的网络底层实现,更灵活的接口设计,增强了兼容性的MuxReader,可用于socket和ssh连接的Multiplex处理。 2. 分离网络以及存储后端,而缓存部分则集成到存储后端。存储后端支持文件存储和对象存储。 3. 对象存储增加对文件夹以及软目录的支持:均保存为对象存储的特殊文件,而unix文件信息则作为