租户建模
2023-10-10 21:03:26 3 举报
租户建模是一种数据管理策略,它允许多个独立的组织或用户在同一数据库系统中共享数据,但各自保持数据的独立性和安全性。这种方法通过在物理数据库中创建逻辑隔离的“租户”,每个租户都有自己的数据模式、表、视图和存储过程,从而实现数据共享和隔离。租户建模可以提供更高的灵活性和可扩展性,同时也可以降低数据管理的复杂性和成本。然而,它也带来了一些挑战,如数据一致性、安全性和性能管理等。因此,有效的租户建模需要深入理解业务需求,以及数据库系统的特性和限制。
作者其他创作
大纲/内容
shop_1 安装 app_1完成
GG登录授权资源
创建 opt_ext_login_info
saas有此staff_id(是否有此员工的登录信息)
站点信息
Platform_n
session 构建操作员信息完成
Tenant_X Entity
登录/登出
安装记录和操作员 建立关联
adv_acc_1
Shopify
存在shop_name对应的tenant_user
角色(Role Entity)
0.运管人员(租户体系外)
只记录缓存,不落库;
租户事件
存在登录信息
prod_4
app_1
token计入缓存
广告管理...
Optor_2默认登录信息WebSite_token_2
adv_acc_1(留存)
角色-权限事件 模型(Role Permission Action Model)
授权同步ws-token_1
3.General Taff(普工)
2.Optor_2-Admin
先在shopify进行在线授权
按照操作员生成token
租户-角色模型(Tenant Permission Model)
1.Owner(超管-经营者)
登录资源RTOV2_OPTOR_LOGIN_EXT_INFO
Optor_Own扩展登录信息联合登录_token
确认安装完成
prod_2
prod_5
销售组合
根据操作员角色,查询授权范围
shopify staff信息
E-mail
此时首次返回前端地址
adv_acc_2
基础业务支持层系统
GG广告授权
Optor_Own默认登录信息WebSite_token_1
ws_1
租户-操作员-站点
完成登录
新租户主动注册
获取缓存预安装信息
未指定
确认站点website_1
绑定扩展信息
Tenant(Merchant) WebSite Advertise Account Model
产品目录
from optor_grl_taff_1
租户_操作员_权限(等确定需求)rto_v2_optor_permission
在saas的optor_ext_login_info内查询,是否包含staff id
业务数据库
确认应用app_1
saas内,不存在此登录信息
租户_操作员_扩展登录信息rto_v2_optor_ext_login_info
- optor_id- plat_name- third_user_id (员工信息)- login_type inner(saas内登录) / third(三方登录)- login_info 三方登录使用,或者 登录用户名- login_pwd
前端系统
创建租户tenant
广告账户-投放站点 映射 维护来源: 1、SaaS系统页面提供功能,供租户给“站点”指定广告账户;2、运管设置,或者发布引导页面给租户,进行设置;3、电商平台提供,是否有这个;4、广告 投放地 提供入口,是否有这个?
创建 user_third_auth
向shopify申请,获取access_token(api访问权限)
RTOV2_TENANT_WEBSITE租户站点
tenant_user 视作租户下的一个shopshop_1
进行在线授权
生成确认安装url=redirect_install_url
生成estart 确认安装url=callback_estart_url(包含state)
解除授权
请 店员 完成api授权(选择api_scope)
识别结果1、存在对应操作员,已有租户;2、无法识别已有员工,新建租户,操作员;
session 构建操作员信息开始
更新/创建租户下站点兼容老流程(website废数据等)
授权资源系统 Auth-Core-Sys
基础设施服务层系统
请求前台
是否admin角色
根据登录信息,查询到所属操作员
返回access_token
GG
业务渠道资源数据库认证资源,密钥、公私钥
账号周期
套餐
租户_操作员rto_v2_optor
- id- tenant_id- tenant_user_id- main_optor 主操作员,可以更换- origin_email 操作员创建时,邮箱(员工信息)- full_name (员工信息)- staff_info (员工信息)
创建安装结果 和 其他记录安装结果=shop_1-app_1
扩展登录信息(资源)
WebSite-token_1
shopify 平台tracking-test1 应用
关联(常量关系)
不存在同名租户这个才是正常的情况
Java系统 登录
平台广告账号授权
创建操作员name,email等字段填充
adv_acc_3
会员核心 Member-Core-Sys
查看/访问-应用/服务
展示web前台
GG 联合登录信息
店铺安装应的安装结果
继承权限
普管: 创/改/删/降级
已安装
单一从属,只能看到一个租户下站点,站点应用,订单,商品,订阅等信息
将当前操作员登录的安装结果,存入缓存(还是按照老系统方式存)
挂靠操作员
资源订阅
获取 shopify 授权时的员工staff 信息
在线授权信息,解析为shopify的starff员工信息
shop_name_1安装了
3.Optor_3-General Taff
optor_admin_2
Optor_Own默认操作员
多从属操作员
权限管理
登录鉴权
pt_1
组合(contains-a) 依赖 经营者 生命周期
From Shopify
操作员-角色事件
普工 登录信息管理
奕兴Java
生成确认安装的回调url=callback_estart_url
生成预安装记录state不落库
租户基础信息
无区别
shop_name_2安装了
FB
登录信息实时鉴权
应用-服务——集/卸
(创建)站点-挂靠租户(shop_info&access_token)
在线授权回调完成
验证安装请求
Tenant (Merchant) WebSite Resources(e-commerce Platform-Product) Model
api授权店员确认api_scope
shop_1 安装 app_1 开始
普工 创/改/删
三方登录授权
Optor1被删除,则由Optor2 管理
生成shopify安装确认url=shopify_permit_url(包含callback_estart_ur)
删除
创建 tenant_operator
默认登录信息,List<WebSite-token>1、为了简化登录鉴权过程,设计默认登录信息;2、默认登录信息,亦可以当做optor_x登录Boss系统时的授权root;
有区别
2.Admin(普管)
2.Optor_1-Admin
对于已安装情况,相当于指定了租户,1、安装过程不会覆盖安装;2、将使用shopify登录信息,在指定租户下,创建一个操作员;3、原理同2、如果指定了租户id,将在该租户id下,使用shopify登录信息,创建一个操作员;
绑定信息唯一从属校验
订单
不同操作员3,集成新应用
RTOV2_TENANT租户
设置/更新登录信息
操作员 Tenant_operator
聚合(has-a) 生命周期相互独立
Pixel管理
基础登录
创建店铺
存在对应shop_name的tenant_user
容纳多平台
shop_name_1 存在同名租户
确认当前登录的店铺和应用当前登录在哪个安装结果
邮件登录信息失效
租户_用户rto_tenant_user
选择应用
未安装
鉴权/授权
Optor_0
店员浏览器
应用产品(资源)模块 app-prod(mch-boss-sys内模块)
同步站点产品
包含多电商平台的认证资源
访问estart(url=callback_estart_ur)进行确认安装
获取站点数据
确认租户(创建新租户)
租户_操作员_店铺关联rto_v2_optor_shop_relation
- optor_id- shop_name- plat_name 冗余字段
选取站点
租户基础
打开前端页面
指定了租户id从saas安装时指定
登录进入 estart SaaS
预安装完成
注册webhook
确认tenant_user
(资源)套餐订阅
租户-事件模型(Tenant Action Model)
角色配置
挂靠操作员开始
FB登录授权资源
prod_1
账户独享模式
Saas登录模块 Login(mch-boss-sys内模块)
验证预安装记录
在线授权回调,附带员工信息
默认登录
返回安装请求url=install_estart_url
安装后处理完成
操作员管理
挂靠时,是否已指定操作员id(从saas安装时会指定)
返回shop数据
从属普管 entry list
更新站点数据
申请在线授权
(商户)租户基础信息
是admin
返回内容
店员从shopify 安装流程
验证站点已存在access_token是否已存在
构建权限列表(不管登录在哪个安装结果,都有此信息)
从属策略
创建 install_app_result
更新站点主题资产
集成/卸载
website_1
创建操作员的shopify登录信息(shopify 的 staff 对应的登录信息)
如果是租户第一个操作员设置为admin
申请授权浏览器重定向到shopify,进行安装确认
组合 体现数据关联
是否已经指定了租户id(saas安装时会指定租户id)
RTO Mechant Center(商户会员中心)
WebSite-token_2
应用管理
ws_2
Java系统 安装
完成登录token
店员从SaaS 内安装流程
WeChat
From E.C.PtF
确认租户id,tenant_id
完成授权返回浏览器302 callback_estart_url
不是admin
在租户下查询,shop是否存在shop=tenant_user,租户下是否存在
Optor_1...n
已有的登录信息挂靠到指定操作员id
挂靠操作员完成可以确认当次处理的操作员
普通操作员
配置日志
订阅产品套餐
返回登录授权请求地址
生成estart 确认安装url=callback_estart_url(state)
向shopify_api获取shop数据
授权回调
Optor_Own
租户rto_tenant
浏览器重定向到 install_estart_url
从属普工 entry list
(资源)套餐订阅_3
联合登录
授权同步ws-token_2
套餐-计费账单
创建 use_shopify_auth
是否存在于shop_name1同名租户
邮件认证
新注册租户集成应用
落库临时站点安装记录
将安装结果 shop_1-app_1,授权给 操作员 optor_1
申请授权
其他基础配置
查询操作员optor_1 有访问权限的安装结果
staff信息 转换为登录扩展信息optor_ext_login_info
授权同步ws-token_3
基本登录信息
Shopify应用授权
操作员绑定员工
不存在 shop_name对应的tenant_user
操作员挂靠/创建模式
套餐账单
登录扩展信息失效/重置
站点-挂靠租户(shop_info&access_token)
包含多个三方登录授权资源
启动安装
Optor-Own基础登录信息E-mail
是否已安装已安装相等于通过安装记录确认租户
站点管理
广告账户池(adv acc Pool)
创建tenant_user
商户运营前台(mch-boss-sys)
操作员所谓的权限就是对安装结果,具有访问权限
app_n
兼容老系统
打开首页
设置登录信息
操作员登录信息tenant_optor_ext_login_info
识别站点员工和操作员绑定关系
账号-站点映射
奕兴Web
website_n
普管 权限 entry list
WebSite-token_3
假如应用已安装存在安装结果 shop_1-app1
返回在线 授权地址
单一从属操作员
确认安装的目标租户 tenant和tenant_user完成
Shopify ws集成应用
安装结果rto_v2_shop_install_result
- plat_name- shop_name- app_name- install_optor_id- install_time- unload_optor_type- unload_optor_id (从saas后台卸载,可以获取到optor_id)- unload_time
FB广告授权
from optor_admin_2
基础登出
指定了
optor_strike style=\
商户被动注册新租户
安装事件rto_user_shopify_auth
- install_time- install_optor_id- unload_time- unload_optor_id- need_send_xxx_mail
staff和数据库 ext_login_info比对区别
完成安装
预安装开始website_1 安装app_1
Shopify应用授权资源
登录预校验
可识别到已有租户、操作员,执行挂靠,进行落库;
Function1
执行登录 返回tokentoken的session内含操作员信息
安装后处理开始
默认登录信息ws-token
Ggl
确认操作员步骤1、存在则使用;2、不存在则创建;3、如果指定操作员id,则登录信息会挂靠到指定操作员id下;存在含义:登录信息可以反向查找到操作员推论:安装和登录,都会对不存在的店内员工,创建对应操作员
单价/集成价格
普工 权限 entry list
订阅资源
Tenant(Merchant)_1...n Entity Base Info
确认安装租户 tenant_1
Platform_1
在线授权回调
员工从shopify 打开app
先按照shop_name分组,再按照一个shop安装的多个应用分组
RTOV2_OPERATOR操作员
from optor_own
存在此 ext_login_info
账户池共享模式
超管 权限 entry list
登录开始
ws_3
应用配置
用户在estar其他操作如 套餐相关
(资源)套餐订阅_2
普通登录信息
使用模式/校验
返回 SaaS首页地址
默认登录信息(资源)
从扩展登录信息,获取到 操作员id
saas 账密登录
返回estar 安装成功页面URL
挂靠操作员 optor_1
店员从Shopify登录流程
查询租户下所有店铺
渠道平台管理
创建租户
租户挂靠/创建模式
确认安装的目标租户开始
操作员基础信息name,usingStatus,id,是否创建账密登录信息,shopify员工信息等
同操作员2,2次集成新应用
ShopLess应用授权资源
Shopify登录授权资源
广告账户
已识别操作员(代表已识别租户)
关联操作员(包含默认登录信息)
登录手段扩展(联合)
确认当前登录的操作员
1.optor_own2.optor_admin_23.optor_grl_taff_1
普工-普管解除-关联/移动
prod_3
optor_1
租户-操作员_2-站点_2(ws_2)
多从属,只能看到多个租户下的信息,例如有些人员属于兼职情况
admin 操作员
留存
Pixel
注意:1、此操作员一般在shopify是存在的;2、此操作员可以在shopify不存在,但是从SaaS跳转到 shopify时,此操作员需要能登录到shopify(即使使用他人shopify账密);3、因为给站点安装应用,本质使用的是shop的access_token;
安装结果,每次成功记录rto_user_shopify_auth
从属
创建站点
创建(或关联)操作员(包含默认登录信息)
1.Owner(经营者-超管)
更新到登录信息
普工: 晋级
租户-操作员_3-站点_3(ws_3)
FB 联合登录信息
使用同名租户兼容老系统
optor_2
应用产品管理
联合登录-信息
组合(contains-a) 依赖 经营者 生命周期
Optor_3默认登录信息WebSite_token_3
目前阶段根据场景需求,人员,最多2个数据库足够
返回estar 安装成功页面
返回前端页面
广告账户-平台站点的授权
根据操作员,查询到所属租户
0 条评论
下一页