起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1822|回复: 4

[结贴] 关于数据并发提交的处理机制

[复制链接]

14

主题

82

帖子

212

积分

中级会员

Rank: 3Rank: 3

积分
212
发表于 2012-12-25 15:50:44 | 显示全部楼层 |阅读模式
现有A、B、C等多个用户要将信息录入同一张表,A负责录入一些字段,B负责录入其它一些字段……这些用户可能并发操作,有以下疑问:
系统的表都采用了乐观锁机制,即使用版本进行控制。那么什么的情况下才算冲突?如果有冲突的情况下该如何处理冲突?
问题1:A用户读取数据,B用户读取数据,A修改后正常提交,B也做了修改,无法提交?
那么B用户需要自己重新刷新数据,重新录入自己的数据?如果B用户录入的数据很多怎么办,是否有其它好的解决方式?

问题2:如果各个用户录入的字段都不重复,这些用户在并发提交时,是否情况同问题1?


14

主题

82

帖子

212

积分

中级会员

Rank: 3Rank: 3

积分
212
 楼主| 发表于 2012-12-26 10:30:25 | 显示全部楼层
大家都不关心数据并发处理?
回复 支持 反对

使用道具 举报

12

主题

2627

帖子

2866

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2866
发表于 2012-12-26 11:15:10 | 显示全部楼层
基本原理:当前版本中, bizData中, upate-mode只支持两种: whereVersion和whereAll; 在后续版本中, 将会支持whereKey和whereChanged

问题1:A用户读取数据,B用户读取数据,A修改后正常提交,B也做了修改,无法提交?
那么B用户需要自己重新刷新数据,重新录入自己的数据?如果B用户录入的数据很多怎么办,是否有其它好的解决方式?
--> 如果A,B修改的是同一行数据, 当前版本上,B只能刷新, 后续版本支持whereKey后, B就可以保存(B有可能是冲了A修改的内容)

问题2:如果各个用户录入的字段都不重复,这些用户在并发提交时,是否情况同问题1?
--> 当前版本上, B只能刷新, 后续支持whereKey和whereChanged后,可以使用whereKey或whereChanged来实现





回复 支持 反对

使用道具 举报

14

主题

82

帖子

212

积分

中级会员

Rank: 3Rank: 3

积分
212
 楼主| 发表于 2012-12-28 10:32:22 | 显示全部楼层
hecr 发表于 2012-12-26 11:15
基本原理:当前版本中, bizData中, upate-mode只支持两种: whereVersion和whereAll; 在后续版本中, 将 ...

ok,明白了。期待下一版本的到来。
贵公司提的专业术语
whereversion、whereall、whereKey和whereChanged能名词解释一下不?
回复 支持 反对

使用道具 举报

12

主题

2627

帖子

2866

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2866
发表于 2012-12-28 13:53:37 | 显示全部楼层
whereVersion: update或delete时,使用只使用version作为条件;
whereAll: update或delete时,使用所有列的旧数据(即查询出来的数据)作为条件;
whereKey: update或delete时,使用主键作用条件;
whereChanged: update或delete时,使用更新后的字段的旧数据作为条件;
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-7 05:06 , Processed in 0.075224 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表