企业级通用化黑名单平台
一、 背景
在日常业务运营、风控识别的流程中,随着时代的发展,目标用户群体的主动性拒绝、不感兴趣甚至投诉情况会增多。一方面,用户投诉会营销产品的正常运营,另一方面,这一部分用户的剔除会有助于缩小受众范围,有利于进一步精细化运营。所以,如何有效精准地管理这一部分用户也成为企业的一种综合能力。
从前,互联网不够发达,线下多地Excel维护,通过文件人与人离线同步成为主要的形式。但是这种零碎、人工、离线、重复的维护方式,不仅不能够长远,还面临着丢失损坏的风险。
随着平台化、中台化能力的出现,这种黑名单人群(同时白名单的人群)有希望能够通过一个统一、通用的平台方式进行呈现,支持多方用户自主维护、多人共享、可配置化操作,实现一方新增修改,多方近实时生效,同时加持多副本的存储能力,使黑/白名单的维护安全可靠、高效准确。
二、平台的能力
针对以上描述,平台应该具备的能力有:
- 支持多用户,基于业务场景、等级,进行黑/白名单的新增、修改、删除
- 支持多用户,基于业务场景、等级,进行黑/白名单的查询
- 黑/白名单的操作需要近实时、多副本进行同步
- 支持黑/白名单的隔离与共享的逻辑
- 提供页面化操作能力与API接口能力
三、平台的功能
针对平台能力的要求,需要的功能有:
- 平台用户级别的菜单和数据权限管理
- 权衡多业务场景的统一化的黑/白名单API/底层数据接口设计,保证中台模块的通用化
- 针对多用户多业务场景的个性化、可扩展化的黑/白名单数据存储格式
- 近实时性的黑/白名单数据同步方式
- 分布式、多副本、多介质的高可用数据存储方式
- 全面有效的黑/白名单数据监控告警体系
- 便捷高效的黑/白名单新增、修改、删除、查询、配置页面
3.1 平台用户级别的菜单和数据权限管理
- 基于RBAC(Role Based Access Control)进行用户权限的控制,通过角色进行收口,将用户的菜单和数据权限绑定于角色上,通过选取角色实现用户权限的配置
- 主要实现菜单权限的定义、数据权限的定义、角色和权限的绑定、用户权限的绑定、用户接口权限访问的验证、用户操作的记录这六方面功能
- 基于关系型数据库(MySQL/Oracle/PostgreSQL/…),进行菜单权限配置、数据权限配置、角色和权限配置、用户权限配置的存储,基于关系型数据库/非关系型数据进行用户操作记录的存储
- 过滤器Filter,基于URL级别进行资源权限控制
- 拦截器Interceptor(一种面向切面的编程)实现用户操作的记录,基于注解/方法进行方法前中后的控制
3.2 多业务场景的统一化的黑/白名单API/底层数据接口设计
针对多业务场景,设计统一的数据接入流程和接口服务,数据的存储需要统一来自多渠道多形式的数据,接口服务能力需要一致的对外提供,避免过多特殊性
3.3 多用户多业务场景的个性化、可扩展化的黑/白名单数据存储格式
- 数据接入以json形式灵活接入,对业务字段进行解析后,统一化存储
- 字段的类型设计需要有兼容性,在后续数据类型扩展上,可以做到减少底层逻辑的重新开发带来的时间、资源成本
3.4 近实时性的黑/白名单数据同步方式
需要近实时黑/白名单的消费能力和广播能力,使黑/白名单能够尽快地接入、尽快地作用于业务
3.5 分布式、多副本、多介质的数据存储方式
- 需要将数据采用分布式、多副本、多介质方式进行存储,实现高可用
- 出现故障需要具备快速无损恢复的能力
3.6 全面有效的黑/白名单数据监控告警体系
对于需要进行数据接入、数据同步的平台,需要具备有效全面地数据监控体系,便于及时校对数据、发现问题点
3.7 便捷高效的黑/白名单新增、修改、删除、查询、配置页面
- 支持黑/白名单,多字段接口导入、文件导入、页面新增
- 支持黑/白名单,多字段接口导入、文件导入覆盖更新,页面修改更新
- 支持黑/白名单,多字段接口导入、文件导入删除,页面权限校验删除
- 支持黑/白名单,页面多参数查询、统计、缓存校对等
其他
- 欢迎关注我的博客&Github, Thanks!
- 也无言’s Blog
- 文章 Github地址