企业级通用化黑名单平台
一、 背景
在日常业务运营、风控识别的流程中,随着时代的发展,目标用户群体的主动性拒绝、不感兴趣甚至投诉情况会增多。一方面,用户投诉会营销产品的正常运营,另一方面,这一部分用户的剔除会有助于缩小受众范围,有利于进一步精细化运营。所以,如何有效精准地管理这一部分用户也成为企业的一种综合能力。
从前,互联网不够发达,线下多地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 便捷高效的黑/白名单新增、修改、删除、查询、配置页面
- 支持黑/白名单,多字段接口导入、文件导入、页面新增
- 支持黑/白名单,多字段接口导入、文件导入覆盖更新,页面修改更新
- 支持黑/白名单,多字段接口导入、文件导入删除,页面权限校验删除
- 支持黑/白名单,页面多参数查询、统计、缓存校对等
Featured Tags
工具类
XML
JAVA
Java
Mybatis
反射
代理模式
日志
工厂方法模式
装饰器模式
结果集映射
Web
RESTful
WebAPI规范
SQL
Redis
Jira
SynapseRT
有限状态机 State Machine
statemachine
SpringBoot
IDEA
Tomcat
Vue
Docker
Springboot
Apache Ignite
项目发布与调试
白帽子讲web安全
黑名单
通用化
企业中台实践
MacOS
docker
minio
springboot
分布式存储
Postgres
数据备份
数据恢复
K8S
抖音小程序
开发实践
SpringCloud
Skywalking
Nacos
Kubernetes
Secret
ConfigMap
Git
GitOps
云原生
RocketMQ
ActiveMQ-Artemis
ClickHouse
Kamailio
sipp
Homer
heplify
heplify-server
HEP