热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

开发黑名单功能demo_中台实践:通用化黑名单平台

业务中台的价值主要体现在对通用化业务能力的沉淀、整合,通过对可复用业务流程和业务功能的设计,向不同业务方提供标准化且可扩展的服务能力。本文来聊一聊笔者工

业务中台的价值主要体现在对通用化业务能力的沉淀、整合,通过对可复用业务流程和业务功能的设计,向不同业务方提供标准化且可扩展的服务能力。本文来聊一聊笔者工作过程中设计的通用化黑名单平台,通过将用户管控能力的下沉,为各业务团队提供一套通用的黑名单/白名单业务能力。

ec6ed0fd512086c69f8bf39eb5fb117a.png

业务定义

黑名单平台,泛指在业务流程当中,需要对特定用户进行管控的方式,通常会有黑名单、白名单两种用户类型。

业务场景

在风控识别、业务运营等流程当中,会涉及到对于某类用户进行“特殊对待”,比如恶意用户、高风险用户,在业务流程中可能会增加对用户的使用功能的限制,这类用户就属于黑名单用户。在不同的业务场景中,会基于不同规则去定义黑名单用户,并这种符合这类特种的用户进行统一化的管控。

当然还有一类特殊的用户群体,他们因为使用场景的特殊化也可能命中黑名单用户的规则。但是业务场景中又是允许这类用户存在的,那么这类用户就属于白名单用户,属于凌驾于黑名单规则之上的一类特殊用户群体。

业务问题

目前在现有中台架构下,不同业务模块都维护各自的黑名单体系,存在同一个业务场景的黑名单维护多套,或者同一套黑名单可以多个业务团队共用的问题。这就导致各团队开发既可能产生数据冗余,重复开发资源浪费的问题。

基于当前的问题,通过搭建中台黑名单平台,由各业务团队介入黑名单平台,针对各业务场景维护统一黑名单,可以由不同业务团队共享黑名单数据资源进行业务使用。

业务边界

既然做通用化,那么黑名单平台尽可能不做具备业务属性的逻辑,即通用户平台负责提供黑名单/白名单数据的统一使用服务,也就是针对数据的增、删、改、查能力。同时,为了保证各业务使用方可以实时获取数据,平台提供一套消息广播机制,可以让业务使用方可以快速获取数据的更新状态,即时针对不同状态做出业务响应。

业务架构

基于上面提到的业务场景、业务边界,设计了业务架构模式如下:

6ce4703c32c545afb5ff2419f6e3e696.png

业务设计

(1)通用化平台由业务方接入,针对不同业务场景和业务规则,由业务方(如上图中业务方A、B)定义什么是黑名单用户、什么是白名单用户;由通用化平台提供黑名单数据的统一服务,这个服务包含增删改查能力。

(2)业务方(如上图中业务方A、B)可以通过通用户平台提供的前端可视化页面,通过给不同业务方配置不同权限体系,支持业务方进行数据的增删改查。同时也支持基于系统调用的API接口方式,进行数据的使用。

(3)为保证数据更新后的即时响应,在数据更新后,如数据的新增、删除,通用化平台通过消息广播机制,向业务使用方(如上图中业务方C、D)进行广播,如果业务方关系数据更新消息,可基于业务场景做出相应的业务动作,保证数据更新与业务的同步性。

中台化设计的关键

(1)统一化

在设计数据的使用方式方面,做了尽可能的统一化设计。在设计底层数据接口方面,针对增删改查的数据接口,先对尽可能全的业务场景进行梳理,针对不同颗粒度的业务进行规划,保证数据接口服务的统一性,后续各业务团队接口,都是统一的接入流程和接口服务。

(2)个性化

针对不同业务场景,数据的表现形式终归会有不同的地方,除了对整个业务流程中没有异议的数据内容进行标准化定义外,为满足不同团队的业务需求,在数据存储方面,数据结构中增加了可扩展的json字段。这个字段的数据内容由各业务方自助定义数据的业务含义,在数据查询时基于各业务的团队的场景进行解析后使用,既保证了各业务团队数据使用的个性化需求,由保证了中台通用化模块的通用能力。

(3)扩展性

对于黑名单/白名单数据存储,数据存在多维度属性,通过数据业务类型分类进行区分,例如用户维度类型,可通过枚举区分身份证号、会员卡号、手机号等类型,字段的类型设计相对兼容,在后续数据类型扩展上,可以做到减少底层逻辑的重新开发带来的时间、资源成本。

(4)如何做到上述3点呢?

关键是要对业务有充分的了解,这样才能更好的把握统一化和个性化的平衡。例如,针对于用户维度的黑名单设计,要对当前业务场景中标识用户的方式有相对全面的了解:手机号、会员卡号、微信账号、支付账号等等,只有对实际业务的了解,才能设计符合业务方需求的功能。

综上

所有的中台化产品设计都是在对业务充分了解的基础上,将统一化、个性化、扩展性进行设计与权衡,当然在方案落地过程中不可避免的要做出各种各样的妥协与让步,但是作为业务中台设计者,要坚守产品设计的边界与底线,这才是中台产品存在的意义与价值。

#专栏作家#

记小忆,公众号:PM龙门阵,人人都是产品经理专栏作家,OTA中后台产品经理。

本文原创发布于人人都是产品经理,未经许可,禁止转载

题图来自 Unsplash,基于 CC0 协议



推荐阅读
  • Ralph的Kubernetes进阶之旅:集群架构与对象解析
    本文深入探讨了Kubernetes集群的架构和核心对象,详细介绍了Pod、Service、Volume等基本组件,以及更高层次的抽象如Deployment、StatefulSet等,帮助读者全面理解Kubernetes的工作原理。 ... [详细]
  • 本文详细介绍了macOS系统的核心组件,包括如何管理其安全特性——系统完整性保护(SIP),并探讨了不同版本的更新亮点。对于使用macOS系统的用户来说,了解这些信息有助于更好地管理和优化系统性能。 ... [详细]
  • Google最新推出的嵌入AI技术的便携式相机Clips现已上架,旨在通过人工智能技术自动捕捉用户生活中值得纪念的时刻,帮助人们减少照片数量过多的问题。 ... [详细]
  • 本文介绍了如何使用PHP代码实现微信平台的媒体素材上传功能,详细解释了API接口的使用方法和注意事项,确保文件路径正确以避免常见的错误。 ... [详细]
  • 从零开始构建完整手机站:Vue CLI 3 实战指南(第一部分)
    本系列教程将引导您使用 Vue CLI 3 构建一个功能齐全的移动应用。我们将深入探讨项目中涉及的每一个知识点,并确保这些内容与实际工作中的需求紧密结合。 ... [详细]
  • 阅读本文大约需要3分钟。微信8.0版本的发布带来了许多令人振奋的新功能,如烟花特效和改进的悬浮窗,引发了用户的热烈反响。 ... [详细]
  • VPX611是北京青翼科技推出的一款采用6U VPX架构的高性能数据存储板。该板卡搭载两片Xilinx Kintex-7系列FPGA作为主控单元,内置RAID控制器,支持多达8个mSATA盘,最大存储容量可达8TB,持续写入带宽高达3.2GB/s。 ... [详细]
  • Scala 实现 UTF-8 编码属性文件读取与克隆
    本文介绍如何使用 Scala 以 UTF-8 编码方式读取属性文件,并实现属性文件的克隆功能。通过这种方式,可以确保配置文件在多线程环境下的一致性和高效性。 ... [详细]
  • 通过与阿里云的合作,牛客网成功解决了跨国视频面试中的网络卡顿问题,为求职者和面试官提供了更加流畅的沟通体验。 ... [详细]
  • 本文详细介绍了中央电视台电影频道的节目预告,并通过专业工具分析了其加载方式,确保用户能够获取最准确的电视节目信息。 ... [详细]
  • Composer Registry Manager:PHP的源切换管理工具
    本文介绍了一个用于Composer的源切换管理工具——Composer Registry Manager。该项目旨在简化Composer包源的管理和切换,避免与常见的CRM系统混淆,并提供了详细的安装和使用指南。 ... [详细]
  • 本文探讨了MariaDB在当前数据库市场中的地位和挑战,分析其可能面临的困境,并提出了对未来发展的几点看法。 ... [详细]
  • 本文探讨了在通过 API 端点调用时,使用猫鼬(Mongoose)的 findOne 方法总是返回 null 的问题,并提供了详细的解决方案和建议。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ... [详细]
author-avatar
小子转过来_406
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有