到了交付的时机了,我们想到还有一个关键的地方需要补充,那就是数据库和用户的权限关联,也就意味着每个人可以看到和使用的数据库应该是不大一样的,因为做一些权限隔离,所以接下来我会说说数据克隆方向的用户权限设计。
数据克隆的用户权限设计是面向业务使用的基础功能,目前对于用户权限的设计可以基于数据库级别。
权限的实现可以分两个阶段来完成:
1)数据初始化阶段,可以使用用户组批量初始化的方式,部分数据可以从工单历史中获取
2)定制化配置阶段,根据业务需求变更和组织架构调整进行数据库和用户映射关系的微调
其中,
实例信息和库信息可以基于数据库基线表 mysql_db_baseline
用户组信息和用户信息可以基于用户表 user_info
数据库-用户关系表需要新建,表名为:mysql_db_user_rel(id,ip_addr,db_port,db_name,user_id)
需要实现四个子功能:
1)数据库-用户关系映射,实现单一数据库和单一用户的关系,在关系表中为一条记录
2)数据库-用户关系列表,通过数据库维度(IP+端口+数据库名)查看相关用户列表信息
3)数据库-用户组关系映射,实现单一数据库和单一用户组的关系,具体逻辑为:
a) 输入数据库信息(IP+端口+数据库名),UserID
b) 根据UserID关联用户组信息
c) 根据用户组信息得到组内的UserID列表
d) 循环用户列表,根据数据库-用户关系建立映射,需要考虑重复记录的过滤
4)实例列表信息,根据用户UserID得到归属的实例列表,具体逻辑为:
a) 输入UserID
b) 根据UserID在数据库-用户关系表中得到相关的数据库列表,进一步过滤得到实例IP+端口信息
读者福利
感谢你看到了这里!
我这边整理很多2021最新Java面试题(含答案)和Java学习笔记,如下图
最后
面试前一定少不了刷题,为了方便大家复习,我分享一波个人整理的面试大全宝典
想获取个人高清面试题的可以戳这里免费领取及个人也准备了很多面试题含答案的资料供你刷!
- Java核心知识整理
Java核心知识
- Spring全家桶(实战系列)
- 其他电子书资料
Step3:刷题
既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
以下是我私藏的面试题库:
高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
以下是我私藏的面试题库:
[外链图片转存中…(img-aFOFPDcc-1628416291995)]