期货交易自动化论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 25|回复: 0

求问跨行转账程序的实现流程? - 金融行业 - ITPUB论坛-专业的IT技术社区

[复制链接] |主动推送

285万

主题

285万

帖子

855万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8553710
发表于 2022-9-11 06:23:39 | 显示全部楼层 |阅读模式
鄙人未接触过金融系统的程序,想了解下跨行转账程序的实现流程,分布式的事物是如何管理?
举例场景:
A行的a1账户向B行的b1账户转账 x元。
猜想的情况1:A行的程序能访问B行的数据库,在一个事物内a1账户划走x元,b1账户同时到账 x元。
猜想的情况2:A行访问B行的接口,转出和转入是分2步实现。步骤1:A行的a1账户划走x元,获得一个转出的标识。同时在A行的转账系统记录a1账户向b1账户转账x元的任务。
              步骤2:A行的转账系统调用B行的接口程序转入x元
情况1能想象到要么都成功,要么都回滚;情况2未想到如何保证事物的原子性,所以有疑惑,
实际情况可能是没想到的第三种情况,还望知道的达人普及解惑。
你需要了解人行支付系统接口,以及银联接口的功能和作用,就可以明白了。
情况2比较像实际情况,不过不可能两两之间建接口,由统一的组织建立一套标准接口就可以了。
跨系统的事务是无法保证一致性的,因此需要每天的对账和差错调整。
pacman2000 发表于 2014-12-9 15:03

你需要了解人行支付系统接口,以及银联接口的功能和作用,就可以明白了。
情况2比较像实际情况,不过不可能 ...
非常感谢及时的解惑,你让我对此有了确定的认识。
实践中我再去摸索。
本帖最后由 kunmao 于 2014-12-9 22:05 编辑
pacman2000 发表于 2014-12-9 15:03

你需要了解人行支付系统接口,以及银联接口的功能和作用,就可以明白了。
情况2比较像实际情况,不过不可能 ...
恩恩。银联接口也有主动冲正之类的。
正常情况下是A行将资金转入人行的支付系统,人行的支付系统再将A行的资金转入B行。同时人行还要在AB两行的资金账户上作增减。一般情况下,商业银行之间不直连
鄙人未接触过金融系统的程序,想了解下跨行转账程序的实现流程,分布式的事物是如何管理?
-- 跨行转账的实现,不是依靠分布式事务来保持一致性的
举例场景:
A行的a1账户向B行的b1账户转账 x元。
猜想的情况1:A行的程序能访问B行的数据库,在一个事物内a1账户划走x元,b1账户同时到账 x元。
猜想的情况2:A行访问B行的接口,转出和转入是分2步实现。步骤1:A行的a1账户划走x元,获得一个转出的标识。同时在A行的转账系统记录a1账户向b1账户转账x元的任务。
              步骤2:A行的转账系统调用B行的接口程序转入x元
情况1能想象到要么都成功,要么都回滚;情况2未想到如何保证事物的原子性,所以有疑惑,
实际情况可能是没想到的第三种情况,还望知道的达人普及解惑。
情况1:在同一个帐务系统内是这么实现的,可以认为A行的账户是本行的客户账户,B行的账户是本行的内部对应的往来账户,这个操作通常是通过事务实现。
情况2: 跨行转账 大致的流程跟这么差不多。这种情况没有办法保证原子性,只是通过联机冲正,日终对账差错处理来维持最终一致性。
额外补充:跨行转账的这种设定(特别是实时的),可以利用中间的不一致性,非法获利的。
表面是A行和B行,难道就一种渠道?难道各自只涉及一个账户?知道什么叫零余额账户不

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|期货交易自动化论坛

GMT+8, 2024-11-24 13:32 , Processed in 0.088767 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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