救救苦命人吧!(200分)

  • 主题发起人 主题发起人 szkuojun
  • 开始时间 开始时间
S

szkuojun

Unregistered / Unconfirmed
GUEST, unregistred user!
好难盼来一次老总级面试,可他第一问题就把我搞定了:
"现有个这样问题:假如有5-6个用户(事实远远大于此)同时修改一纪录,通过
MIDAS架构的应用服务器,却只一部份提交成功,其它交易失败。有没有办法
可以解决!?"
面对老板那深沉的眼光,好象在说:能搞定此问题,就随时可上班
..MIDAS架构是不会更改
..问题是已发生了

各位大虾帮一帮忙,我已失职多日,囊中羞涩。苦啊!
 
“一部份提交成功”是多少成功??
一个?还是两个??
 
事务处理的原则是:要么都成功,要么都不成。(一次提交的数据)
可以考虑每次提交一条记录。谁先提交算谁的。对数据记录的锁定
应由数据库管理系统负责。
 
自定义优先级别来处理。
 
5、6个人同时修改一个纪录,谁的修改才是正确的?
为了让每个人在自己的交易中可以修改,又可以看见别人的修改结果,
只要设置好数据库的锁定方式。
 
使用mts,mts事务可以包含应用程序服务器端的企业规则,而不仅仅是数据存取。并且
它支持两阶段确认。
 
锁定数据库
 
说白了 修改某一条记录 哪怕100个人并发 到最后物理写的时候 也必须一个一个来
否则会有写入脏数据 或读出脏数据的可能
 
怎么我觉得这个问题的句法不通啊。是不是你们老板语文不合格?
 
锁定,同一时刻只有一个用户可以提交
 
方法一:锁定数据库的提交方式,同一时刻只有一个用户可以提交
方法二:使用具有分阶段提交的数据库管理系统如sql server,他们可对你提交的事务进行管理
 
什么乱七八糟的?
1、用MIDAS的话,修改时候没道理锁定记录的。
2、递交数据后,永远只有一个修改将被最终确认,其它都被撤消。
3、既然2成立,这一部分也永远只有一个用户是成功的。
4、如果是一部分数据的话,applyupdate(x),里的X决定允许错误数。
5、如果你自己在服务器端写递交过程,那么可能得到更好的控制,不过2始终成立。
 
to:吴剑明
>怎么我觉得这个问题的句法不通啊。是不是你们老板语文不合格?
那不是老板原话。如果问题已表达清楚,下次考语文时我会认真对待它。谢谢!

 
提问者:
如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。
请认真阅读大富翁论坛规则说明 http://www.delphibbs.com/delphibbs/rules.asp
 
多人接受答案了。
 
后退
顶部