我有两台通过串行通信相互连接的计算机。 主计算机持有一个DB(大约10K字),计算机正以20Hz的速率工作。 我需要为其他计算机实时同步数据库 - 如果添加,删除或更新数据,我希望另一台计算机实时查看或获取更改。 如果我将整个数据库转移到整个数据库,则需要大约5秒来更新另一方 - 这是不可接受的。 Spmeone有个主意吗?
答案 0 :(得分:1)
正如您所说,另一台计算机必须通过串行链接获得更改(即插入,删除,更新)。 执行此操作的最简单方法(但如果您无法更改某些内容,则可能无法实现)是扩展数据库更改方法(或者,如果不可能:每次调用)以发送插入/删除/更新数据报串行链路上所需的所有数据,必须具有强大的数据包丢失能力(即错误检测,重传等)。
另一方面,您必须实现一个语义等效数据库,您可以在其中重播所有收到的更改。
当然,您仍需要在启动/初始化时或可能定期(例如每天一次)同步数据库。