在这个项目中有一个主要的数据库服务器,其他安装在不同地方的服务器维护着自己的本地数据库。我们必须允许每个系统将其本地数据库更新为主要数据库上的任何版本。所有的服务器都运行Java环境。寻找在Java服务器之间传输大文件的好方法
传输文件似乎有很多种方式:简单的网页下载页面,网络服务,FTP,Socket ..你认为这种情况更适合吗?
的一般过程是这样的:
1,客户端发送的版本到服务器的字符串。
2,服务器生成补丁并返回。
(由于补丁也许过于庞大,应该分离的部分)
,是我在想什么的有关程序2.
里面实际上有很多的选择。
1,我应该首先计算要提取的行并计算它应该分成多少部分。
然后我遇到了一个选择,我应该只发回部分数量或链接到客户端的列表,并且客户端使用链接来请求每个部分,如果基于Web请求的连接,或者我可以如果服务器与插座连接,则将部件逐个推回,或者我可以执行以下步骤:
2,我可以从服务器数据库部分中每次部分获取所需的记录,每次获取有限的行,返回为Java列表,立即序列化列表到一个文件,以清空下一部分的内存,所以我得到一个文件的文件夹。我将文件压缩到一个文件并发回,避免客户再次请求。
生成的补丁文件可以在请求相同版本时保留给其他客户端。
我认为所有的方法都可行,但你认为哪个更好?或者你知道更好的方法?
让我们分享一下。
2011-07-21
Aloong