4.1 KiB
4.1 KiB
图谱生产数据库手工变更清单
本清单只记录资金流图谱涉及的生产数据库表结构和数据准备事项。该部分由人工在生产库手动执行,不随应用发布自动执行,也不要求测试环境自动更新。
1. DDL 脚本
生产建表脚本:
sql/ccdi/graph/01_lx_fund_graph_mysql_ddl.sql
当前减法版创建五张资金流图谱必要表:
lx_fund_flow_subject_nodelx_fund_flow_account_nodelx_fund_flow_own_account_edgelx_fund_flow_detail_edgelx_fund_flow_manual_edge
不创建、不依赖 lx_fund_flow_sum_edge。资金图谱页面由后端基于 lx_fund_flow_detail_edge.trx_date 按当前查询条件实时聚合真实资金边,手工资金流向汇总边单独存入 lx_fund_flow_manual_edge。
2. 生产执行边界
- 生产库 DDL 由人工手动执行。
- 应用发布包不自动执行 DDL。
- 测试环境不会自动同步这些变更。
- 代码库保留 SQL 文件,只作为生产执行、评审和本地验证依据。
- 后端开发默认目标库中上述
lx_*表已存在。
3. ODPS 基座同步
生产建表后,先从 ODPS 同步已验证的资金流图谱基座到 MySQL。
同步来源:
- ODPS 中原图谱 SQL 产出的
lx_fund_flow_subject_node - ODPS 中原图谱 SQL 产出的
lx_fund_flow_account_node - ODPS 中原图谱 SQL 产出的
lx_fund_flow_own_account_edge - ODPS 中原图谱 SQL 产出的
lx_fund_flow_detail_edge
同步原则:
- ODPS 基座是已验证数据,作为 MySQL 图谱基座保留。
- 同步时建议使用显式字段列表,不依赖
select *。 - MySQL 侧新增字段允许为空。
lx_fund_flow_sum_edge不作为纪检资金图谱页面必要表,可不从 ODPS 同步。lx_fund_flow_manual_edge不从 ODPS 同步,生产建表后初始为空,由纪检平台手工分析功能写入。
4. 后续增量
ODPS 基座同步后,后续新增流水在纪检 MySQL 内处理。
增量来源:
ccdi_bank_statement
增量原则:
- 先标准化候选流水。
- 再和既有
lx_fund_flow_detail_edge做一致性判重。 - 已存在一致流水,不同步进图谱。
- 不存在一致流水,才增量插入主体点、账户点、持有边、明细边。
- 不维护汇总表;页面查询时实时聚合。
5. 调度建议
一期建议采用每日定时任务,不建议一开始做实时。
推荐方式:
- RuoYi/Quartz 定时任务。
- 每日低峰期执行。
- 保留手动触发能力,用于补跑、排查和修复。
6. 前后端依赖
前后端开发依赖上述 MySQL 图谱表的查询结果。
- 前端不直接访问数据库。
- 后端接口读取
lx_*表。 - 页面入口放在项目详情的“专项排查”页签。
- 资金流图谱中真实资金边基于
lx_fund_flow_detail_edge实时聚合。 - 手工资金边来自
lx_fund_flow_manual_edge,属于主体级汇总边,只存from_object_key、to_object_key,不存冗余from_key、to_key;图谱展示时由后端临时拼出idno_node/{object_key},不提供逐笔流水下钻。 - 查询按全局
cret_no、姓名或节点object_key,不按project_id过滤。
7. 性能和索引口径
一期资金图谱默认只查一个中心主体的一层资金边,并设置 minTotalAmount = 1000、limit = 20,不会默认拉全量毛刺边。
生产索引重点:
lx_fund_flow_subject_node:PRIMARY KEY(object_key)、idx_lx_fund_flow_subject_idnocfno(idnocfno)、idx_lx_fund_flow_subject_name(name)。lx_fund_flow_own_account_edge:idx_lx_fund_flow_own_from_key(from_key)、idx_lx_fund_flow_own_to_key(to_key)。lx_fund_flow_detail_edge:idx_lx_fund_flow_detail_from_date(from_key, trx_date)、idx_lx_fund_flow_detail_to_date(to_key, trx_date)、idx_lx_fund_flow_detail_from_to(from_key, to_key)。lx_fund_flow_manual_edge:idx_lx_fund_flow_manual_from(from_object_key)、idx_lx_fund_flow_manual_to(to_object_key)、idx_lx_fund_flow_manual_pair_direction(from_object_key, to_object_key, direction)。
如果后续单个主体关联流水达到几十万级,再考虑增加主体级冗余字段或月度汇总表;一期不建 sum_edge。