首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【支付系统设计从0到1】支付宝架构中记账功能设计分析

【支付系统设计从0到1】支付宝架构中记账功能设计分析

作者头像
金融民工小曾
发布2018-09-14 13:38:35
1.8K0
发布2018-09-14 13:38:35
举报

支付宝架构的PPT中对记账部分的说明,分内外账户,如图所示。那么支付宝系统为什么要采用如此设计呢?

我们做支付系统的架构师们应该都明白这么一个道理,为提高交易性能,交易必须与账务分离,以提高交易处理性能和效率,从而有针对性的分块解决复杂业务逻辑。所以,我们在支付系统设计中一般是将记账为分2个步骤,支付成功后系统同步记录流水账,异步通知会计系统做复式记账。

分内外账户的原因

所以在支付宝架构的PPT中就体现为了,流水账是分户账户(外),而会计记账是分户账户(内)。

分户账(外)是外围业务系统的账户系统,采用单式记账法。一方面记录了原始交易流水;另一方面原始交易更容易与合作方进行对账。

分户账(内)是最核心的账户系统,采用复式记账法。这部分主要记录结构账务,严格按照会计分录。一方面便于出统计分析的报表(如手续费、分润等计算);另一方面结构账更容易计算借贷平衡和提供账户余额(为日终子系统提供数据来源的稳定性保证)。

不同子系统的功能

支付宝整个交易架构分为了记账子系统、分录子系统和日终子系统就比较好理解了。

记账子系统:参与联机交易,根据不同的联机交易实现业务逻辑,未来在业务和架构扩展上,在支付产品层只需要对这部分功能进行修改。在一些电商平台和支付公司系统里,划分更加清晰,将记账子系统联机部分拆分出独立的支付引擎模块和业务实现模块。其中支付引擎模块只关注账户扣减和应收应付订单的记录,这部分为标准化服务,无需扩展;而业务实现模块根据业务的特点和逻辑单独进行开发。

分录子系统:这部分主要针对会计中的六大会计科目:资产类账户、负债类账户、所有者权益类账户、损益类账户、成本类账户、共同类账户,将交易流水记录为会计科目,针对每一笔交易流水根据借贷平衡来保证账务不会出错。

日终子系统:主要完成两个任务:一是会计试算平衡,来保证账户系统的平衡,并且与实际内外部的资金进行核对对账;二是日切后批量统计,为数据报表分析提供支持,还可以做一些大数据相关任务。

总结

从技术上来说,记账并不是支付系统设计中最难的,风控、信用,实施起来比记账难多了。但从业务的角度来说,记账部分可以说支付业务过程对新手最难理解的部分了,因为它涉及到支付所有相关的概念。建议新手可以先买一本会计相关的书籍进行阅读和学习,然后再来理解和设计这部分功能。


本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-08-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 金融民工小曾 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 分内外账户的原因
  • 不同子系统的功能
  • 总结
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档