我正在客户端和服务器上使用MySQL数据库在VB.Net中构建应用程序。我将有多个客户端(比如10到20个)一次使用该系统。由于客户端在本地工作,他们需要将数据发送到中央服务器。他们还将获取自上次检查以来任何其他客户端已更改的任何数据。所以所有客户都将拥有所有相同的数据。
我正在寻找能够加快同步过程的系统。基本上我需要每个客户端将他们拥有的任何新数据插入到中央数据库中,并对他们在本地更改的任何现有数据进行更新(在中央数据库上)。他们还需要获取中央数据库中当前没有的任何新记录,并使用其他客户端在中央数据库上更改的记录更新本地记录。
我目前正在使用位字段来识别客户端。每当客户端更改中央数据库上的某些内容时,它就会改变它们的位。这样,当客户端与服务器同步时,它只获取其位设置为0的记录。然后我在本地进行更改并将其位重置为1.
这是有效和快速的,除了它是有限的。我只能拥有一定数量的总客户端(确切地说是64个),并且由于位字段的大小增加,我所拥有的客户端越多,同步速度就越慢。我不希望一次有超过30个客户,但我真的不喜欢它有最大值的想法。
我可以在同步时检查记录上的日期而不是位,但这非常慢。但是,它对客户端数量没有限制。
有没有人知道这样做的好方法既快又无限? 感谢。
答案 0 :(得分:1)
直接读写中央数据库?如果需要,您可以使用断开连接的数据集处理数据:
http://www.vbmigration.com/BookChapters/ProgrammingVBNET_Chap21.pdf