首页 新闻 会员 周边

企业系统设计遇到的数据保存问题

0
悬赏园豆:120 [已关闭问题] 关闭于 2011-09-26 17:56

  有200左右客户端,需要不停的向服务器提交数据,由于是金融方面的系统,所以对数据的正确性要求比较高(因为都是钱啊~!~)

为了防止数据提交出错,所以目前的设计是先在客户端保存数据,保存成功后再提交服务器,提交成功,就将本地数据删除。有时服务器对数据进行了修改,修改后发送消息,客户端就将修改的数据重新下载下来

目前设计大概就是这样,但是在效率上有点影响,想问一下有什么解决方案

问题补充:

首先这项目的要求是在后台服务器连接不上的时候,要不影响前台的工作,所以前台是必须要有数据库的!!这点我前面没有说清楚!!!

黑、白的主页 黑、白 | 初学一级 | 园豆:21
提问于:2011-06-28 14:23
< >
分享
所有回答(3)
0

tcp通信。

网络开发,c/s就可以了。

客户端,客户端存在哪里呢?文件?xml?还是客户端也有数据库?

客户端保存没有必要吧,服务端做还日志就可以了。定时刷新,或者异步。

股票行情软件也是实时的,也不用客户端保存什么数据吧。

提交失败了,就提示一下用户,让用户决定是继续提交还是进行其他业务。进行其他业务,当前提交的数据肯定是抛弃了,不用管它了。

Virus-BeautyCode | 园豆:1619 (小虾三级) | 2011-06-29 11:56
是c/s项目,客户端有200左右,实时交易,后台进行数据的统计(可修改数据,修改后要立即返回某客户端)。服务器数据库有90多张表,因为是国外的项目,
客户端数据库是必须存在的,要不服务器数据库数据处理太频繁,目前用客户端这边数据处理起来都有些吃力。客户端一次交易大概在5分钟之内(快的时候大概就是1分钟了),而且是基本上24小时都在使用
支持(0) 反对(0) 黑、白 | 园豆:21 (初学一级) | 2011-06-29 12:49
本来以前用的方法是只要提交远程服务器失败的情况下才进行本地保存,在下一次交易时,判断本地数据库,如果存在就再次提交,然后删除本地服务器,后来发现服务承受不了,就改在存本地后再提交,而客户端需要的数据就从本地读取
支持(0) 反对(0) 黑、白 | 园豆:21 (初学一级) | 2011-06-29 12:52
0

我看见你说"客户端数据库是必须存在的,要不服务器数据库数据处理太频繁"  彻底被你雷倒了, 别说才区区200客户端, 就是2000客户端, 也不算多, 数据库服务器怎么可能连这一点压力都承受不了? 那还叫数据库服务器吗? 不要告诉我你就是用一台配置很烂的破机器当服务器, 那也别搞金融了......

明确地告诉你, 客户端不需要临时数据库, 不管是国外还是什么, 那只是网络通讯代价较大, 与数据库服务器毫无关系,

夏狼哉 | 园豆:833 (小虾三级) | 2011-06-29 16:57
0

不能这么设计,客户端数据是不需要的.

"防止数据提交出错"----提交出错就让用户再次提交,这不是什么大问题。

服务器端、客户端两边保留数据,很可能因为各种原因导致数据不一致。当数据不一致时,你以谁的数据为准呢?

可能出错地方:

1. 客户端保存数据,成功,再提交服务器,提交失败。

2. 以上1成功,服务器端处理"提交的数据"失败。

3. 以上1成功,删除本地数据失败。

4. 服务器对数据进行修改,成功,发送消息给客户端,失败。

5.以上4成功,客户端下载修改后数据,失败。

你这种设计是自寻烦恼。还不如就服务器端有数据,一切以服务器端为准。

"客户端数据库是必须存在的,要不服务器数据库数据处理太频繁" 这句话也把我雷倒了。你有客户端数据库,请问服务器端数据库可以少做什么?还不是一样做同样多的事情。

杰克伦敦尘 | 园豆:274 (菜鸟二级) | 2011-06-30 10:40
首先这项目的要求是在后台服务器连接不上的时候,要不影响前台的工作,所以前台是必须要有数据库的!!这点我前面没有说清楚!!!
支持(0) 反对(0) 黑、白 | 园豆:21 (初学一级) | 2011-07-06 11:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册