怎么样实现多个客户端的数据同步到服务器

.Net技术 码拜 9年前 (2015-10-13) 1705次浏览
本人第一次接触生产系统,现在需求是这样的,多个客户端产生多条数据现在要同步更新到服务器数据库

问题:

服务器端怎么样抓取客户端传来的数据,是用怎么的方式抓取(客户端的数据是定时发送的)?

客户端能否需要建本地数据库?(考虑到假如网络不稳定的情况怎么解决?

望各位前辈给出解决方案。

解决方案:10分
用Socket通信吗?

为了安全起见,在客户端建本地数据库还是必要的。

解决方案:10分
本地建个数据库

然后实时的生成xml文件,上传到服务器服务器端提供webservice接口或其他方法),

服务器再对接收到的xml文件处理 写入数据库

解决方案:10分
假如服务器不主动给客户端下发数据的话,就使用webservice吧,这个比较简单,入手简单、稳定行好。

解决方案:20分
这种分布试的系统,你可以考虑用webservice或remoting,客户端调用服务器服务里的方法,可以直接把数据对象传过去,客户端本地不需要建立数据库,不需要对数据库操作,它只调服务器的方法,数据库的操作都是由服务器来完成
解决方案:5分
webservice
解决方案:20分
1,Socket通讯实现起来,还不如WebService方便,建议用WebService

2,弄清楚你们系统的结构,既然有服务器,有客户端,那么他们直接一定要是可以随时保持连接的,一般都是,客户端调服务器指令,服务器在返回数据给客户端,所以,服务器一般做些数据库操作,等一些后台操作,办操作的结果,返回给客户端,客户端来显示等一些操作,假如网络中断,那么客户端是无法访问服务器的,也就是整个系统处于异常状态,这个状态的全部一切操作都是无效失败的

解决方案:20分

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

bool a =true;

try

{

if (a)

{

WebService,服务器直接保存数据

}

else

{

调WebService 来把这个文件传过去的方法

}

a =true;

}

catch (Exception ex)

{

把对数据库操作的 SQL语句(主要是插入和修改语句)以文件的方式保存起来

a=false;

}

解决方案:5分

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


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明怎么样实现多个客户端的数据同步到服务器
喜欢 (0)
[1034331897@qq.com]
分享 (0)