【洞见】国际结算系统集成实践

科技新闻新闻 / 来源:我们的开心 发布日期:2020-11-26 热度:7C
敬告:本站部分内容转载于网络,若有侵权、侵害您的利益或其他不适宜之处,请联系我们,本站将立即删除。
联系邮箱:2876218132#qq.co m
本页标题:【洞见】国际结算系统集成实践
本页地址:http://www.toupiao.la/7682-1.html
相关话题:系统集成
#系统集成# 【洞见】国际结算系统集成实践


   提示点击上方"我们的开心"关注我们
文/龙巍


凡是过往,皆为序章。
这是一个最好的时代,这是一个最坏的时代,这是属于金融科技的时代。



随着改革开放的深化和中国的国际贸易业务量逐年递增,中国对外贸易总额在2019年已经达到30多万亿元人民币,这些巨额资金的受理和结算一般由银行负责,所以国际结算业务是商业银行的重要业务之一。国际结算应用系统是银行为客户提供贸易外币结算的业务系统,主要业务包括信用证、托收、汇款、保理、保函、进口押汇、出口贴现、打包贷款等,它需要在一个联机交易中实现运营、业务、清算、结算、合规、监管等多项联动的业务处理。传统的国际结算应用系统通过单个应用系统实现所有这些专业处理功能,不仅系统开发维护成本高,而且不便于快速应对业务各方面的变化发展。
      本文主要介绍了在数字化转型过程中,农行国际结算系统进行的业务流程再造、跨系统服务集成、联机交易一致性保障等技术应用实践。





系统建设背景


在2018年以前,农行国际业务主要信息系统存在系统各自独立缺少联动、系统基础框架扩展性不足、网点延伸和电子渠道拓展不足、业务操作流程亟需优化等突出问题,迫切需要打造一个高效的跨境金融服务系统。
       根据农行党委“融入国际”的战略要求,国际业务的发展需要与之相适应的信息科技支撑能力。在业务与科技部门共同努力下,农行新一代国际结算系统于2018年9月正式投产,该系统基于农行新一代开放平台技术中台架构进行构建,实现了促进业务发展,强化科技支撑的目标,为后续推进农行国际业务进一步数字化发展奠定了坚实基础。



农行国际结算系统的改造与实践


01


业务流程再造


进口跟单信用证业务是国际结算业务中的一个典型业务,从信用证开证、到进口货单处理、再到承兑付款、最后信用证归档,整个跟单信用证业务生命周期需要经历一系列的业务过程,每个过程由一系列业务流程操作节点组成,例如信用证开证这个过程,主要包含扫描申请、开证录入、合规筛查、开证复核、开证授权、开证确认等流程操作节点。流程需要支持机构角色间流转和可定制,以适应业务规则和业务管理办法的变化。新一代国际结算系统通过设计业务行部流转模式配合集成消费技术中台中统一流程服务平台提供的流程控制服务,较好的实现了信用证全流程的优化改造。

02


跨系统集成

一个联机操作节点在新一代国际结算系统中基本对应一个联机交易,一个联机交易通常需要完成综合性的功能要求。以开证确认这个联机交易为例,内部功能处理大致为:A.开证信息核对;B.信用证表外记帐;C.开证业务收费;D.向贸易对手行发送Swift报文;E.更新本地业务完成情况;F.生成监管报送数据;G.业务流转。而要完成这些综合性功能会涉及到信贷审批、收费管理、账务处理、报文发送、监管报送等业务,需要跨多个行内系统实现,新一代国际结算系统通过互联中间件与相关系统服务建立接口消费关系,直接调用相应的跨系统功能服务实现应用集成。

03


联机交易一致性保障的设计

一个联机交易在实现综合性功能的同时,还要具备事务处理一致性的能力,即所有处理要么全部成功,要么整体回退。
       根据分布式系统CAP定律,一致性、可用性和分区容错性三者是不可兼得的,而分区容错性是分布式系统必备的,这样的话系统的一致性可用性无法兼顾,但这无法满足实际应用需求。在对一致性可用性进一步权衡和实践的基础上,CAP定律演化出了BASE理论,其核心思想为即使无法做到强一致性,但每个应用都可以根据自身的业务特点,采用适当的方式来使系统达到最终一致性。BASE理论的三个要素为:系统基本可用、软状态、数据的最终一致。
       根据BASE理论的思想,新一代国际结算系统在系统基础层设计了一个“软状态”控制机,将本地事务和跨系统功能调用按顺序串联起来,再辅以正向补偿和反向冲销机制,以实现跨系统数据的最终一致。
       对于一笔进口信用证开证联机业务,业务人员只关注操作结果是否成功,如果成功表示系统内部所有处理全部正常,业务可以按正向流程进入下一操作环节;如果失败,业务人员需要检查业务信息,要么按反向业务流程退回前一业务操作环节,要么重新再次提交当前环节操作。这里由于交易内部存在跨系统调用,对于跨系统服务调用,结果除了会收到对方明确返回的成功和失败外,还有可能由于网络、系统环境等原因出现未收到对方返回结果,调用超时的情况。新一代国际结算系统设计了一类“处理中”的中间状态。由于中间状态是一种结果不确定状态,外系统实际处理情况无法判断,同时为了避免反交易过程同时出现这类情况导致问题复杂化,这里做了一个简化的系统控制,禁止处于中间状态的当前环节业务操作进行后续业务流转,业务人员需要等待或者重复提交当前交易操作,直至交易返回成功或失败这两类确定状态后,该笔业务才能在系统中进行后续的业务流转。


04


分布式事务的核心设计

在做联机交易一致性保障时有两个核心设计,即中间状态和重复提交。二者实现方式如下:



中间状态的设计实现



1.每次跨系统服务调用的结果需要一条状态记录来登记,状态类型共有四种,一个初始状态,两个确定状态值和一个不确定状态值。
     2.由于一次联机交易中可能存在多次跨系统服务调用,所以需要一组对应不同服务调用的多个状态记录来表示交易的当前处理情况,对于这样的一组状态记录我们定义为一条交易工作链
     3.由于一笔业务可能会发生多次不同的联机交易,所以一笔业务会存在多条交易工作链。
     4.一笔业务能否进行当前或后续业务操作,需要由该笔业务的本地业务信息状态和该笔业务对应的所有交易工作链中跨系统服务调用状态共同决定。为确保处理过程简洁便于跟踪,我们对单笔业务交易工作链中每个节点对应的业务处理进行了串行控制。
     5.为尽量减少一致性处理对用户操作的影响,我们将交易工作链状态对应的跨系统调用处理再分为同步调用和异步调用。依据业务交易的时效和性能要求,联机同步调用被控制在1-3个以内,其他均通过异步调用实现。
     6.单独设计了专用的冲销交易和补偿交易,用于对工作链节点状态处于“失败”或“处理中”时进行跨系统业务处理数据一致性修复,并将工作链节点状态更新为“成功”。




针对重复提交的设计实现



对于重复提交,需要联机交易和远程服务具备幂等性,即业务处理支持重复提交多次,成功的结果值只应有一个,不应出现因提交次数不同,结果值不同。对此,新一代国际结算系统进行了如下设计实现:
     1.对于交易的本地业务处理,通过本地生成唯一的业务标识码防止业务重复执行。
     2.对于跨系统调用,调用前先检查工作链状态,对于状态为已成功的跨系统调用不再重复进行。
     3.对于跨系统调用,本地生成幂等请求编号,并与服务方在接口信息中进行约定,在服务方不完全支持幂等特性的情况下,加入查证机制。
     4.对于交易中的跨系统同步调用,支持自动重试,如超过重试上限后仍无法成功,交易将停止重试,返回失败。
     上述工作链和幂等控制新一代国际结算系统在系统公共应用层进行了接口封装实现了对上层应用透明,应用级交易只需遵循开发规范在交易入口、跨系统调用、交易出口处调用公共标准子流程或接口即可。



总结与展望


新一代国际结算系统自2018年上线以来,运行平稳,系统集成设计的实际应用效果符合预期。新一代国际结算系统建设基于农行新一代开放平台技术中台,是农行SOA企业级应用架构的一次成功系统集成实践。系统主要通过统一流程服务平台实现业务流程优化改造、通过分布式应用互联中间件实现跨系统集成,通过应用级工作链和幂等设计实现分布式事务一致性控制。
 在当前信息爆炸创新为王的数字化变革新形势下,分布式和微服务已然是系统架构主流的发展方向,另一方面实现持续稳定的应用集成,也是架构设计应变与创新的挑战。新一代国际结算系统在新技术应用与业务创新方面仍需继续努力。




互动问题

关于分布式系统服务集成、分布式事务协调相关问题,欢迎沟通交流。




作者简介




      龙巍,现任广州研发部应用开发二部副主任工程师,曾参与境内对公业务现金管理、境外核心等系统建设工作,目前主要从事境内国际结算及贸易融资相关系统设计研发工作





往期精彩回顾

1.【洞见】零接触金融服务专题|回顾
2.【洞见】视频直播技术专题|农行视频直播平台建设及发展思考
3.【洞见】财务数字化转型的思考
4.【洞见】规模化敏捷借鉴性思考



轮值总编:张纪峰
责任编辑:徐进晓
美       编:徐瑞敏
技术支持:孟岱


我们的开心 ? 总编辑部
(洞  见)




长按二维码   关注我们
-  
快 乐 生 活 
开 心 工 作 


   
我 们 的 开 心

微信号:abc_kx
本文为“我们的开心”第4005期文章  
转载本号文章请联系我们

■欢迎来稿:请按“作品名-作者-部门”命名,发送到abckx@abchina.com
论坛
  阅读原文
支持0次 | 反对0次  
  用户评论区,文明评论,做文明人!

通行证: *邮箱+888(如:123@qq.com888)