两个数据库之间的事务操作是否是这样的

A行有a帐号要汇¥100到B行b帐号中。(A,B行为不同数据库)

A,B行之间提供一个报文收发的接口专门用于处理事务,格式

事务请求报文:

事务号:要操作的命令(比如给b帐号+¥100)

事务回应报文:

事务号:是否成功完成事务中本方要完成的工作(true or false)

我们暂且把这一事务号定为T100,而这过程中A行自己要做的事被称为T100A事务(B行一样)

1. (A行)prepared commit T100A

2. (A行)a帐号-¥100

3. (A行)记录跨行交易日志T100A

4. (A行-->B行)报文(T100:给b帐号+¥100)

5. (B行)prepared commit T100B

6. (B行)b帐号+¥100

7. (B行)记录跨行交易日志T100B

8. (B行)commit T100B

9. (B行-->A行)报文(T100:true)

10. (A行)只有当接收到(T100:false)的报文时才进行回滚事务T100A

11. (A行)commit T100A

12. (A行)查看B行的跨行交易日志与A行对应的日志做比较,判断交易是否成功,以B行为准,如果B行的操作失败则给a帐号+¥100



本文主要参考http://www.iteye.com/topic/78417自己胡乱构想
不知道这样的操作步骤对不对,这只是我个人的想法,希望大家给点建议
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值