中台实践:企业级通用化黑名单平台

去xml、注解化

Posted by Claire on February 8, 2022

企业级通用化黑名单平台

一、 背景

在日常业务运营、风控识别的流程中,随着时代的发展,目标用户群体的主动性拒绝、不感兴趣甚至投诉情况会增多。一方面,用户投诉会营销产品的正常运营,另一方面,这一部分用户的剔除会有助于缩小受众范围,有利于进一步精细化运营。所以,如何有效精准地管理这一部分用户也成为企业的一种综合能力。

从前,互联网不够发达,线下多地Excel维护,通过文件人与人离线同步成为主要的形式。但是这种零碎、人工、离线、重复的维护方式,不仅不能够长远,还面临着丢失损坏的风险。

随着平台化、中台化能力的出现,这种黑名单人群(同时白名单的人群)有希望能够通过一个统一、通用的平台方式进行呈现,支持多方用户自主维护、多人共享、可配置化操作,实现一方新增修改,多方近实时生效,同时加持多副本的存储能力,使黑/白名单的维护安全可靠、高效准确。

二、平台的能力

针对以上描述,平台应该具备的能力有:

  1. 支持多用户,基于业务场景、等级,进行黑/白名单的新增、修改、删除
  2. 支持多用户,基于业务场景、等级,进行黑/白名单的查询
  3. 黑/白名单的操作需要近实时、多副本进行同步
  4. 支持黑/白名单的隔离与共享的逻辑
  5. 提供页面化操作能力与API接口能力

三、平台的功能

针对平台能力的要求,需要的功能有:

  1. 平台用户级别的菜单和数据权限管理
  2. 权衡多业务场景的统一化的黑/白名单API/底层数据接口设计,保证中台模块的通用化
  3. 针对多用户多业务场景的个性化、可扩展化的黑/白名单数据存储格式
  4. 近实时性的黑/白名单数据同步方式
  5. 分布式、多副本、多介质的高可用数据存储方式
  6. 全面有效的黑/白名单数据监控告警体系
  7. 便捷高效的黑/白名单新增、修改、删除、查询、配置页面

3.1 平台用户级别的菜单和数据权限管理

  1. 基于RBAC(Role Based Access Control)进行用户权限的控制,通过角色进行收口,将用户的菜单和数据权限绑定于角色上,通过选取角色实现用户权限的配置
  2. 主要实现菜单权限的定义、数据权限的定义、角色和权限的绑定、用户权限的绑定、用户接口权限访问的验证、用户操作的记录这六方面功能
  3. 基于关系型数据库(MySQL/Oracle/PostgreSQL/…),进行菜单权限配置、数据权限配置、角色和权限配置、用户权限配置的存储,基于关系型数据库/非关系型数据进行用户操作记录的存储
  4. 过滤器Filter,基于URL级别进行资源权限控制
  5. 拦截器Interceptor(一种面向切面的编程)实现用户操作的记录,基于注解/方法进行方法前中后的控制

3.2 多业务场景的统一化的黑/白名单API/底层数据接口设计

针对多业务场景,设计统一的数据接入流程和接口服务,数据的存储需要统一来自多渠道多形式的数据,接口服务能力需要一致的对外提供,避免过多特殊性

3.3 多用户多业务场景的个性化、可扩展化的黑/白名单数据存储格式

  1. 数据接入以json形式灵活接入,对业务字段进行解析后,统一化存储
  2. 字段的类型设计需要有兼容性,在后续数据类型扩展上,可以做到减少底层逻辑的重新开发带来的时间、资源成本

3.4 近实时性的黑/白名单数据同步方式

需要近实时黑/白名单的消费能力和广播能力,使黑/白名单能够尽快地接入、尽快地作用于业务

3.5 分布式、多副本、多介质的数据存储方式

  1. 需要将数据采用分布式、多副本、多介质方式进行存储,实现高可用
  2. 出现故障需要具备快速无损恢复的能力

3.6 全面有效的黑/白名单数据监控告警体系

对于需要进行数据接入、数据同步的平台,需要具备有效全面地数据监控体系,便于及时校对数据、发现问题点

3.7 便捷高效的黑/白名单新增、修改、删除、查询、配置页面

  1. 支持黑/白名单,多字段接口导入、文件导入、页面新增
  2. 支持黑/白名单,多字段接口导入、文件导入覆盖更新,页面修改更新
  3. 支持黑/白名单,多字段接口导入、文件导入删除,页面权限校验删除
  4. 支持黑/白名单,页面多参数查询、统计、缓存校对等