我有一个应用程序连接到数据库,并可以在多用户模式下使用,从而多台计算机可以连接相同的数据库服务器来查看和修改数据。其中一位客户总是被指定为“主”客户。该主站还接收来自RS232或UDP输入的文本信息,并将该数据每秒钟记录到本地机器上的文本文件中。德尔福 - 文件夹同步通过网络
我的问题是,其他客户端需要从主客户端访问这些数据。我只是想知道最好和最有效的方法来解决这个问题。我正在考虑两个方案:
- 写一个文件夹同步类远程(主)计算机上的文件夹与本地(客户端)计算机上的文件夹同步。这将是一个线程化的缓冲文件复制例程。
- 实施客户端/服务器,以便主计算机可以将此数据提供给连接和请求数据的任何客户端。主设备将通过TCP/UDP将文件发送到请求客户端。
该解决方案将不得不采取以下考虑:
一个。日志文件正在被写入每一秒。它必须避免任何潜在的文件锁定问题。
b。复制例程应该只复制在客户机上已经被修改的文件。
c。尽可能高效
d。所有机器都在局域网上
e。同步只需要执行,比如说每10分钟左右就执行一次。
f。数据量只有大约50MB的数量级,但是一旦初始(第一次)同步完成,那么传输的数据量将只有大约1MB。这将在未来增加
哪个更好的方法来使用?有什么优点/缺点?我也看到了我正在考虑使用的Fast File Copy文章。
如果我将它存储在数据库中,这些文本文件中“有用”数据的数量与存储要求相比微不足道。我曾考虑过这个问题,但因为很多原因决定不保存所有内容 – Simon
因此,为了节省数据库服务器上的廉价磁盘空间,您需要花费时间来实现基于复制文件的同步解决方案,而不是一次性复制相同的数据一个数据库,这将很好地解决并发访问? – 2011-07-05 17:54:10
是的,我知道,但是还有其他原因会导致这种情况发生。我只需要大约0.001%的数据,并且数据库服务器上的备份时间至关重要。在这种特殊情况下,'便宜的磁盘空间'实际上并不便宜,因为现场缺乏便宜的互联网访问,数据库数据需要保持在最低限度 - 数据需要通过昂贵的卫星通信发送到极其偏远的位置。尽管谢谢,但这是一个很好的观点。 – Simon