当前位置: 首页 > news >正文

【A11】统一实体标识符(UEID)规范

A11 数据同步系统 - ID 标识规范

一、核心设计哲学

1.1 设计原则

ID 设计原则 │ ├── 服务器统一分配原则 │ ├── 所有有效 ID 均由服务器生成 │ ├── 客户端不得自行指定有效 ID │ └── 客户端提交时 ID 字段可省略或填 0 │ ├── 符号语义分离原则 │ ├── 负数 → 机构/系统实体 │ ├── 正数 → 人员实体 │ └── 零值 → 未确认占位符 │ ├── 权限自然继承原则 │ ├── -1 代表 ROOT_ORG(根组织) │ ├── i64::MAX 代表 SUPER_ADMIN(超级管理员) │ └── i64::MIN 代表 DELETED_ORG(删除回收站) │ └── 排序天然有序原则 ├── 正数(人员)排在负数(机构)之后 ├── 同符号内权重小的优先 └── 权重相同数值小的优先

1.2 一句话理解

负数管组织,正数管人员,零是临时工,极值管全局


二、ID 分类总览

2.1 按符号分类

ID 符号分类 │ ├── 负数(-1, -2, -3 ...) │ ├── 实体类型:机构/系统实体 │ ├── 包含:Organization、Project、Team │ ├── 符号位:1 │ └── 特征:系统级实体,统一管理 │ ├── 正数(1, 2, 3 ...) │ ├── 实体类型:人员实体 │ ├── 包含:Person │ ├── 符号位:0 │ └── 特征:业务人员,身份绑定 │ ├── 零(0) │ ├── 实体类型:未确认占位符 │ ├── 权限:无任何权限 │ └── 用途:临时标识,等待服务器分配有效 ID │ ├── i64::MIN(-9223372036854775808) │ ├── 实体类型:删除回收站 │ ├── 符号位:1(机构类) │ └── 用途:已删除实体的归档容器 │ └── i64::MAX(9223372036854775807) ├── 实体类型:超级管理员 ├── 符号位:0(人员类) └── 用途:根组织(-1)的全权代理人

2.2 快速对照表

ID 范围/值符号实体类型权限特征
-1, -2, -3...机构/系统实体系统级管理
1, 2, 3...人员实体业务身份
0未确认占位符❌ 无任何权限
i64::MIN删除回收站🗑️ 归档容器
i64::MAX超级管理员👑 全局代理人

三、64 位 ID 位域结构

3.1 位域分配

64 位 ID 结构

位域符号位权重位数值位
位位置第 63 位第 62-48 位第 47-0 位
位数1 位15 位48 位
取值范围011~327670~2^48-1
默认值-10
语义0= 人员实体
1= 机构实体
排序权重(越小越靠前)唯一标识(0 保留给根/占位符)

位域分配速查表

位域位数位置用途取值说明
符号位163区分实体类型0=人员,1=机构
权重位1562-48控制排序1~32767,越小越靠前
数值位4847-0唯一标识1~2^48-10保留

四、取值对照表

位域最小值最大值默认值说明
符号位01-0=人员,1=机构
权重位1327671权重值
数值位02^48-10唯一标识,0 保留
组合(符号位=0)12^63-2-人员实体 ID 范围
组合(符号位=1)-1-2^63+1-机构实体 ID 范围

五、特殊 ID 位域解析表

特殊 ID符号位权重位数值位说明
0000未确认人员占位符,❌ 无任何权限
-1101系统根组织 ROOT_ORG
-2102普通机构实体示例
1011普通人员实体示例
i64::MIN100删除回收站 DELETED_ORG
i64::MAX011超级管理员 SUPER_ADMIN

六、排序规则表

优先级比较维度规则说明
1符号位正数(0)排在负数(1)之前人员实体排在机构实体前面
2权重位权重值小的排在前面同类型内,权重小者优先
3数值位数值小的排在前面权重相同时,数值小者优先

七、ID 操作函数示例

// 提取符号位(0=人员,1=机构)fnsign(id:i64)->i8{((id>>63)&1)asi8}// 提取权重位(15位,1-32767)fnweight(id:i64)->u16{((id>>48)&0x7FFF)asu16}// 提取数值位(48位,0-2^48-1)fnvalue(id:i64)->u64{(id&0x0000FFFFFFFFFFFF)asu64}// 判断是否为机构实体fnis_organization(id:i64)->bool{id<0&&id!=i64::MIN}// 判断是否为人员实体fnis_person(id:i64)->bool{id>0&&id!=i64::MAX}// 判断是否为根组织fnis_root_org(id:i64)->bool{id==-1}// 判断是否为超级管理员fnis_super_admin(id:i64)->bool{id==i64::MAX}// 判断是否为删除回收站fnis_deleted_org(id:i64)->bool{id==i64::MIN}

八、常量定义表

常量名称说明
SIGN_MASK0x8000000000000000符号位掩码
WEIGHT_MASK0x7FFF000000000000权重位掩码
VALUE_MASK0x0000FFFFFFFFFFFF数值位掩码
DEFAULT_WEIGHT1默认权重值
RESERVED_VALUE0保留数值(根/占位符)
i64::MIN-9,223,372,036,854,775,808删除回收站
i64::MAX9,223,372,036,854,775,807超级管理员
ROOT_ORG-1根组织 ID
UNCONFIRMED0未确认人员 ID
http://www.cnnetsun.cn/news/2661586.html

相关文章:

  • 3分钟终极优化:用Win11Debloat让你的Windows 11重获新生
  • 【限时解禁】AI产品团队内部反馈仪表盘模板(含自动归因标签体系):错过本周将永久下线
  • 赛灵思平台 lwIP 断线重连深度解析与实现指南
  • WorkshopDL终极指南:3步免费下载Steam创意工坊模组的高效方法
  • 2026年旧房翻新大揭秘!靠谱机构究竟该怎么选?
  • 储能系统应用场景深度剖析:通信架构设计与工程实践
  • 2026 实测盘点:市面上热门企业AI智能体培训,哪家真靠谱?
  • 抖音评论区图标
  • iOS开发工具推荐:Xcode、AppCode、SwiftLint使用心得与效率提升
  • 好用的AI员工排名
  • Windows锁屏壁纸太单调?手把手教你用RePKG-GUI从Wallpaper Engine的pkg文件里抠出高清大图
  • B站m4s视频转换完整教程:5秒解锁缓存视频的终极方案
  • 不止降温,更要稳温:两相液冷,精准控温决定算力兑换效率
  • 【限时解密】Gemini 2.5科研专属模型未公开API参数:控制学术严谨度的7个温度系数(含IEEE模板校验脚本)
  • Loong:具备观察-行动自适应上下文选择机制的类人长文档翻译智能体
  • 告别自动更新烦恼:手把手教你配置Ubuntu 20.04的APT,实现按需更新
  • KMS智能激活终极方案:一键永久激活Windows与Office全系列
  • Whisper-WebUI:从零开始搭建专业级语音识别系统的完整指南
  • 暗黑破坏神2存档编辑器:免费Web版工具完全指南
  • League Akari 完全指南:如何为英雄联盟玩家构建终极本地化工具箱
  • 基于ESP32与NEO-6M GPS模块自制低成本高精度RC车测速仪
  • 别再让服务器偷偷耗电了!手把手教你用lspci和setpci命令检查与配置PCIe ASPM省电模式
  • 基于ESP8266与WS2812B的物联网彩虹时钟天气显示系统开发实战
  • 乔布斯教会耄耋的事:在《一念成仙》,耄耋如何定义“最好的产品”
  • Unity UI避坑指南:TMPro文本框动态伸缩时,背景图为什么总对不齐?
  • Motrix WebExtension 高效方案:5步实现浏览器下载加速与管理
  • 湖南麒麟3.3-3B系统硬盘救急:紧急模式和单用户模式下的xfs_repair实操指南
  • 手机拍照暗光不糊的秘密:拆解索尼Quad Bayer传感器,从4合1像素到硬件Remosaic
  • 如何快速获取抖音无水印视频:3种简单方法完整指南
  • 3步实现网页到Figma设计稿的无缝转换:HTML To Figma实战指南