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

业务定义

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

业务场景

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

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

业务问题

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

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

业务边界

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

业务架构

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

业务设计

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

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

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

中台化设计的关键

(1)统一化

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

(2)个性化

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

(3)扩展性

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

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

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

综上

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

#专栏作家#

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

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

题图来自 Unsplash,基于 CC0 协议

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

  1. 开发黑名单功能demo_突然让你开发Electron应用-electron特性练习操场-所见即所得的electron...

    突然让你开发Electron应用,你能hold住吗? 如果领导突然说需要开发一款前端桌面端应用,那么对于我们前端er来说选择Electron是一件顺理成章的事情.但事实上很多同学对于Electron都 ...

  2. 中台实践-企业级通用化黑名单平台1

    企业级通用化黑名单平台 一. 背景 二.平台的能力 三.平台的功能 3.1 平台用户级别的菜单和数据权限管理 3.2 多业务场景的统一化的黑/白名单API/底层数据接口设计 3.3 多用户多业务场景的 ...

  3. mysql 黑名单_51ak带你看MYSQL5.7源码4:实现SQL黑名单功能

    博客迁移至: 从事DBA工作多年 MYSQL源码也是头一次接触 尝试记录下自己看MYSQL5.7源码的历程 申明:个人Python编程很溜,但是C++还停在白痴水平,源码理解方面有点弱,如发现有错误的 ...

  4. eureka实现黑名单功能

    eureka类图结构关系如下: 1 重新定义注册类PeerAwareInstanceRegistryImpl package com.cyb.config;import org.springframe ...

  5. 极品顾客可被拉黑 淘宝网上线黑名单功能

          淘宝ECRM系统中的黑名单功能   亿邦动力网了解到,多数卖家对开通拉黑功能表示支持,同时希望卖家未来可以查看买家信用记录的功能.但也有卖家表示担忧,担心黑名单功能形同虚设,买家可以通过申 ...

  6. p2p 源码 linux,我们打算开发一个WiFi功能的P2P文件共享系统在Linux平台…

    我们打算开发一个WiFi功能的P2P文件共享系统在Linux平台- 2016-08-22 0 0 0 暂无评分 其他 1 积分下载 如何获取积分? We intend to develop a wif ...

  7. php域名黑名单,thinkphp 6 IP 黑名单功能

    最近用tp6 开发的网站,一直被cc攻击,装了cnzz 看了一下,基本都是北京的几个IP. 由于是用的虚拟主机,只能在代码端加上IP黑名单的功能了. 第一步: 创建一个中间件CheckIp.php 文 ...

  8. php 白名单,php实现ip白名单黑名单功能

    这个是一个检测ip是否非法的php函数,适应于白名单,黑名单功能开发,主要场景应用于:api来源限制,访问限制等. 复制代码 代码如下: /** * 安全IP检测,支持IP段检测 * @param s ...

  9. Android6.0 源码增加黑名单功能

    [目标] 实现 8.1 中黑名单拦截功能 [实现] 涉及到的文件 frameworks/base/api/current.txt frameworks/base/api/system-current. ...

最新文章

  1. Ubuntu系统---安NVIDIA 驱动后 CUDA+cuDNN 安装
  2. 应用程序-特定 权限设置并未向在应用程序容器 不可用 SID
  3. java arraylist排序_Java 开发者最容易犯的10个错误【译】
  4. python基础学习[python编程从入门到实践读书笔记(连载三)]:django学习笔记web项目
  5. Celery的简单使用
  6. grads 相关系数_教程合集 | Grads数据处理基础
  7. element中select默认选中第一个_探索在网页中使用“标注”
  8. Modbus以太网传输方式
  9. Linux Unix shell 编程指南学习笔记(第五部分)
  10. Hibernate初次搭建与第一个测试例子
  11. POJ 2773 Happy 2006 (容斥原理)
  12. 在java中关于封装性的说法中错误的是_java题库2
  13. 计算机win10无法打开小键盘,win10系统下小键盘数字键不能用怎么办_win10电脑小键盘数字键不能用如何解决...
  14. CHI到底是干嘛的 保证cache一致性 2.3 snoop
  15. Mip-NeRF 360
  16. KaLi Linux 2019.2安装netspeed
  17. Docker容器之harbor私有仓库部署与管理
  18. 20221107学习word2vec
  19. 信捷 plc c语言 pdf,信捷plc学习笔记复习过程.pdf
  20. 树和森林的遍历 (树的建立和输出)

热门文章

  1. 基于SpringBoot+mybatis+layui就业管理系统设计和实现
  2. android回收站目录详解,android - 如何在回收站适配器外部的回收站视图中获取当前商品的位置 - 堆栈内存溢出...
  3. 软件测试除了边界值还有什么,在软件测试中,假定 X 为整数,10≤X≤100,用边界值分析法,那么 X 在测试 中应该取( )边界值...
  4. echarts数据怎么赋值 vue_vue中 怎么把echarts中data的数据循环
  5. 已知圆心,半径,角度,求圆上的点坐标
  6. step7db块寻址_step7 根据db地址块怎样找I/O点
  7. 罗盘时钟编码代码_安全研究 | 利用macOS Dock实现代码的持久化执行
  8. mysql having in_MySQL中无GROUPBY直接HAVING的问题
  9. 以VMware workstation15.5.2pro为例如何新建虚拟机,安装镜像文件(最新)
  10. 树——通用树到二叉树的转换