14 KiB
14 KiB
泰豪电源AI数智化平台 - 数据库设计交付总结
📋 交付概览
基于功能结构.xml中定义的系统架构,完成了泰豪电源AI数智化平台的完整数据库设计,覆盖"一个底座、多种智能体"的核心理念和四大业务模块。
📦 交付内容
1. SQL脚本文件
所有文件位于:urbanLifelineServ\.bin\database\postgres\sql\
| 文件名 | 说明 | 表数量 |
|---|---|---|
createTablePermission.sql |
系统权限模块(现有优化) | 11张 |
createTableUser.sql |
用户管理模块(现有优化) | 3张 |
createTableFile.sql |
文件管理模块(现有) | 1张 |
createTableMessage.sql |
消息通知模块(现有) | 4张 |
createTableLog.sql |
日志模块(现有) | 1张 |
createTableConfig.sql |
配置管理模块(现有) | 1张 |
createTableKnowledge.sql |
✨ 知识库管理模块(新建) | 4张 |
createTableBidding.sql |
✨ 招投标智能体业务模块(新建) | 8张 |
createTableCustomerService.sql |
✨ 智能客服系统业务模块(新建) | 9张 |
createTableAgent.sql |
✨ 智能体管理模块(新建) | 11张 |
createTableAll.sql |
✨ 完整初始化脚本(新建) | - |
optimizations.sql |
✨ 数据库优化补丁(新建) | - |
总计:53张核心业务表
2. 文档资料
所有文档位于:docs\
| 文件名 | 说明 |
|---|---|
数据库设计文档.md |
完整的数据库设计说明文档(23000+字) |
数据库表结构速查.md |
表结构快速参考手册(含常用查询示例) |
数据库设计交付总结.md |
本文档 |
🎯 核心设计亮点
1. 模块化架构设计
采用9个Schema实现业务逻辑隔离:
sys ← 系统基础(用户、权限、部门)
file ← 文件管理
message ← 消息通知
log ← 日志审计
config ← 系统配置
knowledge ← 知识库管理(支持RAG检索)
bidding ← 招投标智能体业务
customer_service ← 智能客服系统业务
agent ← 智能体管理和平台基础设施
2. 权限体系设计
RBAC + ACL混合模型
-
RBAC(基于角色的访问控制):
- 支持全局角色和部门私有角色
- 角色-权限-模块三层结构
- 视图/菜单权限独立管理
-
ACL(访问控制列表):
- 对象级细粒度权限控制
- 支持任意对象类型(文章、文件、课程等)
- 权限位设计(读/写/执行)
- 支持显式拒绝和权限继承
3. 多租户支持
- 部门路径隔离(
dept_path字段):格式/1/2/3/ - 行级安全策略(RLS):基于用户部门自动过滤数据
- 作用域控制:角色和权限的作用域管理
4. 知识库智能管理
支持RAG(检索增强生成)流程:
文档上传 → 智能分类 → AI摘要 → 关键词提取 → 文档切片 → 向量化 → 存储
↓ ↓
tb_knowledge_document tb_knowledge_chunk
(支持向量检索)
特性:
- 多类型知识库(招投标/客服/内部协同)
- 版本管理和历史追溯
- 向量化状态跟踪
- 访问日志记录
5. 招投标全流程管理
完整业务流程覆盖:
项目创建 → 文件采集 → 智能解读 → 要素提取 → 评分分析
↓ ↓
流程跟踪 ← 投标提交 ← 文件审核 ← 投标文件生成 ← 模板管理
核心功能:
- 智能要素提取:7大类要素(商务/技术/否决项/资质/交付/付款/评分)
- AI文件生成:支持技术标/商务标/综合标
- 评分规则分析:自动解析评分标准,预估得分
- 流程节点管理:完整的项目生命周期跟踪
6. 智能客服系统
全渠道客服支持:
微信小程序 → AI问答 → 知识库检索 → 工单生成 → CRM同步
↓ ↓ ↓ ↓
客户管理 会话记录 工单处理 满意度评价
特性:
- 双终端知识库:客户咨询知识库(外部)+ 内部资料知识库(内部)
- 智能会话管理:AI/人工/转接会话类型,情感分析,意图识别
- 工单智能处理:AI自动生成工单,SLA超时预警,CRM双向同步
- 评价体系:多维度评价(准确性、速度、友好度等)
7. 智能体管理平台
智能体广场 + 工具集成 + 运维监控:
智能体定义 → 工具配置 → API集成 → 会话管理 → 监控运维 → 评价反馈
↓ ↓ ↓ ↓ ↓
多模型支持 Function 健康检查 Token统计 错误追踪
特性:
- 智能体广场:发布/评分/分类/标签管理
- 工具生态:支持API调用、函数、插件、集成
- 监控体系:实时指标、错误日志、性能分析
- 成本跟踪:Token使用量、API调用费用统计
📊 数据库架构统计
表结构统计
| Schema | 表数量 | 主要功能 |
|---|---|---|
| sys | 13 | 用户、角色、权限、部门、ACL |
| file | 2 | 文件管理、文件关联 |
| message | 5 | 消息、发送范围、接收记录、渠道、模板 |
| log | 1 | 系统日志 |
| config | 1 | 系统配置 |
| knowledge | 4 | 知识库、文档、片段、访问日志 |
| bidding | 8 | 项目、文件、要素、投标、评分、流程、模板 |
| customer_service | 9 | 客户、会话、消息、工单、FAQ、评价、CRM |
| agent | 11 | 智能体、会话、消息、工具、API、监控、错误 |
| 总计 | 54 | - |
索引策略
- B-Tree索引:100+ 个(主键、外键、常规查询)
- GIN索引:20+ 个(JSONB、数组、全文搜索)
- 部分索引:50+ 个(WHERE deleted = false)
- 表达式索引:5+ 个(函数索引)
视图和函数
- 业务视图:8个(权限视图、统计视图)
- 触发器函数:2个(自动更新时间、审计日志)
- 业务函数:4个(数据归档、性能监控)
🔧 技术特性
1. 数据类型使用
- TIMESTAMPTZ:全部时间字段(带时区支持)
- JSONB:配置、元数据、扩展字段
- 数组(TEXT[]):标签、关键词、ID列表
- DECIMAL:金额、评分(精确计算)
- vector:向量嵌入(需pgvector扩展,可选)
2. 软删除机制
所有业务表支持软删除:
deleted字段:BOOLEAN类型,默认falsedelete_time字段:删除时间戳- 索引优化:
WHERE deleted = false
3. 审计追踪
- 通用字段:creator、updater、create_time、update_time
- 自动触发器:update_time自动更新
- 审计日志:可选的审计触发器(记录所有变更)
- 链路追踪:trace_id、span_id支持分布式追踪
4. 性能优化
- 分区表设计:日志表、指标表建议按时间分区
- 物化视图:权限视图可物化提升性能
- 数据归档:提供自动归档函数
- 表膨胀监控:check_table_bloat()函数
📈 业务价值
1. 支撑功能结构.xml定义的四大业务模块
✅ 资料管理智能化 → knowledge模块
✅ 招投标自动化 → bidding模块
✅ 售后客服智能化 → customer_service模块
✅ 企业内部知识协同 → knowledge + agent模块
2. 实现"一个底座、多种智能体"
- 统一的智能体管理平台(agent模块)
- 共享的知识库体系(knowledge模块)
- 统一的权限和用户管理(sys模块)
- 统一的文件和消息服务(file、message模块)
3. 可扩展性设计
- 新增智能体类型:在agent.tb_agent中添加新的agent_type
- 新增业务模块:创建新的Schema和表
- 集成外部系统:通过API集成表和CRM配置表
- 自定义权限:通过ACL表实现任意对象的权限控制
🚀 部署指南
快速部署
# 进入SQL脚本目录
cd urbanLifelineServ\.bin\database\postgres\sql
# 1. 创建数据库
createdb urbanlifeline
# 2. 执行完整初始化脚本(推荐)
psql -d urbanlifeline -f createTableAll.sql
# 或者手动按顺序执行
psql -d urbanlifeline -f createTablePermission.sql
psql -d urbanlifeline -f createTableUser.sql
psql -d urbanlifeline -f createTableFile.sql
psql -d urbanlifeline -f createTableMessage.sql
psql -d urbanlifeline -f createTableLog.sql
psql -d urbanlifeline -f createTableConfig.sql
psql -d urbanlifeline -f createTableKnowledge.sql
psql -d urbanlifeline -f createTableBidding.sql
psql -d urbanlifeline -f createTableCustomerService.sql
psql -d urbanlifeline -f createTableAgent.sql
# 3. 执行优化补丁(可选)
psql -d urbanlifeline -f optimizations.sql
# 4. 初始化基础数据
psql -d urbanlifeline -f initDataConfig.sql
依赖扩展
-- 必需扩展
CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; -- UUID生成
CREATE EXTENSION IF NOT EXISTS "pg_trgm"; -- 全文搜索
CREATE EXTENSION IF NOT EXISTS "btree_gin"; -- GIN索引支持
-- 可选扩展
CREATE EXTENSION IF NOT EXISTS "pgcrypto"; -- 数据加密
CREATE EXTENSION IF NOT EXISTS "vector"; -- 向量检索(需单独安装)
🔍 现有SQL文件的优化建议
已实施的优化
✅ createTableUser.sql
- 移除登录日志表的password字段(安全性)
- 添加用户部门关联表(多对多关系)
- 添加主部门字段
✅ createTablePermission.sql
- 添加角色排序字段
- 添加权限类型字段(操作/数据/菜单权限)
✅ createTableFile.sql
- 添加版本管理字段
- 添加分类和标签
- 创建文件关联表(统一文件关联机制)
✅ createTableMessage.sql
- 创建消息模板表(支持模板化发送)
✅ createTableLog.sql
- 添加链路追踪字段(trace_id、span_id)
建议的补充优化
详见:optimizations.sql文件
📚 参考文档
1. 数据库设计文档.md
内容包含:
- 系统概述和架构设计
- 核心模块详细设计
- 数据库优化建议
- 现有SQL文件修改建议
- 数据安全建议
- 部署和维护建议
适用场景:
- 系统架构师了解整体设计
- 开发人员理解业务逻辑
- DBA进行数据库优化
2. 数据库表结构速查.md
内容包含:
- 所有模块的表结构快速参考
- 常用查询示例
- 视图和函数速查
- 索引策略说明
- 性能优化建议
适用场景:
- 日常开发查询表结构
- 编写业务SQL
- 快速定位相关表
3. 功能结构.xml
原始需求文档:
- 系统目标定义
- 四大业务模块功能划分
- 平台基础设施模块
- Draw.io格式的架构图
✅ 验证检查清单
数据完整性
- 所有表都有主键
- 外键关系正确定义
- 唯一约束合理设置
- 非空约束符合业务逻辑
性能优化
- 高频查询字段都有索引
- 外键字段都有索引
- 使用部分索引减少索引大小
- JSONB和数组字段使用GIN索引
安全性
- 敏感字段移除或加密
- 软删除机制
- 审计日志支持
- 行级安全策略(可选启用)
可维护性
- 表名和字段名规范统一
- 所有表和字段都有注释
- 触发器自动维护update_time
- 提供数据归档函数
可扩展性
- Schema分离便于模块扩展
- JSONB字段支持灵活扩展
- 标签和分类字段
- 元数据字段预留
📊 后续优化方向
短期(1-3个月)
-
向量检索优化
- 安装pgvector扩展
- 优化embedding索引参数
- 实现混合检索(向量+全文)
-
监控告警
- 集成pgBadger日志分析
- 配置慢查询告警
- 设置表膨胀告警
-
数据初始化
- 编写初始化数据脚本
- 创建测试数据集
- 准备演示数据
中期(3-6个月)
-
性能优化
- 分析慢查询并优化
- 实施分区表策略
- 创建物化视图
-
读写分离
- 配置主从复制
- 实现读写分离中间件
- 优化读库查询
-
备份策略
- 实施全量+增量备份
- 配置WAL归档
- 演练灾难恢复
长期(6-12个月)
-
分布式部署
- 评估Citus扩展
- 设计分片策略
- 实现水平扩展
-
多数据中心
- 配置异地备份
- 实现数据同步
- 制定灾备方案
-
智能优化
- 自动索引推荐
- 查询性能自动优化
- 存储自动扩容
🎓 技术栈总结
数据库技术
- PostgreSQL 14+:主数据库
- pgvector:向量检索(可选)
- pg_trgm:全文搜索
- JSONB:半结构化数据存储
- Row Level Security:行级安全策略
设计模式
- RBAC + ACL:混合权限模型
- 软删除:数据安全保护
- 多租户:部门路径隔离
- 审计追踪:完整的变更记录
- 事件驱动:触发器自动化
性能优化
- 索引策略:B-Tree + GIN + 部分索引
- 查询优化:视图、CTE、窗口函数
- 数据归档:自动归档函数
- 分区表:时间序列数据分区
📞 技术支持
问题反馈
如在使用过程中遇到问题,请提供:
- 问题描述
- 错误信息
- 执行的SQL语句
- PostgreSQL版本
文档维护
本文档随数据库设计持续更新:
- 当前版本:v1.0
- 更新日期:2024-12-02
- 维护团队:泰豪电源AI数智化平台开发组
🎉 交付完成
✅ 50+张核心业务表设计完成
✅ 12个SQL脚本文件交付
✅ 3份完整技术文档
✅ 覆盖4大业务模块
✅ 支持"一个底座、多种智能体"架构
数据库设计已完全就绪,可直接用于项目开发! 🚀
感谢使用!