写点什么

支付系统概述(十三 B):资金安全保障之核对

作者:agnostic
  • 2024-11-02
    上海
  • 本文字数:1425 字

    阅读完需:约 5 分钟

「支付系统概述(十三):资金安全保障」一文中,简单介绍了保障资金安全的基本思路。本文中,我们继续针对其中最后的一道防线:核对,进行展开。


核对,是除了产品设计和架构设计之外,另外一道异构的问题发现机制。资金安全大部分场景下等同于信息处理的上下游不一致。这种不一致,或多或少会体现于数据模型上的一致性问题。所以,通过异构的核对能力发现资金安全风险,是一种被实践证实有效的手段。就好比在日常生活中,家里的女主人走会通过对账的方式,发现有没有人偷偷乱花钱 ^_^


核对体系,我们一般会做多层的设计,通过多样性的核对能力,尽可能发现各类数据和指标上的不一致,从而发现资金安全的隐患。


第一道核对防线:单系统数据一致性核对。包括单模型数据一致性核对、模型间数据一致性核对、请求响应间数据一致性核对。单系统数据一致性核对,主要保证系统内部的数据存储和处理的正确性。

单模型数据一致性核对,检查领域模型内部状态、金额、汇率的一致性。这类的一致性,原则上在架构上就应该能保证。但是我们的资金防护能力,一定要能应对设计、实现和基础设施上的缺陷导致的各种问题。所以,单模型的数据一致性核对也是必要的。

模型间数据一致性核对,检查系统内部领域模型之间的数据一致性,主要检查状态和金额的一致性。这类核对,主要防止在代码逻辑和事务性保证上的缺陷导致的资金安全问题。

请求和响应之间的数据一致性核对,保证请求和响应的符合性。例如,请求中的币种对和响应的币种对一致,请求中的用户信息和响应数据的用户信息一致等。这类核对是系统间核对的前置保障。


第二道核对防线:上下游数据一致性核对。包括调用方请求一致性核对、系统间模型一致性核对。

调用方请求一致性核对和服务方的请求响应一致性核对类似,保证请求和响应的符合性。请求方和服务提供方的双重校验,可以更好的保证请求的正确性。对于资金安全领域,冗余是必要的。

系统间模型一致性核对,保证上下游在调用后,内部模型的一致性。这类核对通过实时抽取上下游的有关联关系的数据模型,通过业务主键进行匹配,对比两个模型之间的用户信息、状态、数量、汇率、金额等,发现由于架构设计或者系统实现上的缺陷导致的资金安全隐患。


第三道核对防线:基于业务设计的一致性核对。包括业务凭证核对、业务指标监控和外部交互对账。这部分是最后的防线,通过对于业务指标的观察发现资金安全的隐患。

业务凭证核对适用于超大系统内部的资金安全保障。通过将超大系统切分成若干较小的自闭环的业务单元,对于业务单元和业务单元之间,通过相互产出凭证(账单),然后通过实时和离线的手段对凭证进行核对,发现资金安全隐患。例如,可以将一个支付系统划分成用户域(行业域)、资金域、渠道域。用户域产出用户维度的账单,资金域按照资金能力的维度产品对账凭证,渠道域按照外部请求的维度产出机构明细,通过预先植入端到端跟踪号的方式,匹配各个域的凭证(账单),进行核对。

业务指标监控基于资损一定会影响业务指标的理念,通过对于业务指标波动性和目标符合行的监控,间接的发现资金问题。例如可以通过汇总损益和损益率,发现产品架构和实施逻辑上的问题。

最后对于有外部交互的,可以要求第三方机构产品账单或清算文件,通过逐笔或者银行流水、银存余额之间的核对和监控,发现资金流上的问题。


总之,核对是资金安全保证的最后一环,也是资金安全的重中之重。通过多道核对防线的建设,通过异构和多样性的核对规则,尽可能的发现资金安全的隐患,从而保证支付系统的稳定运行。

发布于: 刚刚阅读数: 5
用户头像

agnostic

关注

常识、KISS、高可用、合规架构、架构治理 2019-02-14 加入

二十年架构经验,互联网金融专业架构师。Open Group Master Certified Architect

评论

发布
暂无评论
支付系统概述(十三B):资金安全保障之核对_资金安全_agnostic_InfoQ写作社区