0
点赞
收藏
分享

微信扫一扫

百度交易中台之系统对账篇

三次方 03-25 09:00 阅读 3
百度dubbo

公众号封面.jpeg

01 前言

交易中台为百度小程序、百度地图打车、百度健康、百度文库、百度电商等业务提供了支付、订单、结算等交易服务能力,随着交易业务的飞速发展,交易订单量逐日增加,同时每日产生的交易GMV和清结算资金也是一个很大的体量。主要涉及交易订单、支付通道账单、交易营销、交易履约、数据中心、结算中心、商家资金池、银行打款、数据账房以及百信银行等交易内部10+的链路系统的交易数据,本篇的系统对账主要介绍了如何去实现和保障交易数据的准确性和一致性。

02 系统介绍

交易系统链路核心包括收银台、交易订单、交易营销、交易履约、数据中心、结算中心、资金池及数据账房:

  • 收银台:提供聚合支付能力,支持微信、支付宝、银联对公、银联对私、度小满支付、百度闪付、汇付天下和京东支付等通道,产生收银台支付单和收银台退款单;

  • 交易订单:打通用户、商家、商品、库存、售后等关键业务,是驱动交易全流程运转的核心。而订单系统承上启下,作为入口,涵盖了订单流程管理、库存与营销管理、算价引擎、履约子流程、售后以及退款信息管理等,产生交易订单和退款订单;

  • 交易营销:提供了营销预算、营销库存以及营销活动的能力,旨在通过促销活动和特定的交易条件来吸引顾客并推动销售增长,产生营销订单;

  • 交易履约:按照商家签约商品的约束关系,兑现或取消已兑换交易商品提供的对应服务,产生履约订单和取消履约订单;

  • 数据中心:收拢交易订单、退款订单、履约订单和取消履约订单,补充结算协议及商家供应商等结算中心依赖的关键数据,产生凭证订单;

  • 结算中心:依据结算协议规则将凭证订单的货款结算至对应的商家供应商。产生结算账单,最终汇入商家资金池;

  • 资金池:提供商家资金余额、商家资金流水以及商家打款的能力。提供商家资金池交易流水、商家资金池余额和商家付款凭证;

  • 数据账房:交易中台数据的统一出口,涵盖订单、结算账单和资金池流水等,商家通过该系统可直接查询收入/其他款项/支出等流水信息,提供按天/月/年的财务对账。

整体概括如下图:

image.png

交易中台链接外部核心系统有百信银行和聚合支付渠道:

  • 百信银行:承接了交易中台交易的收单、清分以及清算,从而实现了"一清"。提供“一清成交”、“一清核销”、“一清收入”以及“一清打款”的指令账单;
  • 聚合支付渠道:包括微信、支付宝、银联对公、银联对私、中行数币支付、度小满支付、百度闪付、汇付天下和京东支付等,提供渠道支付账单。

03 背景&问题

随着交易中台支付业务的多元化,交易订单量迅速增长且蓬勃发展,交易支付及结算业务的复杂性也在不断的提高,总结下来,有以下几个特点:

在这样的交易背景下,我们要保障交易数据的准确性和时效性,同时还需要保障履约、结算、资金账单以及商家付款的时效性和数据一致性,这就给我们的对账系统带来了巨大的挑战。简单介绍下交易系统运行过程中出现过的问题,如下图:

image.png

从上边的问题可以看出,基本上都是系统间数据不一致导致的,当然不仅限于这些场景。凡是有系统交互,数据交互的场景,都会出现此类问题,也就是“数据一致性”的问题。

“数据不一致”的原因有很多,如下:

“数据不一致”带来的影响,如下:

关于一致性问题,业内的解决方案已经非常成熟,从百度搜索“一致性问题”,随处都是此类问题的阐述、概念的定义、解决思路以及解决方案,比如:

这些方案的目标都是在事中避免问题的发生,但是在现实交易的场景中,无论是系统内部,还是系统与外部环境的交互都是复杂多变、不可预知,很难完全避免“数据不一致”问题的发生。因此在事后对数据问题的发现并及时修复也非常重要。这也是本篇文章要讲述的“对账系统”的核心功能。

本篇介绍的对账系统涵盖了“准实时”对账和“T+1”离线对账两种能力:

04 对账系统

4.1 “准实时”对账系统

4.1.1 系统概况

“准实时”旨在提供一套可以及时发现数据问题并及时对问题进行修复的自动化对账系统,开发专用平台,实时针对系统间的数据同步问题进行追溯和处理。设计思路如下图:

image.png

4.1.2 系统实现

  1. 通过DTS平台监听交易链路系统中数据库的binlog文件,将binlog消息发送至BP。

  2. 消费BP数据,采集上下游系统的数据集,抽象上下游系统间的数据结构,一次上游系统的推送和下游系统的接收作为一对元信息,进行存储。

  3. 依据监控配置信息,定时监控未成对出现的对账元信息,自动调用修复接口并完成异常对账元信息的预警。

  4. 对账结果可视化,依托自助化sugar报表平台,完成对账结果的可视化分析报表。

整体架构图如下:

image.png

对账服务:

4.2 “T+1”离线对账系统

4.2.1 系统概况

“T+1”指的是从交易日往后顺延1日,即“T+1”对账是指T+1日完成截止至T日的数据对账。对账系统分为交易链路系统内部对账和交易中台与外接系统对账,主要包括数据准备、数据核对、数据平账以及数据报表等模块。

image.png

  • 数据准备:顾名思义,获取对账系统依赖的全部数据。

  • 数据核对:采用数据比对手段,双方数据未匹配成功的视为差异。

  • 数据平账:完成差异数据的二次对账,消除跨账期差异,实现最终差异数据自动修复和预警。

  • 数据报表:完成对账结果的数据分析及统计,提供数据报表的可视化展示界面。

4.2.2 交易链路系统内部对账

图片

  • 数据准备

通过ETL数据同步工具,T+1日完成T日交易数据到离线AFS文件系统的同步,完成afs文件和hive meta表的绑定。使用Pingo平台完成同步数据任务的调度并例行执行。

  • 问题发现

对账系统的目标是发现系统问题,通过系统对账发现数据流转过程中的数据不一致问题,可以归结为丢数据、重复推送、结算协议问题、系统线上功能bug等。

  • 数据核对
  • 差错处理

下游系统提供数据检查和数据修复接口。数据核对完成之后,启动差错处理,调用数据修复接口之后,再次调用数据检查接口,最终完成数据修复;差错处理设置重复3次,处理3次仍未修复的数据会自动进入预警系统,以邮件和短信的方式预警到团队和个人,最终由人工处理解决。

4.2.3 交易中台与外接系统对账

图片

  • 数据准备
  • 问题发现

对账的目标是保障双方数据一致,通过系统对账发现:与外接系统的数据不一致可以归结为数据跨账期、外接系统处理异常、状态不一致、丢数据等。

  • 数据核对
  • 差错处理

多次平账之后仍未消除的差异视为异常数据,异常数据会自动进入预警系统,以邮件和短信的方式预警到团队和个人,最终由人工处理解决。

05 结束语

百度交易中台聚合了订单、支付、履约以及结算等交易能力,随着接入的业务方越来越多,交易场景也在多元化,有流量主带货交易、直播带货交易、宿主带货交易、多方分账交易等等。多元化的交易场景带来了复杂的结算流程,交易结算的时效性、准确性需要稳定可靠的交易数据流来保障,百度交易中台的对账系统会不断进行完善和升级,在以保障交易数据流的稳定为前提,输出给业务方稳定、可靠的交易对账后台,助力业务持续发展。

——————END——————

推荐阅读:

揭秘百度数仓融合计算引擎

教不会你算我输系列 | 手把手教你HarmonyOS应用开发

漫谈数据分布可视化分析

一文详解静态图和动态图中的自动求导机制

千万级高性能长连接Go服务架构实践

举报

相关推荐

0 条评论