美团配送资金安全治理之对账体系建设

随着美团配送业务的飞速发展,单量已经达到千万级别,同时每天产生的资金额已经超过几千万,清结算系统在保证线上服务稳定可靠的前提下,如何系统化的保障资金安全是非常核心且重要的课题,配送清结算系统经过近3年的建设和打磨,在资金安全保障的多个方面均有一些总结和实践,保障资金安全是值得系统思考的课题,只言片语难以全面概括,需要更多的着墨才能较完整阐述,本文侧重点会阐述“对账”的概念,在支付&清结算领域,这是一个非常重要的专业名词,下文将介绍“对账”在分布式系统建设中的实践和解决方案,力求在系统覆盖度、资金准确性、时效等多个维度为系统资金安全保驾护航,实现更健壮可靠的资金履约。

随着美团外卖配送事业的蓬勃发展,配送清结算业务的复杂性也在不断的增高,总结起来,主要有以下几个特点:

在这样的业务背景下,我们的系统可谓险象环生。因业务高度复杂,稍有不慎就会出现问题,面对千万级的日单量,同时还要确保结算金额的准确,这就让我们对问题的容忍度变得极低。这也给我们的资金安全保障造成了巨大的挑战。下面我们列举了一些系统日常运行过程中出现的问题。

可以看出,这些都是一些上下游交互的边界场景,以及遇到的问题。当然不仅限于这些场景,凡是有系统交互、数据交互边界的场景,都会出现此类问题,我们称之为“一致性问题”。经粗略统计,我们清结算系统建立以来有70%左右的问题都属于一致性问题。

导致一致性问题的原因有很多,诸如:

目前配送的日结算金额已达到千万级别,每个一致性问题都有可能给我们整个美团造成巨大的损失。因此如何解决系统的一致性问题成为我们保障资金安全的重中之重。关于一致性问题,业内已经论述的非常成熟了,搜索引擎中搜索“一致性问题”,随处可见此概念的定义、问题阐述、意义以及解决思路,诸如:

下面开始正式介绍美团配送清结算对账体系的构建经验。

对账的概念随着金融、互联网行业的发展,定义上也经历了几个阶段的变化,如下:

配送结算做为核心交易履约系统,上游对接了订单、奖惩、活动等十多个外部系统,下游又承担了对接支付平台、财务系统的职责,不仅“承上启下”,而且涉及业务复杂。而系统内部又历经定价、计费(清算)、记账、汇总账单、付款等多个环节,系统的高度复杂性给对账的全面性和准确性造成了极大的困难,如图:

为了系统更加专业化的实现对账、做好对账,我们对支付、清结算等资金领域进行了体系化的调研和学习,并结合业务的自身的特点,总结了一套对账系统构建的思路方法,并基于该思路进行了较完整的系统化实现。

从整体来看,按照时序维度的先后,系统对账主要分为三阶段的工作。分别是数据准备、数据核对和差错处理。在对账专业概念中,数据核对和差错处理又叫轧账和平账。三个环节紧密相连,从前期准备、问题发现、问题处理三个角度展开对账工作。

数据准备,顾名思义,我们需要把对账所需的全部数据,接入到我们的对账系统。该模块主要实现两个目标:

在数据接入层,我们会针对不同的数据接入方提供三种不同的数据接入模式。

数据核对是对账中最核心的一个阶段。其目标是发现问题数据。数据核对阶段我们的两个目标是保障数据核对的覆盖度和准确性。经过总结和梳理,数据核对过程可以分为以下5个环节。

1.问题梳理

由于数据核对的目标是发现问题,那么我们进行数据核对就要从问题出发,首先明确我们要通过对账发现哪些问题,只有这样才能保证数据核对的覆盖度。经过梳理,我们发现在数据流转中过程中数据的不一致问题可以统一归结为三类,分别是漏结、重复结、错结。我们可以从这三个角度去统一进行问题梳理。下面介绍一下这三种错误类型的具体含义。

2.对账方式

对账方式主要分为两种,单向对账和双向对账。

显而易见,双向对账更能够全面的发现问题。因此在条件允许的情况下,我们会优先选择双向对账。

3.对账粒度

对账粒度也分为两种,分别是明细对账和总数对账。

因此,推荐的做法应该是以明细对账为主,定位具体问题。以总数对账为辅,对明细对账的结果进行复核兜底。

4.对账口径

对账口径,也就是具体的对账逻辑的设计。我们会提供固定的对账模板,供不同的对账场景选取。如果某些特殊场景对账模板不能覆盖,也可以采取对账逻辑自定义的方式进行对账。

经过总结我们发现,对账的形式无非就是两方比对和自身异常检测两种。两方比对又可以细分为一对一、多对一、一对多。比对方法也主要是分为条目匹配和金额匹配。自身异常检测主要是重复性和异常状态的检测。我们把这些通用的对账逻辑模板化,减少重复的开发工作。

5.对账时机

数据核对的最后一步就是对账时机的选择。分为离线对账和在线对账。离线对账主要是通过固定的周期进行对账。最短周期为T+1。它的好处是适用性较强,基本可以覆盖所有的对账场景。而在线对账又分为实时对账和准实时对账。实时对账和准实时对账的区别主要是实时对账耦合在结算链路中,可以在发现问题数据时,对结算流程进行拦截,而准实时对账是异步进行的,不具备拦截能力。在线对账有一定的局限性,一方面它依赖于对账数据是否能实时的准备好,另一方面也比较占用系统资源。因此我们的做法应该是以周期对账为主,在某些实时性要求比较高,且条件满足的场景使用在线对账。

差错处理主要是对数据核对过程中发现的问题数据进行处理。我们会建立一个统一结构的差错记录,将数据核对发现的问题进行统一存储。差错记录中的数据会进行二次核对,避免由于日切等原因造成的问题错报。对于那些真实存在问题的数据我们会提供两种解决模式,如果是常见的问题,且有一套标准的解决方案的话,我们会把它系统化,采取系统自动修复的方式;如果系统无法自动修复,那么我们会进行系统报警,并进行人工处理。

综上所述,对账体系的整体架构,分为三个模块,分别是离线对账平台,在线对账平台和平账中心。完全是按照我们上面的对账思路设计的。三个模块互相协作,一体化的完成数据准备、数据核对、问题处理三部分工作。由于我们整个清结算系统是围绕不同的费用项建立的,因此费用项也是我们设计对账、执行的对账一个最小粒度的单元。

具体介绍下三个模块。

离线对账分为三个子模块,分别是数据接入层、对账管理层和对账执行层。

在数据接入层我们提供拉取和推送两种模式,经历一个数据适配的过程,将数据存储到我们统一的对账数据池当中。

在对账管理层当中,我们抽象出了一个对账场景的概念,我们基于对账场景进行对账属性的配置:首先要选取对账双方的数据源;然后进行对账口径编辑,这里提供了自定义和模板选择两种方式;最后配置对账的周期。这里我们是通过cron表达式来进行周期配置的。

右边两图分别是分别是异步对账和同步对账的实例。在异步对账的实例中,是运单和结算单元的对账。

①异步对账:我们分别监听运单和结算单元的Binlog,通过Kafka->Storm的经典架构,进行对账策略的执行。实际的流程比较复杂,这里只是一张简图,大概就是:(细节可以忽略)

收单运单消息后,我们会把对于的运单以List的形式存储到Squirrel(Redis)中,当结算消息来了以后,就把对应运单记录Delete掉。如果有运单记录一直停留在List当中,也就是说明结算消息没有来,应该是发生了漏结算。我们通过过定时任务轮询运单List将问题数据输出。

②同步对账:示例中是结算内部的流程,经历结算单、账单、付款几个流程。因为付款是最后一个流程,如果这个时候数据存在问题,那么就会造成实际的资金损失。因此我们会在付款环节之前,对前面的数据进行对账。如果发现账单和结算单的数据不一致,我们就会进行数据拦截。

按照计划实施后,系统的各个节点都会有行之有效的对账手段覆盖,实现资金安全、数据一致性的保障,示意图:

外卖配送是个挑战与机遇并存、荣誉与艰辛同在的业务,优秀的项目也同样需求优秀的同学,配送订单调度、清结算系统长期招聘资深工程师、技术专家、架构师等岗位,欢迎各位志同道合、能力优秀的人加入。如果有意向,请发简历至zhanghongwei#meituan.com

THE END
1.实时数据流传输架构mob64ca12f37e8a的技术博客在大数据时代,实时数据流传输架构变得愈加重要。这种架构让我们能够以低延迟、高吞吐量的方式传输、处理和分析数据,使得企业可以迅速获取关键业务洞察力。本文将探讨实时数据流传输架构的基本概念,以及相关实现的代码示例。 实时数据流的概念 实时数据流是指连续生成的数据流,这些数据通常来自于传感器、服务器日志、社交媒体https://blog.51cto.com/u_16213444/12854373
2.QQ中的4G在线标志,技术原理与含义解析五金交电摘要:,,本文探讨了QQ上4G在线的含义及其技术原理。4G在线是QQ状态的一种显示,表示用户当前使用的设备正在通过4G网络连接到QQ。背后的技术原理涉及到移动网络的演进和QQ软件的功能设计。通过了解4G网络的高速数据http://xjxygt.cn/post/15467.html
3.在线表达式的革命,重塑计算边界与理解之力传输在线表达式作为一种新兴的云计算方式,正在改变我们的计算方式和生活方式,它具有实时性、交互性、便捷性和灵活性等特点,广泛应用于教育、科研、工程和金融等领域,随着技术的不断发展,我们有理由相信,在线表达式的应用场景将更加广泛,为我们的生活和工作带来更多便利。 http://m.zj-xy.net/post/22512.html
4.掌握未来技术,解析强实时性及如何应用于实际任务中的初学者与进阶强实时性系统是指系统对时间要求极为严格,能够在极短的时间内完成数据处理并作出精确响应,在强实时系统中,时间因素直接影响系统的性能与结果,自动驾驶汽车就需要强大的实时计算能力,以确保安全行驶。 认识强实时性的应用领域 强实时性技术在许多领域都有广泛应用,包括但不限于以下几个方面: https://www.shuguo168.com/post/11415.html
5.计算机考研:计算机网络五大考点解析腾讯云开发者社区计算机知识点多且难,一直是学生们头痛的科目之一,我们化繁为简,按照考研计算机专业大纲解析,特归纳出计算机网络五大核心考点以供同学们复习参考。 OSI参考模型的分层结构? OSI七层参考模型图如下: 最底层:物理层(PhysicalLayer)功能:数据物理传输 https://cloud.tencent.com/developer/article/2478828
6.实时,在线方式和离线方式的含义是什么?20岁,女性,人院前2周间歇性发热并有寒战,夜间体温39℃。发热期间左腹股沟有疼痛、肿胀。伴食欲缺乏,恶心、呕吐,时有咳嗽。体检左腹股沟有3cm×5cm肿块,肝、脾略肿大,腹部见玫瑰疹。血白细胞1.5×109 /L,中性粒细胞0.70×109/L,淋巴细胞0.36×109 /L,单核细胞0.04×109 /L。肝功正常,腹股沟https://www.shuashuati.com/ti/1d46a43729e74fce9d6abaf97383d863.html
7.实时在线方式和离线方式的含义是什么?实时、在线方式和离线方式的含义是什么? 参考答案:实时:所谓“实时”,是指信号的输入、计算和输出都是在一定时间范围内完成的,即计算机对输入信息以足 点击查看完整答案 您可能感兴趣的试卷 你可能感兴趣的试题 1.问答题什么是计算机监控系统的操作员工作站、通信工作站和培训工作站?http://www.ppkao.com/tiku/shiti/1963998.html
8.实时在线方式和离线方式的含义是什么?【题目】 实时、 在线方式和离线方式的含义是什么? 搜题找答案>08241计算机控制系统试题答案>试题详情 【题目】实时、 在线方式和离线方式的含义是什么? 纠错 查看答案 查找其他问题的答案?https://www.zikaosw.cn/daan/18588476.html
9.计算机网络第六话·数据的传输方式(上)知识点6:数据的传输方式 PS:本期内容包含了数据传输方式的基础内容与对应的一些概念和特点类习题,更多关于大题的计算与深度理解,请敬请期待下期哦~ 6.1 电路交换(Circuit Exchanging) 1.什么是电路交换? 在进行数据传输前,两个结点之间必须先建立一条专用的、双方独占的物理通信路径(由通信双方之间的交换设备和链路https://zhuanlan.zhihu.com/p/506165800
10.计算机控制技术复试面试(一)计算机控制面试问题总结(1)实时数据采集:对被控量的瞬时值进行检测,并输入给计算机。 (2)实时决策:对采集到的表征被控参数的状态量进行分析,并按已定的控制规律,决定下一步的控制过程。 (3)实时控制:根据决策,适时地对执行机构发出控制信号,完成控制任务。 5.实时、在线方式和离线方式的含义是什么? https://blog.csdn.net/weixin_44141520/article/details/115273613
11.海康威视IVMS4200设备添加和预览怎么配置?监控安装网在线,就代表添加成功,可以直接进入主预览界面查看监控画面 离线,那就注意一下电脑左下角的报错提示是什么,我们可以根据具体报错来找添加失败的原因。 02、实时预览 设备添加成功后,点击左上角图标,然后点击主预览进入软件预览界面 进入主预览界面后,点击监控点下方的分组,可以通过三种方式预览监控点画面 http://www.zdxt.net/show-65-3215.html
12.武平县公安局第九期公共安全视频监控建设项目货物类采购项目附件系统能支持多种方式的数据传输:可通过FTP或TCP/IP方式将车辆图片、违法图片、车辆通过信息(时间、地点、车牌号码、车身颜色等)、设备监测数据等上传到中心管理系统;也可在中心通过网络调用或下载操控前端设备存储的数据。 系统应能支持数据的断点续传:如因网络中断或其它故障,数据无法上传至管理中心时,可暂时将数据存储http://zfcg.longyan.gov.cn/upload/document/20211027/8f239fdf66564012af5845ec4fa0aa9b.html
13.奥鹏作业答案优学网可做奥鹏全部院校作业、国开形考作业答案、在线作业、离线作业、毕业论文,答案联系 微信:wxxygzs 22春北京中医药大学《计算机基础》平时作业4(在线答案) 试卷总分:100 得分:100 一、单选题 (优学网(www.youxue100f.com)共 100 道试题,共 100 分) 1.下面说法正确的是( ) http://www.youxue100f.com/a/zgyk/2022-04-20-8204.html
14.电脑翻译语音软件手机字幕翻译语音(34篇)可以预见,随着实时翻译语音字幕技术的不断发展和普及,它将在更多领域展现出巨大的应用潜力,为人类社会的交流方式带来革命性的变革。 未来交流的新方向 实时翻译语音字幕技术的出现,标志着人类社会交流方式的一次革命。在未来,随着科技的进一步发展和普及,实时翻译语音字幕技术将迎来更加广阔的发展空间,成为推动全球交流的https://shishifanyi.com/tag/?url=1227
15.法学:电子商务法律法规考试题库(考试必看)考试题库A.只是交易方式的电子化 B.其交易过程一般是在线订货、支付 C.其交易过程一般是离线送货 D.其交易过程一般是在线订货、支付和送货 点击查看答案 39、填空题 广义的电子商务是指所有利用()和()进行的商业贸易活动。 点击查看答案 40、名词解释 完全独立的服务器 点击查看答案 41、多项选择题 数据库特殊权利,http://www.91exam.org/exam/87-1478/1478378.html
16.ApacheDoris实时数据仓库的构建与技术选型方案数据仓库想必每个行业从业者都在以各式各样的方式进行实践和应用,在久远一点叫做离线数仓,后来由被称为数据中台等演化名称,再往后,又衍生到现代化实时数据栈这样的概念中,但说到底,终究还是为了解决数据的接、存、管、算、查这五个要义的,无论是多么具有附加价值的其他能力,也都是围绕这五个基本核心功能延展的。 https://developer.aliyun.com/article/1424133
17.房产市场信息系统技术规范相对于在线方式,另一种申请方式为离线方式,即房地产开发企业在本地计算机填写好预售申请,保存为文件,再上传到本子系统中。 5.2 功能要求 5.2.1 说明预售许可管理功能包含的内容。 商品房预售许可证的申请、审批、发放是新建商品房网上备案子系统的重要过程。 https://www.jianshu.com/p/28dfd9d99d50
18.Odoo14版本发行说明,全面了解新特性和变化Odoo中文应用商店财务报告的新设计,显示了每个部分的含义。 审计 跟踪对以下科目过帐条目的修改:帐户,标签,参考,标签(税格),到期日。 自动输入 将自动转帐应用于特定合作伙伴;使公司间交易更容易;一个向导,用于在向导中生成和传输预览条目。 现金 为现金舍入定义两个不同的帐户-一个用于损益,一个用于损益。 https://www.sunpop.cn/odoo14_features_new/
19.使用DataSync迁移数据到GaussdbTDataSync支持GaussDB 100(GaussDB T)在线迁移和Sybase、Oracle、MySQL、 GaussDB 100 V100R003C10、SQL Server离线迁移两种数据迁移方式。配置好源库以及目标库相关配置信息后,启动迁移工具即可,运行过程中会生成相关的日志文件和报告,便于用户进行日常的管理及维护。 https://blog.itpub.net/29715045/viewspace-2681966/
20.北部湾旅:首次公开发行股票招股意向书股票频道Online To Offline(在线离线/线上到线下),是指将线下的商 O2O 模式 指 务机会与互联网结合,让互联网成为线下交易的前台 是健康(Health)、安全(Safety)和环境(Environment)三 HSE 管理 指 位一体的管理体系 LPG 指 液化石油气(Liquefied petroleum gas) LNG 指 液化天然气(Liquefied natural gas) CNG 指 压缩https://stock.stockstar.com/notice/JC2015030300000062_127.shtml
21.上海联净上海联净有序发展事业合伙人,形成共享愿景、共谋发展、共创价值的“合伙人机制”。机制旨在通过制度性安排,以长期激励为导向,从根本上激发合伙人的能动性,实现聚合效应。 “共创共赢”的基调下,合伙人在所在的领域内大力推行上海联净的优质产品及系统服务。依靠上海联净质量、品牌、培训等诸多优势,通过平台助力和自身https://www.legion.com.cn/feed1.html
22.状态监测与故障诊断技术在电厂设备管理中的应用2.1 状态监测与故障诊断技术的含义 设备的状态监测通常是指通过测定设备的某一特征参数(如振动、温度),来检查其状态是否正常。当特征参数小于允许值时认为正常,否则认为异常。而设备故障诊断技术是通过了解和掌握设备在线使用的状态,结合设备的运行历史,对设备可能要发生的或已经发生的故障进行预报、分析、判断,确定故障https://www.iianews.com/ca/_01-ABC00000000000111129.shtml
23.不良事件报告范文12篇(全文)MAUDE数据库完全对公众开放, 提供在线检索和离线下载两种方式。使用在线检索功能时, 可以一个词、词组或年份作为检索关键词, 也可以进一步使用高级检索功能, 选择其他的检索标准。网上检索易于操作, 适合一般公众使用;可下载文件则包含了网站搜索可以获得的所有报告的信息, 这些文件采用管道线 (“|”) 分隔格式, 所有https://www.99xueshu.com/w/ikey9wajeuvc.html