为了实现服务器的数据库与工作站的数据库同步,我使用了TCP/IP通信协议,把表的数据转成一条字符串发到到工作站,工作站接到字符串后再分析,然后写到ACCESS库里面
格式像这样: "表名|字段1|字段2|字段3|#",#代表结束
假设服务端某个表有10000条记录,其中记录里有一个字段是"版本号",是用于比较工作站的旧数据是否需要更新。现在情况是假设表里只有2条记录是需要同步的。我现非要把10000条记录都转成字符串发到工作站,然后再一一对比工作站的旧记录的版本号再确定是否更新。这样的做法是可以实现服务端与工作站的数据同步,但发10000条字符串只为了判断有多少条需更新有点慢。
请求高手设计思路可以更加简单一些吗?或者有办法直接在服务端判断出工作站有那几条记录需要更新的就直接发送那需要更新的记录,这样可以节省程序的运行时间
4 个解决方案
#1
可以在工作站上保存一个精确到毫秒的时间戳,记录本工作站最后一次同步的数据库时间,注意是数据库时间,不是工作站本地时间。
在服务器的数据中添加一个数据被create/update/delete的时间。
工作站上送最后一次更新时间,服务器下传该时间时候发生变化的数据。
在服务器的数据中添加一个数据被create/update/delete的时间。
工作站上送最后一次更新时间,服务器下传该时间时候发生变化的数据。
#2
最后一句错了,应该是
工作站上送最后一次更新时间,服务器下传该时间之后发生变化的数据。
工作站上送最后一次更新时间,服务器下传该时间之后发生变化的数据。
#3
同步时服务器下送当前服务器时间,工作站更新数据后记录最新更新时间。
#4
同意,只要在服务器端设顶标记,就能判断出服务器端的数据是否更新,更新的数据发送到工作站就可啦,你现在只是单向的。
#1
可以在工作站上保存一个精确到毫秒的时间戳,记录本工作站最后一次同步的数据库时间,注意是数据库时间,不是工作站本地时间。
在服务器的数据中添加一个数据被create/update/delete的时间。
工作站上送最后一次更新时间,服务器下传该时间时候发生变化的数据。
在服务器的数据中添加一个数据被create/update/delete的时间。
工作站上送最后一次更新时间,服务器下传该时间时候发生变化的数据。
#2
最后一句错了,应该是
工作站上送最后一次更新时间,服务器下传该时间之后发生变化的数据。
工作站上送最后一次更新时间,服务器下传该时间之后发生变化的数据。
#3
同步时服务器下送当前服务器时间,工作站更新数据后记录最新更新时间。
#4
同意,只要在服务器端设顶标记,就能判断出服务器端的数据是否更新,更新的数据发送到工作站就可啦,你现在只是单向的。