在两个系统批量交换文件时,有一个简单的问题,但是很多人把它弄得复杂化了。这个问题是,设定一个机制,让上传方全部传送完毕后,下载方开始下载文件。为了防止下载不完整的文件。
我在亲历的两个项目中看到笨笨的做法,定义一个控制文件,该文件内写了上传了几个文件,文件名都是什么,多少字节,多少行等内容。制定了这么多内容仅仅就是为了判断上传完成没有,简直是浪费精力。下面推荐一种做法,应该是最简单的了。
约定:
- 下载程序定期检查服务器上是否存在 ok.txt 文件,如果存在说明上传侧已经成功上传一批文件到FTP服务器了;下载程序应尽快下载指定的文件(文件列表应在其他文档注明),完成后删除ok.txt
- 上传程序定期检查服务器是否存在ok.txt文件,如果不存在说明此时可以上传了,上传完成后,再上传一个空的ok.txt文件。