前几天同步家里摄像头的数据到百度网盘,CloudSync的日志信息都是成功的,以为确实都同步上去了。
后来经过仔细检查,发现视频文件是同步上去了,但是文件大小要比nas中的源视频文件要小,所以都是损坏的情况,不能显示缩略图,如图
而本地文件夹是能够正常显示缩略图的,
我把百度网盘中的一个目录下载了下来,再找到相同的nas中的目录,进行了文件比较,发现网盘中的文件会出现大多数文件小于nas中的文件,如图,红色框就是文件小了,蓝色框是一样的,文件大小小的那几个文件都是视频格式损坏,不能播放,说明同步是有问题的,没能保证文件的完整性。
这样的情况很多,还有很多目录二十几个文件,就一个文件正常的,其他都是损坏的。
后来经过我的观察,发现在我用cloudsync同步的那天之前的文件,都是完整的,用cloudsync应该是1月25日晚上开始的,25日之前的都是以前的监控视频文件,不会出现实时产生的情况,全部正确同步,而1月26日之后,今天27日,就出现大量文件同步失败,文件大小不正常,格式损坏。
经过我的分析,发现应该是一个Cloudsync的一个bug,至少是一种情况没有考虑到,即:
当监控摄像机在NAS上生成一个视频文件,写入时,CloudSync就发现有新文件,随即开始读取,拷贝,但是这个时候监控还没有写完,CloudSync就认为这个文件读完了,即完成读取工作,同步到云盘。这就解释了为什么较早的视频文件可以被完全同步,而实时产生的文件就会出现错误同步。根本原因在于CloudSync在读取前,没有判断文件句柄是否被其他进程打开,如果发现有写的操作,就暂停读取,等到下一个轮询再同步。
类似的情况不光发生在视频文件产生上,在一些大文件的复制上,例如备份一些电影文件,从电脑端拷贝到NAS,同时CloudSync也在同步,文件很大,拷贝需要时间,但是文件已经产生,也会出现上述的类似情况。
所以请提交技术部门,考虑这种情况,加上这步程序判断是应该的,更加要做的是,在文件同步时,应该加上文件锁,不能让其他进程去写,同步完了再释放开。
应该是cloudsync的一个bug
版主: TerraSupport, TMsupport, TMjack
Re: 应该是cloudsync的一个bug
已经修改了您反馈的问题,目前还需要做更多修改,尚未进入测试验证阶段,烦请再耐心等待一段时间。
Re: 应该是cloudsync的一个bug
多谢,到时候Cloudsync会自动更新版本,还是要手动更新?
Re: 应该是cloudsync的一个bug
发现有新版本后,请在应用中心的该应用的界面点击“更新”。