当前位置: 首页 > news >正文

(转)关于多人操作数据的处理策略

在系统中可能会出现这样的状况:

1 对同一条数据,两人同时进行操作,其人第一个人想做修改的操作,第二个人想做删除的操作。第二个人做删除的操作比第一个人要快,这时第一个人修改完成,进行提交时,并不会提示出错,只会提示0条记录被修改。

2 对同一条数据,两人同时进行修改操作,第一个人先进去修改,然后,第二人个又进去修改,第一个人改完后提交,第二人也修改完提交,其中第一个人比第二个人速度快,这样就造成,二个人修改前读取的数据是一样的,而第二人个修改的数据,覆盖了第一个人修改的内容,造成第一人的工作白做了。

 

这样就造成了数据操作的问题,基于以上问题,我想到以下的方案来解决。

 

方案一 乐观锁机制

在表中增加一个字段,版本号或时间戳,当第一个人准备修改数据前,先查出这条数据的版本号或时间戳,前执行修改时,再去库中查出版本号或时间戳是否与之前一至。如果不一至,提示用户数据已被改变;如果一至可进行修改,修改时,更新库中的版本号(增加版本号)或时间戳(最后修改时间)。

 

方案二 申请操作机制

多人操作数据时,可以建立一个申请机制,当有人想对某条记录操作时,需求先申请该条记录的操作权,申请成功,可以进行修改或删除的操作,操作成功,则自动释放该条数据。如果不想操作该条数据,则可以手动释放,让别人去做。

转载于:https://www.cnblogs.com/toge/p/6114691.html

相关文章:

  • C#的扩展方法解析
  • 4D卓越团队-两天培训总结
  • sql查询
  • 为什么LTE系统的最小时间单位是Ts?
  • MWeb 2.0.7 版发布!
  • 超全面Java 面试题(2.1)
  • my-innodb-heavy-4G.cnf配置文件注解
  • UML总结--总体架构
  • input子系统
  • Redis/MongoDB用户权限配置
  • hive产生很多.staging_hive文件
  • 互联网应用在高并发
  • 20161206
  • 【原创】Chrome最新版(53-55)再次爆出BUG!
  • avalon2.2的VM生成过程
  • Apache的基本使用
  • bootstrap创建登录注册页面
  • ES6系列(二)变量的解构赋值
  • golang 发送GET和POST示例
  • JavaScript设计模式之工厂模式
  • java第三方包学习之lombok
  • Object.assign方法不能实现深复制
  • Otto开发初探——微服务依赖管理新利器
  • Vue小说阅读器(仿追书神器)
  • WePY 在小程序性能调优上做出的探究
  • XForms - 更强大的Form
  • yii2权限控制rbac之rule详细讲解
  • 记一次和乔布斯合作最难忘的经历
  • 前端_面试
  • 思考 CSS 架构
  • 听说你叫Java(二)–Servlet请求
  • 通过几道题目学习二叉搜索树
  • 新书推荐|Windows黑客编程技术详解
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • # 数据结构
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (企业 / 公司项目)前端使用pingyin-pro将汉字转成拼音
  • (三)uboot源码分析
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (一)UDP基本编程步骤
  • * CIL library *(* CIL module *) : error LNK2005: _DllMain@12 already defined in mfcs120u.lib(dllmodu
  • ***通过什么方式***网吧
  • ./和../以及/和~之间的区别
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .NET 发展历程
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?
  • ?.的用法
  • []利用定点式具实现:文件读取,完成不同进制之间的
  • [2009][note]构成理想导体超材料的有源THz欺骗表面等离子激元开关——
  • [C#]使用DlibDotNet人脸检测人脸68特征点识别人脸5特征点识别人脸对齐人脸比对FaceMesh