identity 子系统 — doris数据库相关表与关联关系(供参考)
1. 数据库全景
| 数据库 |
说明 |
与 identity 的关系 |
ods_app_base_data |
APP基础数据(用户、设备、好友、产品) |
核心 — 用户身份主数据 |
ods_app_app_community |
社区数据(帖子、评论、关注) |
行为数据,辅助归并 |
ods_app_jh_data |
JOYHUB事件数据 |
行为数据,辅助归并 |
ods_oa_oaaftersales |
OA售后系统(客户、订单、测评) |
核心 — 非APP用户身份线索 |
app_tag_data |
标签数据 |
关键 — 已有 OneID 归并表 |
2. 核心发现:已存在的 OneID 归并表
app_tag_data.user_oneid — 用户唯一标识归并表(6 字段,已有数据)
这是 identity 子系统 M2(归并引擎)的核心参考,已实现 uuid → one_id 的归并逻辑
| 字段 |
类型 |
键 |
说明 |
uuid |
VARCHAR(64) |
UNI, NOT NULL |
原始客户唯一标识符 |
one_id |
VARCHAR(64) |
NOT NULL |
用户唯一标识(归并后的ID) |
bridge_uuid |
STRING |
|
当前 uuid 对应的非当前桥接 uuid |
association_fields |
STRING |
|
关联字段 |
detail |
STRING |
|
uuid 指向 one_id 的证据说明(JSON) |
update_time |
DATETIME(3) |
|
同步更新时间 |
关键设计点:
uuid → one_id 是多对一关系(多个 uuid 可归并到同一个 one_id)
bridge_uuid 记录桥接关联,用于跨系统身份串联
detail 字段存储归并证据(JSON),与设计文档中 person_profiles.merge_evidence 概念一致
association_fields 记录关联字段,对应设计文档中的线索类型
3. 核心表状态
设计文档定义的 4 张核心表 尚未在数据库中创建:
| 表名 |
设计文档定义 |
数据库状态 |
与现有表的关系 |
person_profiles |
真实人主表 |
不存在 |
可参考 app_tag_data.user_oneid(one_id) |
person_identity_links |
身份线索关联表 |
不存在 |
可参考 ods_oa_oaaftersales.customer_platform_info(type映射线索类型) |
contact_context_snapshots |
上下文快照 |
不存在 |
需聚合多表新建 |
device_records |
设备变化记录 |
不存在 |
可参考 user_device_token_log(已有252万条记录) |
4. 已存在的数据源表
4.1 用户与身份核心表
ods_app_base_data.users — 用户主表(36 字段)
identity 子系统的核心用户数据源,提供 JOYHUB ID、邮箱、设备号等身份线索
| 字段 |
类型 |
键 |
说明 |
id |
BIGINT |
UNI |
用户ID(JOYHUB ID) |
userName |
STRING |
|
用户名 |
email |
STRING |
|
邮箱 |
deviceToken |
VARCHAR(300) |
|
设备推送令牌 |
IMEI |
STRING |
|
设备IMEI |
sysType |
VARCHAR(765) |
|
系统类型(安卓/IOS/Windows Phone) |
deviceId |
STRING |
|
设备ID |
appVersion |
VARCHAR(90) |
|
APP版本 |
contact_information |
VARCHAR(765) |
|
联系方式(电话号码) |
mobile |
STRING |
|
手机号 |
area_code |
BIGINT |
|
区域代码(美国1,中国86) |
status |
TINYINT |
|
1活跃/2封禁/3注销 |
sysTime |
DATETIME |
|
系统时间(注册时间) |
created_at |
DATETIME |
|
创建时间 |
ods_app_base_data.user_login_last — 最近登录信息(21 字段)
提供设备型号、系统版本、APP版本、国家等信息,是设备变化识别(M4)的重要数据源
| 字段 |
类型 |
键 |
说明 |
UserId |
BIGINT |
UNI |
用户ID → 关联 users.id |
deviceId |
STRING |
|
设备ID |
deviceModel |
VARCHAR(150) |
|
手机型号 |
device |
VARCHAR(150) |
|
手机系统 |
sysType |
VARCHAR(150) |
|
系统设备信息与版本 |
appVersion |
VARCHAR(45) |
|
APP版本号 |
appChannel |
INT |
|
渠道 |
countryName |
VARCHAR(600) |
|
国家名称 |
countryCode |
VARCHAR(30) |
|
国家缩写 |
Time |
DATETIME |
|
登录时间 |
Ip |
STRING |
|
IP地址 |
ods_app_base_data.user_device_token_log — 设备令牌变更日志(7 字段,252万行)
记录设备令牌的添加和更新,可用于追踪设备变化
| 字段 |
类型 |
键 |
说明 |
id |
INT |
UNI |
主键 |
user_id |
INT |
|
用户ID → 关联 users.id |
type |
TINYINT |
|
0添加/1更新 |
device_id |
STRING |
|
设备ID |
new_device_token |
VARCHAR(300) |
|
新设备令牌 |
created_at |
DATETIME |
|
创建时间 |
client_time |
DATETIME |
|
客户端时间 |
ods_app_base_data.user_contact_information_history — 联系方式变更历史(11 字段,20万行)
记录用户手机号等联系方式的变更历史,可用于身份线索追踪
| 字段 |
类型 |
键 |
说明 |
id |
DECIMAL(20,0) |
UNI |
主键 |
user_id |
BIGINT |
|
用户ID → 关联 users.id |
user_type |
VARCHAR(150) |
|
用户角色 |
area_code |
BIGINT |
|
区域代码 |
mobile |
STRING |
|
手机号 |
area_id |
INT |
|
区域ID |
marketing_phone |
TINYINT |
|
营销电话开关 |
marketing_sms |
TINYINT |
|
个性化广告开关 |
status |
SMALLINT |
|
1生效中/2已过期 |
verify_status |
SMALLINT |
|
短信验证状态:1通过/2未通过 |
created_at |
BIGINT |
|
创建时间 |
ods_app_base_data.banned_device_id — 设备封禁表(3 字段,6831行)
| 字段 |
类型 |
键 |
说明 |
id |
INT |
UNI |
主键 |
device_id |
VARCHAR(765) |
|
封禁设备ID |
created_at |
INT |
|
创建时间 |
ods_app_base_data.blacklist_users_aggregate — 用户黑名单汇总(8 字段)
按 uid、设备、IP 维度的黑名单,用于风险判断
| 字段 |
类型 |
键 |
说明 |
id |
INT |
UNI |
主键 |
target_id |
INT |
|
1=uid, 2=设备, 3=IP |
target_value |
VARCHAR(1500) |
|
字段值 |
category_id |
INT |
|
黑名单类别ID |
describe |
VARCHAR(1500) |
|
加入原因 |
4.2 OA 售后系统 — 客户身份数据
ods_oa_oaaftersales.customer — 客户主表(22 字段,23万行)
| 字段 |
类型 |
键 |
说明 |
id |
DECIMAL(20,0) |
UNI |
客户ID |
name |
STRING |
|
客户名 |
country |
VARCHAR(60) |
|
国家 |
is_black |
TINYINT |
|
是否黑名单 |
high_risk |
TINYINT |
|
是否高风险 |
erp_contact |
STRING |
|
ERP联系方式 |
erp_pay_account |
VARCHAR(1500) |
|
ERP付款账号 |
ods_oa_oaaftersales.customer_platform_info — 客户平台信息(8 字段,26万行)
| 字段 |
类型 |
键 |
说明 |
id |
BIGINT |
UNI |
主键 |
type |
TINYINT |
|
1电话/2邮箱/3joyhub_id/4邮箱编码/5twitter/6facebook |
customer_id |
INT |
|
客户ID → 关联 customer.id |
account |
STRING |
|
账号值 |
is_delete |
TINYINT |
|
是否删除 |
ods_oa_oaaftersales.customer_address — 客户地址(18 字段,5631行)
提供姓名+地址组合,可用于 ORDER_NAME_ADDRESS 线索归并
| 字段 |
类型 |
键 |
说明 |
id |
BIGINT |
UNI |
主键 |
customer_id |
INT |
|
客户ID → 关联 customer.id |
recipient_name |
STRING |
|
收件人姓名 |
phone |
STRING |
|
电话 |
zip_code |
STRING |
|
邮编 |
country |
VARCHAR(300) |
|
国家 |
city |
STRING |
|
城市 |
state |
STRING |
|
州/省 |
detail |
VARCHAR(1500) |
|
详细地址 |
ods_oa_oaaftersales.customer_payment_account — 客户付款账号(12 字段,10万行)
提供收款信息(银行卡、PayPal等),可作为身份归并线索
| 字段 |
类型 |
键 |
说明 |
id |
BIGINT |
UNI |
主键 |
ct_id |
INT |
|
客户ID → 关联 customer.id |
pay_name |
VARCHAR(150) |
|
支付方式 |
account_number |
STRING |
|
账号 |
account_name |
STRING |
|
账户名 |
card_no |
VARCHAR(300) |
|
卡号 |
ods_oa_oaaftersales.customer_bind — 客户绑定关系(6 字段,4980行)
客户间的绑定关系,已有归并概念
| 字段 |
类型 |
键 |
说明 |
id |
BIGINT |
UNI |
主键 |
customer_ids |
STRING |
|
绑定的客户ID集合 |
unbind_time |
DATETIME |
|
解绑时间 |
is_deleted |
TINYINT |
|
是否删除 |
ods_oa_oaaftersales.customer_bind_log — 客户绑定日志(6 字段,1.2万行)
| 字段 |
类型 |
键 |
说明 |
id |
BIGINT |
UNI |
主键 |
user_id |
INT |
|
操作人ID |
bind_customer_ids |
STRING |
|
绑定的客户ID |
type |
VARCHAR(765) |
|
操作类型 |
ods_oa_oaaftersales.evaluation_order — 测评订单(55+ 字段,45万行)
包含丰富的身份线索:邮箱、电话、JOYHUB ID、社交媒体账号
| 字段 |
类型 |
键 |
说明 |
id |
BIGINT |
UNI |
订单ID |
ct_id |
INT |
|
客户ID → 关联 customer.id |
amazon_order_id |
STRING |
|
亚马逊订单号 |
email |
STRING |
|
邮箱 |
phone |
STRING |
|
电话 |
joyhub_id |
VARCHAR(150) |
|
JOYHUB ID |
twitter |
STRING |
|
Twitter账号 |
facebook |
STRING |
|
Facebook账号 |
ods_oa_oaaftersales.lingxing_order — 亚马逊订单(30+ 字段,2142万行)
| 字段 |
类型 |
键 |
说明 |
id |
DECIMAL(20,0) |
UNI |
订单ID |
amazon_order_id |
VARCHAR(150) |
|
亚马逊订单号 |
buyer_name |
VARCHAR(765) |
|
买家姓名 |
buyer_email |
VARCHAR(765) |
|
买家邮箱 |
phone |
VARCHAR(90) |
|
电话 |
postal_code |
VARCHAR(765) |
|
邮编 |
address |
VARCHAR(765) |
|
地址 |
ods_oa_oaaftersales.phone_records — 电话记录(30+ 字段,8万行)
| 字段 |
类型 |
键 |
说明 |
id |
BIGINT |
UNI |
主键 |
ct_id |
INT |
|
客户ID → 关联 customer.id |
phone |
STRING |
|
电话 |
email |
STRING |
|
邮箱 |
joyhub_id |
VARCHAR(150) |
|
JOYHUB ID |
4.3 社区行为表
| 字段 |
类型 |
键 |
说明 |
id |
DECIMAL(20,0) |
UNI |
帖子ID |
user_id |
INT |
|
用户ID → 关联 users.id |
status |
SMALLINT |
|
10待审核/20拒绝/30通过 |
deleted_at |
INT |
|
删除时间(0=未删除) |
| 字段 |
类型 |
键 |
说明 |
id |
DECIMAL(20,0) |
UNI |
主键 |
post_id |
BIGINT |
|
帖子ID → 关联 posts.id |
user_id |
INT |
|
用户ID → 关联 users.id |
| 字段 |
类型 |
键 |
说明 |
id |
DECIMAL(20,0) |
UNI |
评论ID |
post_id |
DECIMAL(20,0) |
|
帖子ID → 关联 posts.id |
user_id |
DECIMAL(20,0) |
|
用户ID → 关联 users.id |
| 字段 |
类型 |
键 |
说明 |
id |
DECIMAL(20,0) |
UNI |
主键 |
user_id |
INT |
|
关注者ID → 关联 users.id |
following_user_id |
INT |
|
被关注者ID → 关联 users.id |
ods_app_base_data.friends — 好友关系表(6 字段)
| 字段 |
类型 |
键 |
说明 |
id |
DECIMAL(20,0) |
UNI |
主键 |
user_id |
DECIMAL(20,0) |
|
用户ID → 关联 users.id |
friend_id |
DECIMAL(20,0) |
|
好友ID → 关联 users.id |
4.4 事件行为表
ods_app_jh_data.events — APP事件表(18 字段)
event_type: 13=home, 8=玩具连接, 5=视频等
| 字段 |
类型 |
键 |
说明 |
id |
BIGINT |
UNI |
事件ID |
add_date |
DATE |
UNI |
记录日期 |
uid |
BIGINT |
|
用户ID → 关联 users.id |
event_type |
INT |
|
事件类型 |
pid |
BIGINT |
|
产品ID → 关联 def_product_list.id |
ods_app_jh_data.remote_events — 远程连接事件表(15 字段)
| 字段 |
类型 |
键 |
说明 |
id |
BIGINT |
UNI |
事件ID |
uid |
BIGINT |
|
用户ID → 关联 users.id |
call_sn |
VARCHAR(600) |
|
远程序列号(格式:uid1_uid2_uuid) |
mode |
INT |
|
1文字/2语音/3视频 |
5. 表关联关系图
6. identity 设计表与现有表的字段映射
6.1 person_identity_links(身份线索关联表)— 待建
| clue_type |
设计文档定义 |
数据来源表 |
来源字段 |
数据量级 |
| JOYHUB_ID |
JOYHUB用户ID |
users.id |
id |
- |
| EMAIL |
邮箱 |
users.email / evaluation_order.email / lingxing_order.buyer_email / edm_contact_user.email / customer_platform_info(type=2) |
email |
- |
| PHONE |
电话 |
users.contact_information / users.mobile / evaluation_order.phone / lingxing_order.phone / customer_platform_info(type=1) |
phone |
- |
| DEVICE |
设备号 |
users.deviceId / user_login_last.deviceId / user_device_token_log.device_id |
deviceId |
252万条日志 |
| ORDER_NAME_ADDRESS |
订单姓名+地址 |
lingxing_order.buyer_name + lingxing_order.address / customer_address.recipient_name + customer_address.detail |
name+address |
5631条地址 |
| SOCIAL_ACCOUNT |
社交媒体(扩展) |
evaluation_order.twitter / evaluation_order.facebook / customer_platform_info(type=5,6) |
twitter/facebook |
- |
| PAYMENT_ACCOUNT |
收款账号(扩展) |
customer_payment_account.account_number / customer.erp_pay_account |
account |
10万条 |
6.2 device_records(设备变化记录)— 待建
| 设计字段 |
数据来源表 |
来源字段 |
joyhub_id |
users.id |
id |
device_id |
users.deviceId / user_login_last.deviceId / user_device_token_log.device_id |
deviceId |
device_model |
user_login_last.deviceModel |
deviceModel |
os_version |
user_login_last.device / user_login_last.sysType |
device/sysType |
app_version |
user_login_last.appVersion / users.appVersion |
appVersion |
change_type |
user_device_token_log.type |
0=NEW, 1=UPDATE |
6.3 contact_context_snapshots(上下文快照)— 待建
| 设计字段 |
数据来源子系统 |
来源表 |
identity_snapshot |
identity |
person_profiles + person_identity_links |
transaction_snapshot |
planning |
lingxing_order, lingxing_order_item |
service_snapshot |
support |
order_refund, evaluation_order, phone_records |
risk_snapshot |
risk |
customer.is_black, customer.high_risk, banned_device_id, blacklist_users_aggregate |
device_snapshot |
identity(M4) |
device_records, user_login_last |
outreach_snapshot |
outreach |
(待确认) |