-
Notifications
You must be signed in to change notification settings - Fork 530
还不支持与服务器之间同步 #11
Comments
比对是根据md5, pcs api文档里也有的,可惜web版的没有,但是接口是存在的, 也不会不合适. 大文件md5不匹配这个问题, 是因为大文件分片之后 有部分片上传失败 或者不完全 造成残缺, 可以每上传一片之后 通过返回的md5 和本地的分片对比 来防止这个问题 =w= |
如果确实用这种方法, 那第一次同步大文件时成本就很高了. 或许可以先对比文件的时间标记, 等有空了再试一下. |
"不支持与服务器之间的同步"与"支持直接下载/上传"这句话该怎么理解 ?? |
On 07/16/2014 09:59 AM, linux0ne wrote:
这里说的同步, 是指像Dropbox这样的同步操作. 百度的同步是这样做的: 会话1向百度服务器通信, 并向服务器上传一个文件, 这时, 百度服务器会返回一 之后, 会话2 与 百度服务器通信, 它会向服务器提交本地的HASH, 服务器会判定 因为可能一个网盘帐户会在不同的终端里运行, 比如笔记本, 手机, 平板里, 这 百度有一个 "同步盘" 客户端, 你可以试试. |
我理解不错的话 你讲得同步应该是不同终端之间数据的统一 而并不是说本地托动一个文件上传并显示成功后 结果到网页服务器上一看却没有上传成功 或者说并不是指本地目录与远程目录在上传操作执行后却看不到统一的效果 我这样理解对吧? 如果对 那么我的看法还是说同步没有意义 因为目前来讲 你的软件基本上都是在ubuntu上使用 并不会有别的终端了 就算是centos 其效果也是一样的 除非到了ubutu touch系统的时候可能这个同步才有意义 呵呵 一点拙见 望谅 发送自我的 BlackBerry 10 智能手机。 发件人: LiuLang已发送: 2014年7月16日星期三 下午8:54收件人: LiuLang/bcloud答复: LiuLang/bcloud抄送: linux0ne主题: Re: [bcloud] 还不支持与服务器之间同步 (#11)On 07/16/2014 09:59 AM, linux0ne wrote:
—Reply to this email directly or view it on GitHub. |
同步是很有用的, 如果能支持同步的话, 只需要在本地建立一个同步目录(比如ubuntu one就这样做), 然后把文件拖放到这个同步目录, 网盘客户端就会自动把本地新加入的文件同步到服务器. |
当然, 如果只用bcloud来下载一些视频, 或者直接在里面播放电影, 而并不会向百度网盘里上传个人的私有数据(比如照片, 文档), 那现在的bcloud已经基本够用了. |
因为现在网络类型的问题 我还没能成功体验到本软件的强大功能 不过从以往经验讲 下载功能是必须的 上传功能也需要 毕竟要存储一定的东西到服务器上 以便于实现软件的备份等目的 我理解不同设备之间自动同步的涵义及使用 我的apple设备就是这样的机制 现在关键是代理网络登陆失败的问题 可能是https的原因 如果把https改成http是不是不影响软件的正常功能运行 发送自我的 BlackBerry 10 智能手机。 发件人: LiuLang已发送: 2014年7月17日星期四 下午10:09收件人: LiuLang/bcloud答复: LiuLang/bcloud抄送: linux0ne主题: Re: [bcloud] 还不支持与服务器之间同步 (#11)当然, 如果只用bcloud来下载一些视频, 或者直接在里面播放电影, 而并不会向百度网盘里上传个人的私有数据(比如照片, 文档), 那现在的bcloud已经基本够用了. —Reply to this email directly or view it on GitHub. |
On 07/18/2014 06:32 AM, linux0ne wrote:
使用代理的话, 你需要让代理服务器支持https, 即先在代理服务器上发布一个证 |
Hi,这个问题解决了没有?想把该客户端移植到openwrt来实现定时从服务器上同步数据下来(这个太管用了)。现在有什么新思路吗 |
@hduffddybz |
有没有计划改用 Qt5 开发 GUI ? |
On 03/09/2015 08:32 PM, microcai wrote:
在工作时有用到Qt. 但自己的项目就比较随意了. 还有, 我看你github的状态是"找工作", 最近离职了吗? 愿意的话, 可以考虑一下 |
话说来深度,主要干什么呢? |
On 03/10/2015 12:06 PM, gshmu wrote:
|
表示会python,Django Web比较好,然后就是会shell,有合适的么? |
@mhohai |
@microcai |
@LiuLang 对武汉不了解。:D 怕人生地不熟的。啥时候有计划在杭州开个办公室? |
重新上传可解决吗?
|
想移植到openwrt的同学,请看这里 |
我们可以重新描述这个问题,我认为同步只是一个文件的修改时间的问题.无关于文件大小,也无关于文件内容是否相同,因为就算一个文件超级大.编辑它的时候它的内容也发生了变化.不可能与服务器一致,所以问题只剩下了,如何确定同步目录的文件,与文件的修改时间. |
百度网盘的同步算法并没有公开. 它的windows客户端的做法大致是这样的, 本地的根目录开始, 统计所有文件/目录信息, 并得到一个很长的字符串(文件哈希), 然后与远程服务器上的哈希值进行比对, 如果两个值相同, 说明本地与远程已经同步了.
但是, 这个算法并没有公开, 就很难在bcloud里面实现了. 另一种方法是逆向它的客户端, 但是这明显很不合适. 当然了, 目前bcloud里面用到的API都是基于百度网盘web版, 以及PCS已经公开的API.
但如果用MD5来单独校验每个文件的话, 也不行; 因为部分文件(尤其是多媒体文件)在百度网盘上的MD5与在本地的MD5不相匹配(我估计是大文件分片的问题), 但如果是很小的文件, 倒不存在MD5不匹配的问题. 如果不存在这样的问题, 我们可以直接计算本地所有文件的MD5与远程所有文件的MD5相比较, 如果不相同, 再比较时间戳就可以确定哪个文件更新, 这样就确定了要同步的内容.
当然, bcloud是支持直接下载/上传多个文件和目录的.
The text was updated successfully, but these errors were encountered: