玩转用户身份权益——详解闲鱼身份权益体系的实现

简介: 本文以闲鱼的身份权益体系实现为例,介绍了如何对常见的用户身份权益体系进行概念定义、模块拆解、技术实现。

背景

用户身份权益体系(或会员权益体系)几乎是各大成熟app的标配,用户身份权益体系通过对用户赋予身份(会员、等级)的方式,提供不同级别的产品权限给不同的用户,是用户活跃度运营以及商业化的重要工具。同时,用户身份也是用于区分用户影响力、优质程度等关键能力的重要标记(如微博的大v),对于不论是电商类还是社交类产品,都有着非常关键的作用。
本文将从技术实现的视角,以闲鱼app的用户身份权益体系为例,介绍如何设计一个具有良好扩展性的用户身份权益体系。

问题与挑战

  • 【身份权益的管理】在常见身份权益管理场景中,用户可以同时获得多个不同的身份、多个身份可能持有重叠的权益、相同的权益可能存在内容上的差异(如数量大小)、权益重复时需要处理权益的合并策略。如何对身份、权益的概念进行抽象设计,是整个系统最核心需要解决的问题。
  • 【身份的透出】当用户获得了一个身份,不论是大v标记还是会员等级,都希望在app上进行显示,以传递身份特有的心智,不同身份可能有同样的标签(例:闲鱼的领域卖家、会玩达人都显示v标),同一身份可能有不同的个性化标签内容(例:某某领域达人),如何统一管理用户身份在app全链路的透出,也是身份权益体系需要解决的一个问题。
  • 【身份的赋予】不同的产品中,身份的赋予方式各不相同,常见的有付费购买、积分升级、认证、运营加白等等,在赋予过程中还会加入丰富的升级路线(等级体系等),同一产品中多见的会同时具备多种赋予的方式。如何支持多元的身份赋予途径,以及如何支持不同身份的扩展,也是技术上需要解决的一个重要问题。

本文将以闲鱼的身份权益体系为例,针对身份权益体系中的身份权益的定义、管理,身份的透出进行了详细的介绍,同时以闲鱼的用户认证流程为例,介绍了如何解耦身份管理与身份赋予两个过程,并在身份赋予过程中做到身份的可扩展。

技术实现

概念梳理

image.png

  • 身份是指,用户满足某些准入条件后,被授予的一个身份标记。一个身份在技术实现上,是一个和用户关联的记录/系统标签。
  • 权益是指,用户因为具有某个身份,而获得的在现有的一些业务中的一些特权。我们用一个键值对表示一条权益,key表示的是权益,value表示的是权益的值,这个值可以是一个数字、boolean、一个带占位符的文本等,权益的提供方根据这个权益的值提供具体的权益。
  • 透标标签是指,根据某个身份外显权益而获得的一个基于用户的可展示的描述符,这个描述符可以在客户端和前端页面进行渲染,从而实现身份的外显。一个标签的描述可以是:一个文本、一个图片url、一组客户端可以识别的元素等,客户端根据这个标签的内容进行渲染。
  • 认证是指,用户因希望获得某个身份而发起的一个认证申请,认证后会获得一个身份。一个认证在技术实现上是一条认证记录,包括了认证的状态、这次认证所关联的信息(包括提交的表单,审核的结果等)。

注:认证是获得身份方式的一种,本文以认证流程为例,介绍如何实现一个身份赋予的过程。值得注意的是,在我们的设计中,身份的透出,作为一种权益进行设计。

系统拆分

image.png
我们对应的将系统拆分为三个独立的模块:身份权益服务、用户标签服务、认证服务(以认证服务为代表的身份赋予模块)。
对于三个系统的功能和边界定义如下:

  • 【身份权益服务】:管理用户的身份以及身份-权益的关系,运营可以通过系统配置身份对应的权益,系统能够对用户的权益进行计算、合并,权益提供方可以通过身份权益服务查询用户的权益。
  • 【用户标签服务】:根据用户的权益、个性化数据以及其他外部服务等,按规则向全链路下发用户的透标标签。全链路的各个场景可以用不同规则查询当前场景可渲染的用户标签,标签系统对不同的规则可以有差异化的定制,做到不同场景按需订阅、扩展。
  • 【认证服务】:管理用户的认证流程,用户通过认证服务发起申请,系统对用户的准入和表单进行校验,将表单转发给运营审核,并对审核结果进行处理。认证通过后,通过身份权益服务接口对用户进行身份添加。同理,不论是积分、白名单还是用户等级体系,均可以以这种方式进行接入。

基于上述的设计,用户通过认证服务获得身份,权益提供方根据身份权益服务查询相应的权益提供特权,用户标签服务对其中的透标权益进行支持,在app侧渲染用户的身份,从而实现身份外显,完整的满足了用户身份认证-透标的能力。
下面展开介绍各个系统分别是如何实现的。

【身份权益服务】实现

image.png
【身份权益服务】基于身份权益配置和用户标签系统(集团中台的用户标签服务)实现。我们将身份权益的配置,写入到身份权益配置表,编辑完成后,通过配置中心,发布到各个服务器的内存中。
另一方面,用户认证流程、白名单等服务通过身份服务接口将身份写入到UIC的标签系统中,标签系统是集团实现的用户-标签的管理系统,可以基于缓存快速查询用户是否具有某个标签,一个身份由一个标签表示(没有标签系统的话也可以用数据库+缓存的方式实现)。
在权益提供方查询用户权益时,我们快速从用户标签系统中读取用户的全部身份标,根据内存中身份-权益的配置,通过一个身份-权益计算函数(输入身份标和权益配置schema,输出权益),对权益进行合并、择优去重后(不同权益的合并方式按权益配置,如逻辑或、最大值、字符连接等),将计算结果(权益)返回给权益提供方。

【用户标签服务】实现

image.png
【用户标签服务】实现了用户维度的标签透出。服务可以基于身份权益服务、用户个性化数据、外部服务等,返回用户需要透出的标签,标签的描述包括但不限于图片url,文本,复杂结构等。服务支持通过规则id进行定制,不同的规则id,可以定制需要透出的标签的组合,各个场景根据需要展示的标签,选用合适的规则id进行订阅,在原规则id不适用的情况下,可以定义新的规则id进行支持。

【认证服务】实现

image.png
【认证服务】定义了一套标准的认证流程,统一对认证的状态进行管理,同时通过扩展接口,让不同认证流程的业务对扩展接口进行实现,从而实现流程标准化,内容可扩展。
认证服务的整体流程分为认证查询、表单提交、审核结果处理三个阶段,在认证流程中,系统维护了未认证、审核中、审核未通过、审核通过四个不同的状态,不同的认证流程具有相同的状态流转,由认证服务统一维护。
在认证查询中,不同的认证流程具有不同的准入条件;在表单提交过程中,不同的认证流程具有不同的表单字段和合法性要求;在审核结果中,针对审核结果不同认证流程有不同的处理方式。因此,认证流程提供了三个扩展接口,第一个扩展接口用于实现获取用户的准入条件判定和表单渲染;第二个扩展接口用于用户表单的校验,同时生成审核用的数据表单;第三个扩展接口用于对审核结果进行处理。于是在我们的认证服务上,只需要实现上述三个扩展接口,就能完成一套新的认证流程的接入。

结语

本文以闲鱼的身份权益体系实现为例,介绍了如何对身份权益体系进行概念定义、模块拆解、技术实现,同时以闲鱼的身份认证流程为例介绍了如何实现、接入不同的身份赋予渠道,希望对大家系统中的身份权益设计起到一些参考作用。

相关文章
|
4月前
|
人工智能 IDE 定位技术
AI IDE正式上线!通义灵码开箱即用
作为AI原生的开发环境工具,通义灵码AI IDE深度适配了最新的千问3大模型,并全面集成通义灵码插件能力,具备编程智能体、行间建议预测、行间会话等功能。
698 13
|
机器学习/深度学习 人工智能 自然语言处理
讯飞星火大模型:AI语言模型的巅峰之作
今年,我们不得不提的一个热门话题就是ChatGPT,这是一款基于语言模型的人机对话系统。它在工作和生活中给我们带来了极大的便利。作为一名从事IT行业的人,我深切体会到了它在技术和文本处理方面的重要性。
632 0
讯飞星火大模型:AI语言模型的巅峰之作
|
7月前
|
机器学习/深度学习 存储 人工智能
SRMT:一种融合共享记忆与稀疏注意力的多智能体强化学习框架
自反射记忆Transformer (SRMT) 是一种面向多智能体系统的记忆增强型Transformer模型,通过共享循环记忆结构和自注意力机制,优化多智能体间的协同效率与决策能力。SRMT在复杂动态环境中展现出显著优势,特别是在路径规划等任务中。实验结果表明,SRMT在记忆维持、协同成功率及策略收敛速度等方面全面超越传统模型,具备广泛的应用前景。
317 11
SRMT:一种融合共享记忆与稀疏注意力的多智能体强化学习框架
|
7月前
|
人工智能 IDE 测试技术
用户说 | 通义灵码2.0,跨语言编码+自动生成单元测试+集成DeepSeek模型且免费使用
通义灵码, 作为国内首个 AI 程序员,从最开始的内测到公测,再到通义灵码正式发布第一时间使用,再到后来使用企业定制版的通义灵码,再再再到现在通义灵码2.0,我可以说“用着”通义灵码成长的为数不多的程序员之一了吧。咱闲言少叙,直奔主题!今天,我会聊一聊通义灵码的新功能和通义灵码2.0与1.0的体验感。
|
存储 前端开发 JavaScript
闲鱼唤端的背后
唤醒沉睡的你
1500 107
闲鱼唤端的背后
|
Cloud Native 关系型数据库 新能源
|
监控 Java 测试技术
代码精准分析在闲鱼接口测试中的应用
代码精准分析在闲鱼接口测试中的应用
1015 106
代码精准分析在闲鱼接口测试中的应用
|
云安全 人工智能 定位技术
交通运输部公路科学研究院携手阿里云共建交通行业大模型
交通运输部公路科学研究院携手阿里云共建交通行业大模型
371 0
|
消息中间件 存储 弹性计算
RocketMQ 5.0: 存储计算分离新思路
在阿里云上,RocketMQ 的商业化产品也以弹性云服务的形式为全球数万个用户提供企业级的消息解决方案,被广泛应用于互联网、大数据、移动互联网、物联网等领域的业务场景,成为了业务开发的首选消息中间件。
1330 106
RocketMQ 5.0: 存储计算分离新思路