日期:2014-05-17  浏览次数:21356 次

如何实现多个客户端的数据同步到服务器?
 本人第一次接触生产系统,现在需求是这样的,多个客户端产生多条数据现在要同步更新到服务器端数据库。
问题:
     服务器端如何抓取客户端传来的数据,是用怎样的方式抓取(客户端的数据是定时发送的)?
     客户端是否需要建本地数据库?(考虑到如果网络不稳定的情况怎么解决?
 望各位前辈给出解决方案。。。
服务器 数据库 客户端 .net开发

------解决方案--------------------
用Socket通信吗?
为了安全起见,在客户端建本地数据库还是必要的。
------解决方案--------------------
本地建个数据库

然后实时的生成xml文件,上传到服务器(服务器端提供webservice接口或其他方法),
服务器再对接收到的xml文件处理 写入数据库
------解决方案--------------------
如果服务器不主动给客户端下发数据的话,就使用webservice吧,这个比较简单,入手简单、稳定行好。

------解决方案--------------------
这种分布试的系统,你可以考虑用webservice或者remoting,客户端调用服务器服务里的方法,可以直接把数据对象传过去,客户端本地不需要建立数据库,不需要对数据库操作,它只调服务器的方法,数据库的操作都是由服务器来完成
------解决方案--------------------
webservice
------解决方案--------------------
1,Socket通讯实现起来,还不如WebService方便,建议用WebService
2,弄清楚你们系统的结构,既然有服务器,有客户端,那么他们直接一定要是可以随时保持连接的,一般都是,客户端调服务器指令,服务器在返回数据给客户端,所以,服务器一般做些数据库操作,等一些后台操作,办操作的结果,返回给客户端,客户端来显示等一些操作,如果网络中断,那么客户端是无法访问服务器的,也就是整个系统处于异常状态,这个状态的所有一切操作都是无效失败的

------解决方案--------------------
引用:
引用:引用:引用:1,Socket通讯实现起来,还不如WebService方便,建议用WebService
2,弄清楚你们系统的结构,既然有服务器,有客户端,那么他们直接一定要是可以随时保持连接的,一般都是,客户端调服务器指令,服务器在返回数据给客户端,所以,服务……


用个变量a 来标识上次的操作网络是否正常

bool a =true;
try
{
if (a)
{
WebService,服务器直接保存数据
}
else
{
 调WebService 来把这个文件传过去的方法
}
a =true;
}
 catch (Exception ex)
{
  把对数据库操作的 SQL语句(主要是插入和修改语句)以文件的方式保存起来
a=false;
}
------解决方案--------------------
引用:
引用:引用:引用:1,Socket通讯实现起来,还不如WebService方便,建议用WebService
2,弄清楚你们系统的结构,既然有服务器,有客户端,那么他们直接一定要是可以随时保持连接的,一般都是,客户端调服务器指令,服务器在返回数据给客户端,所以,服务……


不赞成客户端建立数据库,如果是小型数据库还好弄些,要是oracle 这类的大型数据库会很麻烦的,即使是小型数据库,你本地的数据库的数据还要同步到服务器的数据库,这个同步的方法也很麻烦