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

随着美团配送业务的飞速发展,单量已经达到千万级别,同时每天产生的资金额已经超过几千万,清结算系统在保证线上服务稳定可靠的前提下,如何系统化的保障资金安全是非常核心且重要的课题,配送清结算系统经过近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.什么是实时数据所谓实时数据(Real-time Data),是指那些能够即时获取、处理并在极短时间内反映实际情况的数据。它代表着一个系统或过程最新状态的信息,对于快速变化的环境尤其重要。从金融市场的瞬息万变到社交媒体上的动态更新,再到工业生产中的设备监控,实时数据的应用无处不在,并深刻地改变了我们的生活和工作方式。https://easyv.cloud/c/article/12321.html
2.QQ中的4G在线标志,技术原理与含义解析五金交电摘要:,,本文探讨了QQ上4G在线的含义及其技术原理。4G在线是QQ状态的一种显示,表示用户当前使用的设备正在通过4G网络连接到QQ。背后的技术原理涉及到移动网络的演进和QQ软件的功能设计。通过了解4G网络的高速数据http://xjxygt.cn/post/15467.html
3.实时数据流传输架构mob64ca12f37e8a的技术博客在大数据时代,实时数据流传输架构变得愈加重要。这种架构让我们能够以低延迟、高吞吐量的方式传输、处理和分析数据,使得企业可以迅速获取关键业务洞察力。本文将探讨实时数据流传输架构的基本概念,以及相关实现的代码示例。 实时数据流的概念 实时数据流是指连续生成的数据流,这些数据通常来自于传感器、服务器日志、社交媒体https://blog.51cto.com/u_16213444/12854373
4.重新定义数字时代的差距与连接,探索在线与离线的新境界摘要:本文探讨了数字时代的差距与连接问题。随着互联网的普及,人们之间的距离似乎变得越来越近,但同时也存在着不可忽视的差距。本文将分析这种差距的来源,并探讨如何通过新的方式重新定义数字时代的连接,以实现更加平等和高效的https://hnjwwzy.cn/post/223.html
5.掌握未来技术,解析强实时性及如何应用于实际任务中的初学者与进阶强实时性系统是指系统对时间要求极为严格,能够在极短的时间内完成数据处理并作出精确响应,在强实时系统中,时间因素直接影响系统的性能与结果,自动驾驶汽车就需要强大的实时计算能力,以确保安全行驶。 认识强实时性的应用领域 强实时性技术在许多领域都有广泛应用,包括但不限于以下几个方面: https://www.shuguo168.com/post/11415.html
6.计算机考研:计算机网络五大考点解析腾讯云开发者社区介质访问控制的帧结构:CSMA/CD的MAC帧由8个字段组成:前导码;帧起始定界符SFD;帧的源和目的地址DA、SA;表示信息字段长度的字段;逻辑连接控制帧LLC;填充的字段PAD;帧检验序列字段FCS。 介质访问控制方法:IEEE802.3标准提供了介质访问控制子层的功能说明,有两个主要的功能:数据封装(发送和接收),完成成帧(帧定界、帧https://cloud.tencent.com/developer/article/2478828
7.地图新认知:网络空间网络空间要素的形态特征和存在形式,以及刻画网络空间的角度、层面和方式等都会影响网络空间地图表达方式的选择,从而产生类型多样的网络空间地图。基础设施是网络空间的基本要素之一,其广泛分布于地理空间,人们在获取基础设施的空间位置等信息后,用传统地图的表示方法展现其空间分布等特征。https://mp.weixin.qq.com/s?__biz=MjM5MDA0OTA4Ng==&mid=2650151405&idx=1&sn=51a566d06c11900f55daf0fb4af2b85e&chksm=bf9964e88e7d4cb0336574aa92a7adf76d0d69be66d22b22bc756e4f632bfdfba5c683b47b23&scene=27
8.实时,在线方式和离线方式的含义是什么?答案解析 查看更多优质解析 解答一 举报 实时是指信号的输入,计算和输出都要在一定的时间范围内完成,即计算机对输入信息以足够快的速度进行控制,超出这个时间就失去控制时机,控制也就失去意义.在线方式:在计算机控制系统中,生产过程和计算机直接连接,并受 解析看不懂?免费查看同类题视频解析查看解答 https://qb.zuoyebang.com/xfe-question/question/c500ab74d5b3695cffea3bdf4927cd4d.html
9.实时,在线方式和离线方式的含义是什么?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
10.实时在线方式和离线方式的含义是什么?4.问答题什么是分布式I/O模块? 参考答案:由I/O模块和具有通信功能的数据处理模块构成,符合一定的通信协议,可放在现地控制单元本体以外一定的距离处,以通信方式实现 点击查看完整答案 5.问答题什么是现场总线系统?它由哪几层构成? 参考答案:现场总线是在现地主要自动化装置和控制层的自动化设备之间,通过共用通http://www.ppkao.com/tiku/shiti/1963998.html
11.实时在线方式和离线方式的含义是什么?【题目】 实时、 在线方式和离线方式的含义是什么? 搜题找答案>08241计算机控制系统试题答案>试题详情 【题目】实时、 在线方式和离线方式的含义是什么? 纠错 查看答案 查找其他问题的答案?https://www.zikaosw.cn/daan/18588476.html
12.计算机控制技术复试面试(一)计算机控制面试问题总结(1)实时数据采集:对被控量的瞬时值进行检测,并输入给计算机。 (2)实时决策:对采集到的表征被控参数的状态量进行分析,并按已定的控制规律,决定下一步的控制过程。 (3)实时控制:根据决策,适时地对执行机构发出控制信号,完成控制任务。 5.实时、在线方式和离线方式的含义是什么? https://blog.csdn.net/weixin_44141520/article/details/115273613
13.海康威视IVMS4200设备添加和预览怎么配置?监控安装网在线,就代表添加成功,可以直接进入主预览界面查看监控画面 离线,那就注意一下电脑左下角的报错提示是什么,我们可以根据具体报错来找添加失败的原因。 02、实时预览 设备添加成功后,点击左上角图标,然后点击主预览进入软件预览界面 进入主预览界面后,点击监控点下方的分组,可以通过三种方式预览监控点画面 http://www.zdxt.net/show-65-3215.html
14.离线方式调用和在线方式调用结果不一致,是什么问题呢?1.模型加载和初始化:确保在离线方式下模型被正确加载和初始化。可能存在某些配置或资源在在线(online)https://www.zhihu.com/question/660534524/answer/3549481171
15.玻璃知识概要房扬州装饰扬州家装扬州装修设计11、U值有几种测试方法?各有什么特点? 有2种测试方式,光谱测量计算法、热箱法,其特点如下: 光谱测量计算法具有测试准确、可变换玻璃组合、便于应用的优点。目前国际上普遍采用此法。 热箱法具有测试结果真实的优点,缺点是测试成本高、误差大,测试结果仅适用于被测的玻璃结构。 https://www.yzzs.cn/zhuangxiu/fang/a/436e142784d251e09be7798f826e606b.html
16.对电子合同的理解范文电子合同法专门针对电子合同的签订、履行、违约等事项对有关内容做了全面的规范,其承认电子合同与书面合同的法律效力相一致,其履行方式主要有以下几种:1.在线付款在线交货;2.在线付款离线交货;3.离线付款离线交货,通常选择第一种旅行方式比较好,因为其履行环节简单,风险小,不易产生争议。https://www.gwyoo.com/haowen/259265.html
17.双人成行离线方式和在线方式存档互通吗中关村在线 vivo X90 Pro+ 登录 | 注册 意见反馈 首页 排行 新品 问答 下载 论坛 手机 笔记本 数码相机 主板 显卡 平板电脑 更多 双人成行离线方式和在线方式存档互通吗查看全部6条评论回答 写回答 zhufujiesx3 离线游戏、选择存档。按回车键加入、按A键加入、进入游戏。 有用(0) 回复 举报 https://wap.zol.com.cn/ask/details_15335742_1740309_3.html
18.武平县公安局第九期公共安全视频监控建设项目货物类采购项目附件系统能支持多种方式的数据传输:可通过FTP或TCP/IP方式将车辆图片、违法图片、车辆通过信息(时间、地点、车牌号码、车身颜色等)、设备监测数据等上传到中心管理系统;也可在中心通过网络调用或下载操控前端设备存储的数据。 系统应能支持数据的断点续传:如因网络中断或其它故障,数据无法上传至管理中心时,可暂时将数据存储http://zfcg.longyan.gov.cn/upload/document/20211027/8f239fdf66564012af5845ec4fa0aa9b.html
19.法学:电子商务法律法规考试题库(考试必看)考试题库A.只是交易方式的电子化 B.其交易过程一般是在线订货、支付 C.其交易过程一般是离线送货 D.其交易过程一般是在线订货、支付和送货 点击查看答案 39、填空题 广义的电子商务是指所有利用()和()进行的商业贸易活动。 点击查看答案 40、名词解释 完全独立的服务器 点击查看答案 41、多项选择题 数据库特殊权利,http://www.91exam.org/exam/87-1478/1478378.html
20.三坐标测量仪的测量方式:离线还是在线三坐标测量仪的测量方式,既包括离线方式,也包括在线方式。选择合适的测量方式需要考虑产品的特点、生产节奏、测量精度等多方面因素。在制定生产流程时,应综合考虑各种因素,最终选择适合企业实际情况的测量方式。 【结论】 本文介绍了三坐标测量仪的两种测量方式,包括离线和https://b2b.baidu.com/q/aland?q=01341E3178237B2B08761B0E7C0D7B2B08767E7403746A73092206167270030E1D130616&id=qid5da238a200f85619c49214677807d999&answer=17050861471408854234&utype=2
21.电影日语翻译app在线拍照日语翻译中文(41篇)实时翻译:电影日语翻译APP采用了先进的人工智能技术,能够在播放电影的同时实时翻译日语对白。无论是经典对白还是复杂的专业术语,APP都能准确翻译,并且提供简洁明了的字幕。 多语言支持:不仅支持中日互译,电影日语翻译APP还支持多种语言之间的互译功能。无论你的母语是什么,都可以通过这款APP轻松观看日本电影。 离线模式https://shishifanyi.com/tag/?url=1181
22.如何查看电子保单?在需要查看保单时,有哪些在线和离线的方法可以在当今数字化的时代,电子保单已逐渐成为主流。了解如何查看电子保单以及可用的在线和离线方法至关重要。 首先,我们来谈谈在线查看电子保单的常见方式。 许多保险公司都提供了官方网站和手机应用程序,您可以通过以下步骤进行操作: 1. 访问保险公司的官方网站:在浏览器中输入保险公司的网址,进入其官方页面。 https://auto.hexun.com/2024-08-31/214276863.html
23.在线刷卡和离线刷卡有什么区别在线刷卡和离线刷卡(在线刷卡机在线刷卡和离线刷卡各有其特点和优势。在线刷卡以其方便快捷、支持多种支付方式等优势,在在线支付领域占据重要地位;而离线刷卡(特别是数字人民币等新型支付方式中的离线支付功能)则以其不受网络限制、安全性高等特点,在某些特定场景下具有独特的优势。用户可以根据自己的实际需求和偏好,选择最适合自己的支付方式。 https://www.jianshu.com/p/b9e5e87eb2d3