前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >并发事务的数据安全

并发事务的数据安全

作者头像
马克java社区
修改2021-08-03 18:01:46
4930
修改2021-08-03 18:01:46
举报
文章被收录于专栏:java大数据java大数据

1)目标的提出:并发事务的数据安全

马克-to-win:在互联网环境中,我们经常遇到比如:1)春节抢票系统。2)淘宝中大家同时下单买最后的几十个商品。3)你用你的工行账号买东西,同时你的老婆给你这个账号 转入钱或转出钱。上述几个问题的计算机本质就是:几个用户浏览器同时想修改数据库中同一行数据。这就促成了一个著名的艰难话题形成:互联网环境下并发甚至 高并发下的数据安全。马克-to-win:通常都是一个用户浏览器的请求由服务器端单例的Servlet一个线程来应答,即一个用户浏览器对应一个线程。一个线程又对应一个事 务,结论就是:一个用户浏览器对应一个事务。这样上面的诸多n个用户浏览器同时想修改数据库中同一行数据问题,就转化为n个事务同时操作(又看又改)同一 行数据的安全问题。所以解决了n个事务同时操作同一行数据的安全问题,也就解决了互联网环境下并发甚至高并发下的数据安全的核心问题。所以本节要研究的目 标确定:并发事务的数据安全。

2)一个实际的案例引发的问题:“网络并发数据安全”

马克-to-win:假设你账户有800元,你要在淘宝买衣服,衣服600元。同时,你老婆要从你的账上转走600元到她自己的账户。假如这两件事儿数据库设 计者开始时没有预案的话,正常流程应该是样这的:你买淘宝的线程,想从账上转600,判断一下账上还有800,没问题,于是就转了。当你线程判断时,恰巧 你老婆的线程也运行到她程序的“判断账上还有800”这句程序,也认为没问题,于是也转了。最后的结果就是你买了衣服,你老婆也转了钱,你的账上还有两百 块钱。这种情况肯定是不对的。马克-to-win:这不符合数据的一致性规则,如果这个数据库版本这样就发布的话,这就是个残次产品。问题出在哪?并发修改同一个数据。所以并 发访问的确存在安全问题。

更多请看: https://blog.csdn.net/qq_44638460/article/details/104157095

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档