环境:
- qrsync v2.7.20140630
- MAC OS X 10.9.5
现象
因为一个目录中子目录太多,
根据年份进行了调整,结果在 qrsync
时,发现了这种报告:
2014/10/02 13:48:54.561907 [INFO][qbox.us/qrsync/v2/sync]
sync.go:78: Move
zoomq:ZHGDG/130513-14-gdgorgsummit-sf/134M_130513_1057.MP3
=>
zoomq:ZHGDG/2013/130513-14-gdgorgsummit-sf/134M_130513_1057.MP3
分析
俺知道的背景:
- 7牛,不是 Dropbox, 是单向高速数据发布空间
- 7牛,不是 GFS, 以平均 1.5 倍备份空间,获得业界顶级数据完备率
- 7牛,没有目录概念, 只有数据ID 的操作
所以, 对于相同文件, 7牛是知道的,
移动,对于 7牛空间,只是一个数据对象的 ID 变化而已;
对于本例, 意味着:
- bucket
zoomq
中的 ZHGDG/130513-14-gdgorgsummit-sf/134M_130513_1057.MP3
- ID, 变更 为
ZHGDG/2013/130513-14-gdgorgsummit-sf/134M_130513_1057.MP3
根本用不到重新传输的!
建议
对 MOVE
这一行为,进行优化,在核对 客户端和服务端 文件相同后,
直接更名就好,不要重新从客户端再上传真实的数据了!
另外, link
这种行为也可以考虑支持了.
七牛的move接口本身就是执行的更名操作,并不会产生流量,和bash命令中的
mv
操作性质是一致的。另外关于软链接的支持,这个是qrsync及其他同步工具需要调整的部分,下一版本的qrsync会对相关部分进行修正。