日期:2014-05-18  浏览次数:20838 次

请教C/S软件中常用的数据同步更新机制...
First,I'm a beginner.

现要用.net做一个C/S软件,N个终端共同维护一个列表数据,现请教采用何种机制可以在一个终端上修改完数据后,其他终端的列表GridView能立即更新,这应该是比较常见的功能,还请各位高手指点。

我目前的思路是 当有某终端对数据更新操作后,该终端先向服务器数据库提交更新,当数据库更新后,有两种方式:
1、服务器通过网络将所更新的数据在网络中发布,各终端接收到消息解包后增量更新显示。
2、服务器通过网络将更新的表名在网络中发布,各终端去读取该表的最新数据。
第2种容易实现写,但这个软件终端有50个左右,不知道同时连数据库更新会不会出现明显时延等待


各位在遇到此类功能时的常用方式是什么,还请赐教...

------解决方案--------------------
一种方式是可以模仿股票行情软件吧!
交易所总是把最新的股票行情数据发给各个营业部,然后营业部的行情软件就每隔一定时间去读这个最新的行情数据,也就是说有一个行情表总是随时更新的,然后行情软件会把每次的这个数据追加到历史表中,我想你的需求就是隔一段时间就去读这个行情表吧。
------解决方案--------------------
参考一下:
服务器上数据用 时间戳;
把服务器时间戳换为一组数字,存到终端;
终端随时去对比,大于本地值的都下载下来更新。