Delphi - 网络上的文件夹同步

Sim*_*mon 3 delphi networking synchronization file-copying

我有一个连接到数据库的应用程序,可以在多用户模式下使用,从而多台计算机可以连接同一个数据库服务器来查看和修改数据.其中一个客户总是被指定为"主"客户.该主站还从RS232或UDP输入接收文本信息,并每秒将此数据记录到本地计算机上的文本文件中.

我的问题是其他客户端需要从主客户端访问此数据.我只是想知道最好和最有效的方法来解决这个问题.我正在考虑两种选择:

  1. 编写文件夹同步类,以将远程(主)计算机上的文件夹与本地(客户端)计算机上的文件夹同步.这将是一个线程缓冲文件复制例程.
  2. 实现客户端/服务器,以便主计算机可以将此数据提供给连接和请求数据的任何客户端.主设备将通过TCP/UDP将文件发送到请求客户端.

解决方案必须考虑以下因素:

一个.每秒都会写入日志文件.它必须避免任何潜在的文件锁定问题.

湾 复制例程应仅复制在比客户端计算机上已有的日期更新的文件.

C.尽可能高效

d.所有机器都在局域网上

即 仅需要每10分钟左右执行一次同步.

F.数据量仅为~50MB,但是一旦初始(第一次)同步完成,那么要传输的数据量将仅为~1MB.这将在未来增加

哪种方法更好?有哪些优点/缺点?我也看过我正在考虑使用的快速文件复制帖子.

小智 6

如果您使用数据库,为什么"master"将数据写入文本文件而不是数据库,如果需要共享这些数据?

  • 因此,为了节省数据库服务器上的廉价磁盘空间,您需要花时间实现基于复杂文件的同步解决方案,复制相同数据n次,而不是将它们存储到数据库中,这也可以很好地解决并发访问问题? (3认同)