Files
AIclinicalresearch/docs/05-部署文档/00-阿里云SAE最新真实状态记录.md
HaHafeng c3554fd61d feat(rvw): harden json parsing and finalize 0316 rollout
Stabilize RVW editorial and methodology JSON parsing in production with layered repair and fallback handling, then publish the paired frontend task-level language selector updates. Also reset deployment checklist, record the 0316 deployment summary, and refresh the SAE runtime status with latest backend/frontend IPs.

Made-with: Cursor
2026-03-16 00:24:33 +08:00

32 KiB
Raw Blame History

🚀 AI临床研究平台 - 阿里云SAE最新真实状态记录

文档用途记录阿里云SAE服务器最新真实状态 + 每次部署记录
最后更新2026-03-16
维护人员:开发团队
说明本文档准确记录SAE上所有应用的当前状态包括内网地址、镜像版本、用户名密码等关键资源信息


📊 一、当前部署状态一览

服务名称 部署状态 镜像版本 部署位置 最后更新时间
PostgreSQL数据库 运行中 PostgreSQL 15 + 插件 RDS 2026-03-16
前端Nginx服务 运行中 v2.9 SAE 2026-03-16
Python微服务 运行中 v1.2 SAE 2026-02-27
Node.js后端 运行中 v2.12 SAE 2026-03-16
R统计引擎 运行中 v1.0.5 SAE 2026-03-09
Dify AI服务 ⚠️ 已废弃 - - 使用pgvector替代

🔑 二、阿里云资源信息

2.1 ACR容器镜像仓库

基本信息

  • 命名空间ai-clinical
  • Registry地址公网crpi-cd5ij4pjt65mweeo.cn-beijing.personal.cr.aliyuncs.com
  • Registry地址VPCcrpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com
  • 用户名gofeng117@163.com
  • 密码fengzhibo117

镜像仓库列表

仓库名称 最新版本 镜像大小 VPC地址
python-extraction v1.3 ~1.1GB crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/python-extraction:v1.3
ssa-r-statistics v1.0.6 ~2.1GB crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ssa-r-statistics:v1.0.6
ai-clinical_frontend-nginx v2.9 ~100MB crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/ai-clinical_frontend-nginx:v2.9
backend-service v2.12 ~900MB crpi-cd5ij4pjt65mweeo-vpc.cn-beijing.personal.cr.aliyuncs.com/ai-clinical/backend-service:v2.12

2.2 VPC网络与NAT网关

VPC信息

  • VPC IDvpc-2ze055cptkew9c38w4r06
  • VPC名称ai-clinical-vpc
  • 网段172.17.0.0/16
  • 地域华北2北京
  • 交换机1vsw-2zevacop039bxrmj6yc0c可用区F
  • 交换机2vsw-2zehoeyw9ldncymcyvfwq可用区A
  • 安全组IDsg-2zedk6fi8sgmmcwdu7tu

NAT网关信息

  • NAT网关名称NAT_airesearch
  • NAT网关IDngw-2zeec9ulzgw7ywvx1pst6
  • 公网IPEIP182.92.176.14
  • SNAT表IDstb-2zesszmzx1qpwf1cb2bry

2.3 RDS PostgreSQL数据库

实例信息

  • 实例IDpgm-2zex1m2y3r23hdn5
  • 规格2核4GBpg.n2.2c.1m
  • 存储空间100GBSSD云盘
  • PostgreSQL版本15.0
  • 内网地址pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432
  • 外网地址pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com⚠️ 已关闭)
  • 最大连接数400
  • 时区Asia/Shanghai
  • 白名单172.17.0.0/16VPC网段

数据库配置

  • 数据库名ai_clinical_research
  • 用户名airesearch
  • 密码Xibahe@fengzhibo117
  • 字符集UTF8
  • 排序规则en_US.utf8

连接字符串

postgresql://airesearch:Xibahe%40fengzhibo117@pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432/ai_clinical_research

⚠️ 注意:密码中的 @ 需要URL编码为 %40

数据库环境2026-01-27更新

数据库 环境 Schema数量 表数量 插件 用途
ai_clinical_research_test 测试环境(当前) 16 86 pg_bigm, pgvector SAE测试环境26个迁移已应用
ai_clinical_research 生产环境(备用) 11 ~34 pg_bigm, pgvector 未来正式上线

Schema架构16个业务Schema - 测试数据库):

Schema名称 功能模块 表数量 说明
platform_schema 平台核心 19 用户、权限、任务队列pg-boss
aia_schema AI智能问答 3 AI项目、对话、消息
asl_schema 系统文献筛查 7 项目、文献、筛查记录
pkb_schema 个人知识库 5 知识库、文档、批处理
dc_schema 数据清洗 6 工具A/B/C数据处理
iit_schema IIT Manager Agent 22 IIT项目管理、QC质控引擎、审计日志
agent_schema Agent框架 6 Agent定义、会话、追踪
ekb_schema 企业知识库 3 知识库、文档、向量
capability_schema 通用能力 2 Prompt模板、版本
protocol_schema 方案设计 2 研究方案生成
admin_schema 系统管理 2 操作日志
rvw_schema 文献回顾 1 审查任务
ssa_schema 智能统计分析 11 工作流、分析结果、报告生成
st_schema 统计工具 0 预留
common_schema 公共模块 0 预留
public 兼容旧数据 2 旧表兼容

2.4 SAE Serverless应用

命名空间

  • 命名空间IDcn-beijing:test-airesearch
  • 地域华北2北京

已部署应用列表

应用名称 状态 规格 实例数 端口 内网地址 镜像版本
r-statistics-test 运行中 1核2GB 1 8080 http://172.17.197.26:8080 v1.0.5
python-extraction-test 运行中 2核4GB 1 8000 http://172.17.173.102:8000 v1.2
nodejs-backend-test 运行中 2核4GB 1 3001 http://172.17.197.30:3001 v2.12
frontend-nginx-service 运行中 0.5核1GB 1 80 http://172.17.197.31:80 v2.9

环境变量配置

Node.js后端nodejs-backend-test

NODE_ENV=production
PORT=3001
DATABASE_URL=postgresql://airesearch:Xibahe%40fengzhibo117@pgm-2zex1m2y3r23hdn5.pg.rds.aliyuncs.com:5432/ai_clinical_research_test?connection_limit=18&pool_timeout=10

# Python微服务地址
EXTRACTION_SERVICE_URL=http://172.17.173.102:8000

# R统计引擎地址
R_SERVICE_URL=http://172.17.197.26:8080

# OSS配置
OSS_ACCESS_KEY_ID=LTAI5tB2Dt3NdvBL3G7nYGv7
OSS_ACCESS_KEY_SECRET=1iSN9k39RkApP93QjUhC1DcPIeMG4V
OSS_BUCKET=ai-clinical-research
OSS_ENDPOINT=oss-cn-beijing-internal.aliyuncs.com
OSS_REGION=cn-beijing
STORAGE_TYPE=oss

# JWT密钥
JWT_SECRET=8a3f9e7c2d1b5a4e6f8c9d0a3b5e7f1c2a4b6c8d0e2f4a6b8c0d2e4f6a8b0c2d4
JWT_EXPIRES_IN=7d

# LLM API Keys
DEEPSEEK_API_KEY=sk-7f8cc37a79fa4799860b38fc7ba2e150
DASHSCOPE_API_KEY=sk-75b4ff29a14a49e79667a331034f3298

# CloseAI配置
CLOSEAI_API_KEY=sk-cu0iepbXYGGx2jc7BqP6ogtSWmP6fk918qV3RUdtGC3Ed1po
CLOSEAI_OPENAI_BASE_URL=https://api.openai-proxy.org/v1
CLOSEAI_CLAUDE_BASE_URL=https://api.openai-proxy.org/anthropic

# Deep Research
UNIFUNCS_API_KEY=sk-2fNwqUH7...

# MinerU PDF提取
MINERU_API_BASE=https://mineru.net/api/v4

# Postgres-Only架构
QUEUE_TYPE=pgboss
CACHE_TYPE=postgres

# 企业微信配置
WECHAT_CORP_ID=ww6ab493470ab4f377
WECHAT_AGENT_ID=1000002
WECHAT_CORP_SECRET=AZIVxMtoLb0rEszXS81e4dBRl-I9kgTjygIS0cFfENU

# 旧系统 MySQL 连接Legacy Bridge
LEGACY_MYSQL_HOST=8.154.22.149
LEGACY_MYSQL_PORT=3306
LEGACY_MYSQL_USER=root
LEGACY_MYSQL_DATABASE=xzyx_online

前端Nginxfrontend-nginx-service

BACKEND_SERVICE_HOST=172.17.197.30
BACKEND_SERVICE_PORT=3001

Python微服务python-extraction-test

LOG_LEVEL=INFO
TEMP_DIR=/tmp/extraction_service

2.5 OSS对象存储

Bucket信息

  • Bucket名称ai-clinical-research
  • 地域华北2北京
  • 存储类型:标准存储
  • 访问控制:私有
  • 存储冗余类型:同城冗余存储
  • 内网Endpointoss-cn-beijing-internal.aliyuncs.com
  • 公网Endpointoss-cn-beijing.aliyuncs.com
  • Bucket域名内网ai-clinical-research.oss-cn-beijing-internal.aliyuncs.com
  • 创建时间2025-12-16 20:22

RAM用户访问凭证

  • RAM用户名oss-bucket-put-object@1991407246109125.onaliyun.com
  • AccessKeyIdLTAI5tB2Dt3NdvBL3G7nYGv7
  • AccessKeySecret1iSN9k39RkApP93QjUhC1DcPIeMG4V
  • UID203256565888301026
  • 创建时间2025-12-16 20:31:41

⚠️ 安全警告AccessKey是敏感信息请勿提交到公开Git仓库

存储用途

  • /uploads/pdfs/ - PDF文件上传
  • /uploads/docx/ - Word文档上传
  • /uploads/txt/ - 文本文件上传
  • /exports/ - 导出文件临时存储

2.6 CLB负载均衡器

公网访问地址

  • 公网IP8.140.53.236
  • 访问地址http://8.140.53.236/
  • 域名绑定https://iit.xunzhengyixue.com/(已备案)
  • 后端服务器172.17.173.80:80前端Nginx
  • 监听端口80HTTP

📦 三、已部署服务详情

3.1 PostgreSQL数据库

  • 部署时间2025-12-24
  • 部署方式pg_dump 全量导出 → RDS导入
  • 数据迁移时长约12秒90MB SQL文件
  • 验证状态 Schema完整、数据一致、关系正确
  • 备份文件AIclinicalresearch/rds_init_20251224_154529.sql90MB
  • RDS自动备份每日凌晨2点保留7天

3.2 前端Nginx服务

当前部署版本v2.9

镜像信息

  • 仓库名称ai-clinical_frontend-nginx
  • 镜像版本v2.9 (当前部署版本)
  • 镜像大小约50MB
  • 基础镜像nginx:alpine
  • 构建时间2026-03-16
  • 镜像摘要sha256:68ec5521b9322d3a99770f702ed604d5af58dfac7eaeb5e2bba763bd5dfe7a10

部署状态

  • 已成功部署到SAE2026-03-05
  • 服务运行正常(内网地址:http://172.17.197.31:80
  • 企业微信域名验证文件已部署WW_verify_YnhsQBwI0ARnNoG0.txt

v2.5版本更新内容

  • 前端 bug 修复和 UI 优化基于测试反馈0305 三次迭代)
  • ⚠️ 部署后内网地址变更172.17.173.105 → 172.17.173.107

Git文件结构

AIclinicalresearch/frontend-v2/
├── Dockerfile              ✅ 已提交Git多阶段构建
├── .dockerignore          ✅ 已提交Git优化构建上下文
├── nginx.conf             ✅ 已提交GitNginx配置
├── docker-entrypoint.sh   ✅ 已提交Git启动脚本Unix换行符
└── public/
    └── WW_verify_YnhsQBwI0ARnNoG0.txt  ✅ 企业微信域名验证文件

3.3 Node.js后端服务

当前部署版本v2.12

镜像信息

  • 仓库名称backend-service
  • 镜像版本v2.12 (已部署)
  • 镜像大小~838MB
  • 基础镜像node:alpine
  • 构建时间2026-03-16
  • 构建策略改进版方案B本地编译+Docker打包
  • 镜像摘要sha256:2a0730dc1b54f82450a1b11881572430918621eef310c6647f55e7225b9c027d

技术架构

  • Node.js版本22.x
  • Prisma版本6.17.0
  • ORMPrisma支持多Schema
  • Web框架Fastify
  • 队列系统pg-bossPostgres-Only架构
  • 缓存系统PostgreSQL替代Redis

部署状态

Git文件结构

AIclinicalresearch/backend/
├── Dockerfile             ✅ 已提交Git改进版方案B本地编译+Docker打包
├── .dockerignore         ✅ 已提交Git优化构建上下文
├── prisma/schema.prisma  ✅ 已同步RDS32个模型+30+关系字段)
└── tsconfig.json         ✅ 已优化(排除测试文件)

3.4 Python微服务

当前部署版本v1.2

镜像信息

  • 仓库名称python-extraction
  • 镜像版本v1.2 (已部署)
  • 镜像大小~1.1GB
  • 基础镜像python:3-slim
  • 构建时间2026-02-27

功能模块

  • PDF文本提取PyMuPDF
  • Docx文档提取Mammoth + python-docx
  • 数据清洗DC工具pandas / numpy / polars
  • 语言检测langdetect
  • 数据取证RVW V2.0scipyT检验、卡方检验逆向计算

部署状态

  • 已部署到SAE2026-02-27
  • 应用运行正常2个worker进程2核4GB
  • 内网访问地址:http://172.17.173.102:8000
  • 健康检查通过

Git文件结构

AIclinicalresearch/extraction_service/
├── Dockerfile              ✅ 已提交Git多阶段构建 + 阿里云源)
├── .dockerignore          ✅ 已提交Git优化构建上下文
└── requirements-prod.txt  ✅ 已提交Git精简依赖列表

🔄 四、部署历史记录

2026-03-160316部署 - RVW V4.0 全量发布 + JSON 稳态修复)

部署概览

  • 部署时间2026-03-16
  • 部署范围数据库DB-1~DB-4+ Node.js后端 + 前端Nginx + 镜像仓库更新
  • 主要变更RVW 租户化全链路上线、期刊配置中心 MVP、JSON 解析稳态增强、中英稿约语言任务级选择

数据库更新

  • 迁移执行:20260311_add_ssa_agent_step_seed_fields
  • 迁移执行:20260314_add_tenant_rvw_configs
  • 迁移执行:20260314_add_tenant_id_to_review_tasks
  • 迁移执行:20260315_journal_config_center_mvp
  • 迁移状态RDS 30/30Schema Up To Date

Node.js后端更新v2.11 → v2.12

  • 镜像推送:backend-service:v2.12
  • 内网地址变更:172.17.197.29172.17.197.30
  • 线上问题修复:稿约规范性 + 方法学 JSON 解析稳态加固BE-10

前端Nginx更新v2.8 → v2.9

  • 镜像推送:ai-clinical_frontend-nginx:v2.9
  • 内网地址变更:172.17.173.114172.17.197.31
  • 新增任务级“稿约基线语言(中文/英文”选择FE-9

环境变量同步

  • nodejs-backend-testRVW_FORENSICS_RULES_ENABLED=false
  • frontend-nginx-serviceBACKEND_SERVICE_HOST=172.17.197.30

2026-03-100310部署 - 用户直授权限体系 + 运营看板增强)

部署概览

  • 部署时间2026-03-10
  • 部署范围数据库迁移1项+ 数据 seed1项+ Node.js后端 + 前端Nginx
  • 主要变更用户直授权限、运营埋点与看板增强、AIA附件格式优化、RVW执行链路提速

数据库更新

  • 迁移执行:20260309_add_user_permissions_table
  • Seed 执行:ops:user-ops 权限写入 platform_schema.permissions
  • 迁移状态RDS 26/26Schema Up To Date

Node.js后端更新v2.10 → v2.11

  • 镜像推送:backend-service:v2.11
  • 内网地址变更:172.17.173.109172.17.173.110

前端Nginx更新v2.7 → v2.8

  • 镜像推送:ai-clinical_frontend-nginx:v2.8
  • 内网地址变更:172.17.197.27172.17.197.28
  • 环境变量同步:BACKEND_SERVICE_HOST=172.17.173.110

2026-03-090309二次部署 - DB补迁移 + R修复 + 后端/前端升级)

部署概览

  • 部署时间2026-03-09第二轮
  • 部署范围数据库迁移1项 + R统计引擎 + Node.js后端 + 前端Nginx
  • 主要变更AIA 附件持久化、R 包诊断与错误映射修复、SSE 稳定性与用户友好重试

数据库变更1项

  • 应用迁移:20260309_add_aia_attachments_persistence
  • 迁移状态RDS 25/25Schema Up To Date
  • 备份文件:backup_before_be_fe_deploy_20260309.dump(约 47.99MB

R统计引擎更新v1.0.2 → v1.0.5

  • 新增 /api/v1/debug/packages 运行时包诊断接口
  • 构建期关键包完整性校验(缺包即构建失败)
  • 修复错误映射占位符未替换与 %||% 操作符缺失
  • 内网地址变更:172.17.197.22172.17.197.26

Node.js后端更新v2.9 → v2.10

  • 部署 BE 变更SSE 头部修复、优雅停机、AIA 附件链路稳定性、缓存护栏、短信能力)
  • 内网地址变更:172.17.173.108172.17.173.109

前端Nginx更新v2.6 → v2.7

  • 部署 FE 变更Nginx SSE 兼容 + SSA 网络异常友好提示与自动重试)
  • 内网地址变更:172.17.197.23172.17.197.27

环境变量同步

  • nodejs-backend-testR_SERVICE_URL=http://172.17.197.26:8080
  • frontend-nginx-serviceBACKEND_SERVICE_HOST=172.17.173.109

2026-03-090309部署 - 数据库4迁移 + R/后端/前端全量更新)

部署概览

  • 部署时间2026-03-09
  • 部署范围数据库迁移4项 + 种子数据3项 + R统计引擎 + Node.js后端 + 前端Nginx
  • 主要变更RVW 4维评审 + SSA Agent 优化 + IIT 去重护栏 + 认证互踢强一致 + 全局心跳

数据库变更7项

  • DB-1modules 表 seed 新增 ASL_SR 模块
  • DB-2RVW Prompt 新增 DATA_VALIDATION + CLINICAL
  • DB-3ReviewTask 新增 error_details JSONB 字段
  • DB-4SSA execution_mode 默认改为 agent + 历史数据更新
  • DB-5SSA Agent Prompt 种子数据PLANNER + CODER
  • DB-6IIT eQuery open 去重护栏 + 唯一索引
  • DB-7users 表新增 token_version 列(单账号互踢强一致)

R统计引擎更新v1.0.1 → v1.0.2

  • 新增 /api/v1/execute-code 端点 + 结构化错误处理 + AST 语法预检
  • 镜像推送:ssa-r-statistics:v1.0.2
  • 内网地址变更:172.17.173.101172.17.197.22

Node.js后端更新v2.8 → v2.9

  • 13 项变更Deep Research V2 + ASL_SR 中间件 + RVW 4维评审 + SSA Agent 优化 + IIT 幂等 + 认证互踢
  • 镜像推送:backend-service:v2.9
  • 内网地址变更:172.17.173.106172.17.173.108

前端Nginx更新v2.5 → v2.6

  • 10 项变更ASL 手风琴导航 + Deep Research 历史 + RVW 4Tab + SSA Agent UI + 全局心跳互踢
  • 镜像推送:ai-clinical_frontend-nginx:v2.6
  • 内网地址变更:172.17.173.107172.17.197.23

环境变量同步

  • nodejs-backend-testR_SERVICE_URL 更新为 http://172.17.197.22:8080
  • frontend-nginx-serviceBACKEND_SERVICE_HOST 更新为 172.17.173.108
  • CLB 由阿里云自动更新,无需手动操作

文档产出

  • 0309部署/01-数据库部署完成总结.md(完整版)
  • 00-阿里云SAE最新真实状态记录.md(更新)
  • 03-待部署变更清单.md(清零移入历史)

2026-03-050305部署 - 登录踢人 + 权限体系升级 + SSA双通道 + UI优化

部署概览

  • 部署时间2026-03-05
  • 部署范围数据库数据更新1项 + Node.js后端 + 前端Nginx
  • 主要变更登录踢人机制、模块权限体系升级、SSA Agent双通道、前端UI精简

数据库数据更新1项

  • DB-1modules 表 seed 更新(新增 RM、AIA_PROTOCOLIIT→CRA质控
  • ⏭️ DB-2RVW Prompt 更新(用户指定不执行)
  • ⏭️ DB-3SSA 双通道表结构(待后续部署)

Node.js后端更新v2.4 → v2.6

  • 登录踢人机制同一手机号只能一人同时在线JWT tokenVersion
  • 模块权限一致性修复 + 校验放宽 + user_modules 独立生效
  • SSA 双通道架构Agent 模式 4 服务 + ChatHandler 分流
  • 批量导入用户增加 autoInheritModules + 模块校验
  • 镜像构建推送:backend-service:v2.6digest: sha256:17dc3b3b...
  • SAE部署成功内网地址变更172.17.197.32172.17.197.36

前端Nginx更新v2.0 → v2.3

  • ASL 模块 UI 精简 + 默认进入智能文献检索
  • AIA Protocol Agent 按权限动态显示 + 链接修正
  • 首页重定向到 /ai-qa + PKB 隐藏科室选择
  • 被踢出提示 + 运营端模块权限弹窗 + 批量导入重构
  • 镜像构建推送:ai-clinical_frontend-nginx:v2.3digest: sha256:db031053...
  • SAE部署成功内网地址变更172.17.197.32172.17.173.104

环境变量同步

  • frontend-nginx-serviceBACKEND_SERVICE_HOST 更新为 172.17.197.36
  • CLB 由阿里云自动更新,无需手动操作

二次热修部署(同日)

  • SSA 双通道数据库迁移ssa_sessions 新增 execution_mode + ssa_agent_executions 表
  • 前端/后端 bug 修复(基于测试反馈)
  • 后端 v2.6 → v2.7 → v2.8,前端 v2.3 → v2.4 → v2.5
  • 后端内网地址最终:172.17.173.106
  • 前端内网地址最终:172.17.173.107

文档产出

  • 0305部署/01-部署完成总结.md
  • 00-阿里云SAE最新真实状态记录.md(更新)
  • 01-日常更新操作手册.md(更新)
  • 03-待部署变更清单.md(清零移入历史)

2026-03-020302部署 - 数据库迁移6个 + IIT V3.1 QC引擎全面升级

部署概览

  • 部署时间2026-03-02
  • 部署范围数据库迁移6个 + Node.js后端 + 前端Nginx 全量更新
  • 主要变更IIT V3.1 QC引擎架构全面升级、GCP报表、D1-D7七维分类体系

数据库迁移6个

  • SSA 表类型精度对齐 + 清理重复 FK
  • Phase 2: user_mappings/projects RBAC + UserRole 加 IIT_OPERATOR
  • IIT projects 加 is_demo 标记
  • 新建 qc_field_status 五级坐标表 + qc_logs/equery 加 instance_id
  • 新建 qc_event_status 事件聚合表 + record_summary 加 13 列
  • qc_project_stats 加健康度评分 9 列
  • RDS 表数量84 → 86(新增 qc_field_status、qc_event_status
  • 本地 vs RDS 模式对比iit_schema + ssa_schema 442 列完全一致

Node.js后端更新v2.3 → v2.4

  • IIT V3.1 QC 引擎QcExecutor / QcAggregator / CompletenessEngine / ProtocolDeviationEngine / HealthScoreEngine
  • D1-D7 七维分类体系 + 五级坐标标准化
  • GCP 报表 APID1 筛选入选 / D2 完整性 / D3D4 eQuery 生命周期 / D6 方案偏离
  • 项目级 cronExpression 调度器重构
  • 镜像构建推送:backend-service:v2.4digest: sha256:7848b1b5...
  • SAE部署成功内网地址变更172.17.197.30172.17.197.32

前端Nginx更新v1.9 → v2.0

  • Dashboard 健康度评分 + D1-D7 维度条 + 热力图 record×event 矩阵
  • GCP 报表重构为 5 Tab执行摘要 + D1/D2/D3D4/D6
  • 新增 GCP 组件EligibilityTable / CompletenessTable / EqueryLogTable / DeviationLogTable
  • 管理端 QcDetailDrawer / RiskHeatmap / 方案偏离弹窗升级
  • 镜像构建推送:ai-clinical_frontend-nginx:v2.0digest: sha256:ad24ccde...
  • SAE部署成功内网地址变更172.17.197.31172.17.197.32

环境变量同步

  • frontend-nginx-serviceBACKEND_SERVICE_HOST 更新为 172.17.197.32
  • CLB 由阿里云自动更新,无需手动操作

文档产出

  • 0302部署/01-部署完成总结.md
  • 00-阿里云SAE最新真实状态记录.md(更新)
  • 01-日常更新操作手册.md(更新)
  • 03-待部署变更清单.md(清零移入历史)

2026-02-280228部署 - Node.js后端 + 前端更新 - 旧系统集成上线)

部署概览

  • 部署时间2026-02-28
  • 部署范围Node.js后端 + 前端Nginx 更新
  • 主要变更旧系统集成Wrapper Bridge上线、ASL图表/Meta分析、IIT AI对话页等

Node.js后端更新v2.2 → v2.3

  • 新增模块Legacy Bridge旧系统集成认证服务
  • 新增依赖:mysql2连接旧系统MySQL
  • 新增环境变量:LEGACY_MYSQL_HOSTLEGACY_MYSQL_PORTLEGACY_MYSQL_USERLEGACY_MYSQL_DATABASE
  • 新增 APIPOST /api/v1/legacy/auth旧系统Token注入
  • 镜像构建推送:backend-service:v2.3digest: sha256:6e25d13c...
  • SAE部署成功内网地址变更172.17.197.28172.17.197.30

前端Nginx更新v1.8 → v1.9

  • 新增模块Legacy System iframe嵌入研究管理 + 统计工具)
  • 新增组件:LegacySystemPageResearchManagementStatisticalTools
  • 镜像构建推送:ai-clinical_frontend-nginx:v1.9digest: sha256:ff3c1915...
  • SAE部署成功内网地址变更172.17.197.29172.17.197.31

环境变量同步

  • frontend-nginx-serviceBACKEND_SERVICE_HOST 更新为 172.17.197.30
  • CLB 由阿里云自动更新,无需手动操作

文档产出

  • 0228部署/01-部署完成总结.md
  • 00-阿里云SAE最新真实状态记录.md(更新)

2026-02-270227部署 - 数据库迁移 + R统计引擎 + Python更新

部署概览

  • 部署时间2026-02-27
  • 部署范围数据库Schema迁移、R统计引擎全新部署、Python微服务更新
  • 主要变更6个Prisma迁移含1个drift补丁、新增R Docker服务、Python新增scipy

数据库迁移

  • 应用 5 个业务迁移 + 1 个drift补丁迁移
  • RDS 表数量从 63 增至 84新增 21 张表)
  • 同步 Seed 数据SSA工具库 13条 + IIT技能库 8条
  • 已有数据完整性验证通过Prompt模板、用户数据零丢失

R统计引擎全新部署

  • 镜像构建并推送:ssa-r-statistics:v1.0.1~1.8GB
  • SAE应用创建r-statistics-test1核2GB
  • 内网地址:http://172.17.173.101:8080
  • 内置 13 个统计工具描述统计、T检验、卡方检验、回归、Meta分析等
  • 健康检查配置完成HTTP /health

Python微服务更新v1.1 → v1.2

  • 新增依赖scipyRVW V2.0 数据取证)
  • 新增代码forensics 数据取证模块
  • 实例规格升级1核2GB → 2核4GB
  • 内网地址变更:172.17.173.84172.17.173.102

文档产出

  • 0227部署/01-数据库迁移方案.md
  • 0227部署/02-部署完成总结.md
  • 00-阿里云SAE最新真实状态记录.md(更新)

2026-01-270126部署 - 数据库升级 + 全量服务更新)🎉

部署概览

  • 部署时间2026-01-26 ~ 2026-01-27跨2天
  • 部署范围数据库、Python、后端、前端全量更新
  • 主要变更数据库插件、环境分离、代码恢复、ES Module修复

数据库升级

  • 创建测试数据库 ai_clinical_research_test
  • 安装 pg_bigm 插件v1.2,中文全文检索)
  • 安装 pgvector 插件v0.8.0,向量存储)
  • 本地数据库迁移到RDS17.51MB63个表16个Schema
  • Prisma Schema同步63个模型
  • 两个数据库都安装插件

Python微服务更新v1.0 → v1.1

  • 新增依赖pymupdf4llm替代nougat、openpyxl、pypandoc、python-pptx
  • Dockerfile添加pandoc系统依赖
  • SAE部署成功新IP172.17.173.84

Node.js后端更新v1.3 → v1.7

  • 修复pino-pretty生产环境错误条件加载
  • 修复ES Module导入路径添加.js扩展名
  • 环境变量更新DATABASE_URL、EXTRACTION_SERVICE_URL、OSS配置
  • 移除废弃变量REDIS_URL、DIFY_API_URL、DIFY_API_KEY
  • SAE部署成功新IP172.17.173.89

前端Nginx更新v1.2 → v1.3

  • 修复Dockerfile构建跳过TypeScript类型检查
  • 代码恢复(从本地备份恢复空文件)
  • 环境变量更新BACKEND_SERVICE_HOST
  • SAE部署成功新IP172.17.173.90

解决的关键问题

  1. 大量空文件恢复(前端/后端)
  2. Prisma Schema与数据库不一致
  3. pino-pretty在生产环境失败
  4. ES Module导入路径缺少.js扩展名
  5. TypeScript类型检查阻塞构建

文档产出

  • 部署总体计划
  • 数据库升级方案
  • OSS环境配置方案
  • Python/后端/前端部署方案
  • IIT回调地址修复方案
  • 0126部署状态真实记录
  • 数据库开发规范v2.0

部署成果

  • 🎉 数据库成功分离测试/生产环境
  • 🎉 全量服务更新至最新代码
  • 🎉 所有关键Bug已修复
  • 🎉 完整部署文档体系建立

2026-01-01前端v1.2部署 - 企业微信域名验证)

部署背景

  • 目的:为企业微信接入配置可信域名,需要在前端根目录部署域名验证文件
  • 域名https://iit.xunzhengyixue.com/
  • 验证文件WW_verify_YnhsQBwI0ARnNoG0.txt

部署过程与问题修复

  1. 问题发现前端v1.1部署失败,容器启动后立即退出

    • 现象SAE日志为空容器状态显示"崩溃或退出"
    • 错误:exec /docker-entrypoint.sh: no such file or directory
  2. 根本原因分析

    • 🔍 docker-entrypoint.sh 使用了Windows换行符CRLF \r\n
    • 🔍 Linux容器的bash解释器无法识别CRLF格式的脚本
    • 🔍 这是一个典型的跨平台开发问题
  3. 解决方案

    • docker-entrypoint.sh 转换为Unix换行符LF \n
    • 使用PowerShell命令批量转换
    • 本地Docker测试验证通过
  4. 镜像构建与推送

    • 重新构建镜像标记为v1.223.7秒)
    • 推送到ACR成功digest: 1b444d3d...
    • 镜像包含企业微信验证文件
  5. SAE部署成功

    • 部署镜像版本v1.2
    • 环境变量配置:BACKEND_SERVICE_HOST=172.17.197.30, BACKEND_SERVICE_PORT=3001
    • 容器启动正常,健康检查通过
    • 新内网地址:http://172.17.173.80:80
    • ⚠️ IP地址变化172.17.173.72 → 172.17.173.80

技术要点总结

  1. Windows换行符问题

    • 原因Git在Windows上默认转换为CRLF
    • 解决:使用 .gitattributes 或手动转换
    • 验证:(Get-Content file -Raw) -match "\r`n"`
  2. 容器调试技巧

    • 本地测试:docker run --rm -e KEY=VALUE image:tag
    • 查看日志:docker logs container_name
    • 进入容器:docker exec -it container sh
  3. SAE部署最佳实践

    • 环境变量必须配置完整
    • 本地先验证镜像可正常运行
    • 部署后IP可能变化需要更新依赖服务的配置

部署结果

  • 前端服务v1.2部署成功
  • 企业微信验证文件可访问
  • 系统整体运行正常
  • ⚠️ 需要注意:内网地址已更新,依赖前端的服务需要调整配置

2025-12-25完整部署成功日🎉

上午Node.js后端部署

  • Node.js后端成功部署到SAEv1.3
  • 修复Alpine Linux bash路径问题/bin/bash → /bin/sh
  • 修复config目录缺失问题Dockerfile补充COPY config
  • 修复pino-pretty生产环境问题条件启用
  • 修复healthCheck ES Module兼容性require → import
  • 生成强JWT密钥64位十六进制

中午前端Nginx部署

  • 前端Nginx成功部署到SAEv1.0
  • 前端服务运行正常(内网地址:http://172.17.173.72:80
  • 前端到后端代理验证通过
  • 完整链路测试通过(前端→后端→数据库)

下午环境变量修复与CLB配置

  • 发现工具C的7大功能报错connect ECONNREFUSED 127.0.0.1:8000
  • 排查并修复关键问题:环境变量名错误
    • 代码使用:EXTRACTION_SERVICE_URL
    • 错误配置:PYTHON_SERVICE_URL
    • 正确配置:EXTRACTION_SERVICE_URL=http://172.17.173.66:8000
  • Node.js后端重新部署IP地址更新为http://172.17.173.73:3001
  • 更新前端Nginx环境变量BACKEND_SERVICE_HOST=172.17.197.30
  • 配置CLB负载均衡器获得公网访问地址http://8.140.53.236/
  • 工具C的7大功能全部测试通过
  • 文献筛查模块测试通过
  • 完整系统部署成功验证 🎉

2025-12-24初始部署

  • PostgreSQL数据库部署完成
  • 前端Nginx Docker镜像构建并推送至ACR
  • Python微服务Docker镜像构建并推送至ACR
  • Python微服务成功部署到SAE内网地址172.17.173.66:8000
  • 解决ACR镜像拉取权限问题配置镜像仓库认证
  • Node.js后端Prisma反向同步完成32个模型手动补全30+关系字段)
  • Node.js后端TypeScript编译修复完成修复200+错误→0错误
  • Node.js后端Docker镜像构建成功838MB改进版方案B
  • Node.js后端镜像推送至ACRv1.0

提示本文档记录SAE服务器的最新真实状态每次部署后必须更新
最后更新2026-03-16
当前版本前端v2.9 | 后端v2.12 | Python v1.2 | R统计v1.0.5 | PostgreSQL 15