[讨论]客户端软件数据存储的方法

smalldeer 2009-10-13 10:03:59
团队正在准备开发一个客户端软件,和服务端连接是偶尔连接用于获取数据和提交数据。

现在碰到两种方案的选择

1.业务数据存放在客户端,这样的思想可能潜意识中比较容易接受,只是最后提交数据的时候才把数据提交到服务端。这样的优点是和服务端交互较少,利用了客户端的资源并且能减少服务端的压力,缺点是对于如果用户使用不同机器进行业务操作,数据的协同性就必须通过客户端数据的导入导出来处理,而且导入导出也会碰到很多问题。

2.业务数据只存放在服务端,每次修改后保存的数据都需要保存在服务端,这样就增加了很多和服务端的交互,譬如打开服务端保存数据,修改后在提交到服务端,这样的交互相较方案1就多了。优点是用户方便了,可以在机器A修改了数据后,还可以在机器B继续打开来,但其实这样的用户只占到了10%,是否需要牺牲这样的负荷来解决这些用户的体验,是否必要?

团队也是第一次遇到这样的问题,方案1属于传统客户端的思想,该客户端解决的数据,交给客户端,需要交互的时候在和服务端交互。方案2则是客户端不保存数据,所有数据的保存和修改都交给服务端,压力明显上升,有一种感觉是方案2看上去很美,但因为没有这方面经验,也不确定是否是美丽的陷阱。

请大家指教,谢谢
...全文
134 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
masterjames 2009-10-17
  • 打赏
  • 举报
回复
方案一的问题太多了。基本上不可行,你想想,万一员工操作错了文件,数据全没了。

用CLIENTDATASET,可以解决部分提交问题。
smalldeer 2009-10-14
  • 打赏
  • 举报
回复
同时保存是有问题的
会出现到底以服务端数据为准还是已客户端为准,这个已经被团队毙掉了

数据只能在一个地方存储,要嘛客户端,要嘛服务端,只有2条路
wintergoes 2009-10-14
  • 打赏
  • 举报
回复
推荐方案2,不知道你那是什么样的系统
如果数据量不大的话对服务端或者网络的负荷没有多大的
不过方案2会遇到网络不能访问的情况需要考虑
haitao 2009-10-14
  • 打赏
  • 举报
回复
局域网、虽互联网但网络正常速度快时,直接提交到服务器
其余情况在提醒用户的情况下,暂存到本地文件,等待网络正常速度快时,批量提交到服务器
cjianwen 2009-10-14
  • 打赏
  • 举报
回复
2+1
dahai9825 2009-10-14
  • 打赏
  • 举报
回复
方案2 可以避免数据丢失
lhy 2009-10-14
  • 打赏
  • 举报
回复
同时保存。这样就可以避免1楼提出的问题。
AuroraAlpha 2009-10-14
  • 打赏
  • 举报
回复
方案2是趋势
smalldeer 2009-10-14
  • 打赏
  • 举报
回复
继续讨论
MKD 2009-10-14
  • 打赏
  • 举报
回复
一般都是方案2,这涉及到多人使用,数据同步的问题,否则明明已经修改了数据,另一个人查询到的却是旧数据。

如果对数据同步不敏感,且客户端使用不多的话,可以选择方案1。比如零售行业的分店和总店之间的关系。分店的销售业绩,并不需要即时上传,只需要每天在某个时候一次性上传即可。

使用哪一方案,具体看楼主的应用需求。
garnel 2009-10-14
  • 打赏
  • 举报
回复
首先要看你录入的数据量,以及这些数据如何使用,其次要看你系统的架构,两层的还是三层的。以目前微软架构为操作系统应用的网络设备建议你使用方案2,应该损失不大。

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧