两码一号:整体方案回顾

前言
17财年蚂蚁启动了“两码一号”项目,旨在建立蚂蚁全站统一的业务标识及关联方式,为全站的产品事件数据在业务信息层面打通全站脉络。经过一段时间的打磨和锤炼,我们对两码一号又有了全新的认识。

   回顾初衷,为什么要做两码一号,我们发现,业务、数据、技术等各方对业务及数据标准及统一都有不同的诉求。如何做到产品、服务的精细化管控,如何做到业务端到端的管理,如何低成本的识别我们的各项业务,如何低成本的将业务明细关联起来,如何保障应用数据的全生命周期闭环,如何减少各系统外部的逻辑侵入,促进系统间的解耦。通过什么样的机制或标准解决上述一系列的问题,才有了今天的“两码一号”。

两码一号的核心本质
两码一号的核心本质是什么?首先要说明的是,“两码一号”核心是对产品及事件进行标准化。产品是什么,产品承载了具体的服务或能力的组合。事件是什么,事件代表了客户或者我们为了客户做了什么事情,这个行为被记录在系统里面,可以用于驱动系统对这个行为进行应对。

   两码是产品码和事件码,其用途是做业务场景的标识。先回答什么是产品和事件,什么是两码一号?

产品是蚂蚁业务主体(如支付宝、重庆小贷、招财宝等公司主体)基于具体需求,向客户提供的一组业务服务的组合;

事件是蚂蚁业务主体根据客户、内部人员的指令或协议约定,通过具体的业务服务即时或定时执行的业务操作行为。

产品码是蚂蚁主体内给产品分配的身份标识,该身份标识在蚂蚁主体内唯一;

事件码是各业务主体内给事件分配的行为标识,该行业标识在各业务主体内唯一;

一号即端到端流水号,用来介定一次请求发生,同时作为数据关联的一种机制,解决事件驱动架构底层数据关联问题

   所以两码一号可以是上述概念的一个统称,也可以是针对蚂蚁产品事件的一个标准、一个规范,一个统一认知。

两码一号的技术方案
事件码按照8位编码,产品码按照20位编码。号段的分配上有所区别,根据相对稳定的能力域(面向业务)来划分,兼容金融云上产品平台的产品编码,由蚂蚁产品大盘product.alipay.com进行统一的分配和管控。

在这里插入图片描述

首先,两码一号有七个字段,主要如下:

在这里插入图片描述

端到端产品事件(CNL_PD_CODE/CNL_EV_CODE):用于标识具体的业务场景,端到端产品事件由业务发起的系统通过AntEventContext写入到Tracer中,在整个业务链路中透传。

业务产品事件(BIZ_PD_CODE/BIZ_EV_CODE):简单说来就是别人告诉我希望做什么事情,业务产品事件用于每个系统针对不同的场景做规则控制,是针对被调用方的概念。

本层产品事件(PD_CODE/EV_CODE):简单来说是用于表达自己在做什么事情,本层产品事件是针对自己的概念。当你调用别人的时候,本层产品事件往往变成被调用方的业务产品事件,这也是相对而言的。

在这里插入图片描述

   这七个字段有端到端信息作为全局索引,有业务产品事件作为找上游,有自己的产品事件作为自身业务信息的标识,可以供数据消费方关联信息使用。那么具体数据在哪里,调用方与被调用方之间的关系是什么样的,如何赋能下游业务方,大致上两码关联后的数据分布是这样的:

两码一号的应用场景
大家会问,两码一号可以应用在哪些具体的业务场景?两码一号经过一年多的推广及试点,我们总结了以下几类业务场景,各业务方可以针对各自的诉求解决各自的问题。

产品身份的统一标识

   众所周知,产品码作为产品的唯一ID,也被称之为产品身份证。一个产品正式上架或售卖前会统一分配一个身份证,这个身份证将作为蚂蚁内部的业务身份标识一直存在,统一产品、技术、数据及职能中台等各方的认知并贯穿其中。

数据上下游关联

   两码一号通过上下游系统间7个字段的传递,结合数据库中7个字段的存储、两码规范日志的打印,通过链路方式,就可以完整的承现出业务数据上下游脉络,找到各系统间的数据关联关系,进行后续的数据二次加工及消费。比如数据核对、资金核对、监控。

两码产品业务分类

   根据去年一年的两码生态推广,虽然两码能统一各方的认知及理解,但两码产品及事件的定义维度与实际业务的维度有一定的gap,需要针对现有两码能力做聚合或拆分,这个就是两码产品的业务再分类,目前两码的业务场景中很多能力都是两码聚合后进行的二次消费。比如反洗钱、财务等。

两码与各业务方内部规则的关联

   目前蚂蚁内部除了两码之外还有很多既有的业务方内部规则能力,比如三级业务标识、账务子交易代码,但这些规则短时间内又无法做到完全的被替代或下线,所以需要建立两码与这些规则的关联关系。理想的场景是:各业务方的规则回收到系统内部使用,系统与系统间的规范规准解耦,对外可以用两码能力进行串联。

产品流程编排

   18财年通过蚂蚁产品大盘的建设,目前已经收口了两码产品及事件的创建及分配流程,并对所有产品及事件按目录进行统一管理。同时在流程中也协同中台职能方对产品进行评估,通过数据同步及线上操作的方式,按业务方视角对产品进行重新组合,实现产品流程从产生到分配再到二次加工的流程编排及业务方视图的目录调整。



   当然,两码在整体推进过程中也会遇到覆盖率未封顶、两码埋点质量存在缺陷、产品定义与业务理解有出入等等的问题,如何将数据生产方与业务消费方打造一个生态闭环。这些都将作为我们的课题一一去解决,也欢迎各域对两码目前存在的问题进行指正,给我们提出宝贵的意见。
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

【江湖】三津

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值