Files
K12Study/docs/architecture/数据流图(多角色).drawio

206 lines
21 KiB
Plaintext
Raw Normal View History

2026-04-16 15:46:29 +08:00
<mxfile host="65bd71144e">
<diagram id="multi-role-flow-ai" name="数据流图(多角色)">
2026-04-17 16:31:32 +08:00
<mxGraphModel dx="1303" dy="773" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="2800" pageHeight="1800" math="0" shadow="0">
2026-04-16 15:46:29 +08:00
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="2" value="多角色数据流图AI逻辑完整版" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=24;fontStyle=1;" parent="1" vertex="1">
<mxGeometry x="30" y="20" width="460" height="30" as="geometry"/>
</mxCell>
<mxCell id="3" value="入口:微信小程序/React 后台主链路Java服务编排 -&gt; Python AI子服务OCR/LLM/ASR -&gt; PostgreSQL/Redis/对象存储/Milvus/NebulaGraph(Neo4j);同步调度支持 REST/JAR" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=13;fontColor=#666666;" parent="1" vertex="1">
<mxGeometry x="30" y="52" width="1850" height="24" as="geometry"/>
</mxCell>
2026-04-17 16:31:32 +08:00
<mxCell id="4" value="角色区" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#d0d0d0;dashed=1;align=left;verticalAlign=top;spacingLeft=8;spacingTop=6;fontSize=12;fontColor=#666666;" parent="1" vertex="1">
2026-04-16 15:46:29 +08:00
<mxGeometry x="20" y="120" width="220" height="620" as="geometry"/>
</mxCell>
2026-04-17 16:31:32 +08:00
<mxCell id="5" value="业务流程区" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#edf4ff;strokeColor=#c0d7f2;dashed=1;align=left;verticalAlign=top;spacingLeft=8;spacingTop=6;fontSize=12;fontColor=#4a6b8a;" parent="1" vertex="1">
<mxGeometry x="70" y="100" width="790" height="1070" as="geometry"/>
2026-04-16 15:46:29 +08:00
</mxCell>
2026-04-17 16:31:32 +08:00
<mxCell id="6" value="AI 服务区" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff7e6;strokeColor=#e9cf9a;dashed=1;align=left;verticalAlign=top;spacingLeft=8;spacingTop=6;fontSize=12;fontColor=#8a6d3b;" parent="1" vertex="1">
2026-04-16 15:46:29 +08:00
<mxGeometry x="860" y="240" width="420" height="860" as="geometry"/>
</mxCell>
2026-04-17 16:31:32 +08:00
<mxCell id="7" value="数据存储区" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f7f7f7;strokeColor=#cfcfcf;dashed=1;align=left;verticalAlign=top;spacingLeft=8;spacingTop=6;fontSize=12;fontColor=#666666;" parent="1" vertex="1">
2026-04-16 15:46:29 +08:00
<mxGeometry x="1340" y="90" width="370" height="1480" as="geometry"/>
</mxCell>
<mxCell id="10" value="学生" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontSize=15;fontStyle=1;" parent="1" vertex="1">
<mxGeometry x="45" y="150" width="160" height="70" as="geometry"/>
</mxCell>
<mxCell id="11" value="教师" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontSize=15;fontStyle=1;" parent="1" vertex="1">
<mxGeometry x="45" y="350" width="160" height="70" as="geometry"/>
</mxCell>
<mxCell id="12" value="机构管理员" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#666666;fontSize=15;fontStyle=1;" parent="1" vertex="1">
<mxGeometry x="45" y="550" width="160" height="70" as="geometry"/>
</mxCell>
<mxCell id="20" value="P1 接入与鉴权&#xa;Gateway + Auth + RBAC" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=13;" parent="1" vertex="1">
<mxGeometry x="320" y="130" width="280" height="84" as="geometry"/>
</mxCell>
<mxCell id="21" value="P2 作业/资料管理&#xa;布置、上传、提交、附件引用" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=13;" parent="1" vertex="1">
<mxGeometry x="320" y="280" width="280" height="84" as="geometry"/>
</mxCell>
<mxCell id="22" value="P3 批改编排服务&#xa;触发AI子流程、汇总得分/错因" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=13;" parent="1" vertex="1">
<mxGeometry x="320" y="430" width="280" height="84" as="geometry"/>
</mxCell>
<mxCell id="23" value="P4 错题本与艾宾浩斯复习&#xa;错题沉淀、复习节点评估" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=13;" parent="1" vertex="1">
<mxGeometry x="120" y="600" width="280" height="84" as="geometry"/>
</mxCell>
<mxCell id="24" value="P5 推荐与消息触达&#xa;推荐任务、反馈回流、站内信" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=13;" parent="1" vertex="1">
<mxGeometry x="120" y="780" width="280" height="84" as="geometry"/>
</mxCell>
<mxCell id="25" value="P6 费曼讲解评估与教学干预&#xa;语音讲解评估、教师点评、学情回传" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=13;" parent="1" vertex="1">
<mxGeometry x="540" y="600" width="280" height="84" as="geometry"/>
</mxCell>
<mxCell id="26" value="P7 画像与学习闭环引擎&#xa;画像快照、阶段事件、成就触发映射" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontSize=13;" parent="1" vertex="1">
<mxGeometry x="350" y="980" width="320" height="88" as="geometry"/>
</mxCell>
<mxCell id="40" value="AI-1 OCR解析服务&#xa;图片增强 / 版面解析 / 文本结构化" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;fontSize=13;" parent="1" vertex="1">
<mxGeometry x="900" y="280" width="320" height="84" as="geometry"/>
</mxCell>
<mxCell id="41" value="AI-2 LLM批改服务&#xa;客观判分 / 主观评估 / 错因标签" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;fontSize=13;" parent="1" vertex="1">
<mxGeometry x="900" y="430" width="320" height="84" as="geometry"/>
</mxCell>
<mxCell id="42" value="AI-3 讲解评测服务&#xa;ASR转写 / 表达评分 / 改进建议" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;fontSize=13;" parent="1" vertex="1">
<mxGeometry x="900" y="600" width="320" height="84" as="geometry"/>
</mxCell>
<mxCell id="43" value="AI-4 推荐策略服务&#xa;召回 / 排序 / 反馈学习" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;fontSize=13;" parent="1" vertex="1">
<mxGeometry x="900" y="780" width="320" height="84" as="geometry"/>
</mxCell>
<mxCell id="44" value="AI-5 模型与任务管理&#xa;model_config / task_log / retrieval_log&#xa;sync_scheduler_config / sync_dispatch_log" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;fontSize=13;" parent="1" vertex="1">
<mxGeometry x="900" y="980" width="320" height="84" as="geometry"/>
</mxCell>
<mxCell id="60" value="D1 PostgreSQL 用户/组织/班级库&#xa;upms/auth" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;fillColor=#f8f9fa;strokeColor=#666666;fontSize=12;" parent="1" vertex="1">
<mxGeometry x="1380" y="120" width="300" height="90" as="geometry"/>
</mxCell>
<mxCell id="61" value="D2 PostgreSQL question题目/作业库&#xa;question.hw_*" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;fillColor=#f8f9fa;strokeColor=#666666;fontSize=12;" parent="1" vertex="1">
<mxGeometry x="1380" y="260" width="300" height="90" as="geometry"/>
</mxCell>
<mxCell id="62" value="D3 PostgreSQL question批改/错题/复习库&#xa;question.gd_*含gd_review_stage_policy/gd_review_execution" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;fillColor=#f8f9fa;strokeColor=#666666;fontSize=12;" parent="1" vertex="1">
<mxGeometry x="1380" y="430" width="300" height="90" as="geometry"/>
</mxCell>
<mxCell id="63" value="D4 PostgreSQL 推荐/画像/闭环库&#xa;question.rc_*" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;fillColor=#f8f9fa;strokeColor=#666666;fontSize=12;" parent="1" vertex="1">
<mxGeometry x="1380" y="600" width="300" height="90" as="geometry"/>
</mxCell>
<mxCell id="64" value="D5 PostgreSQL 成就库&#xa;achievement激励=成就)" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;fillColor=#f8f9fa;strokeColor=#666666;fontSize=12;" parent="1" vertex="1">
<mxGeometry x="1380" y="770" width="300" height="90" as="geometry"/>
</mxCell>
<mxCell id="65" value="D6 Redis缓存层&#xa;会话/推荐缓存/未读计数" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;fillColor=#f8f9fa;strokeColor=#666666;fontSize=12;" parent="1" vertex="1">
<mxGeometry x="1380" y="940" width="300" height="90" as="geometry"/>
</mxCell>
<mxCell id="66" value="D7 对象存储&#xa;文件/课件/音频/附件" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;fillColor=#f8f9fa;strokeColor=#666666;fontSize=12;" parent="1" vertex="1">
<mxGeometry x="1380" y="1110" width="300" height="90" as="geometry"/>
</mxCell>
<mxCell id="67" value="D8 Milvus + NebulaGraph/Neo4j&#xa;向量检索 / 知识图谱 / 同步任务结果" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;fillColor=#f8f9fa;strokeColor=#666666;fontSize=12;" parent="1" vertex="1">
<mxGeometry x="1380" y="1280" width="300" height="90" as="geometry"/>
</mxCell>
<mxCell id="68" value="D9 站内信与审计BI&#xa;message / logs / reports" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;fillColor=#f8f9fa;strokeColor=#666666;fontSize=12;" parent="1" vertex="1">
<mxGeometry x="1380" y="1450" width="300" height="90" as="geometry"/>
</mxCell>
<mxCell id="80" value="登录/绑定" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#82b366;" parent="1" source="10" target="20" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="81" value="教学管理" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#6c8ebf;" parent="1" source="11" target="20" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="82" value="运营管控" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#b85450;" parent="1" source="12" target="20" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="83" value="作业/资料请求" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#6c8ebf;" parent="1" source="20" target="21" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="84" value="批改确认触发" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#6c8ebf;" parent="1" source="21" target="22" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="85" value="错题沉淀(艾宾浩斯)" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#6c8ebf;" parent="1" source="22" target="23" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="86" value="推荐触达" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#6c8ebf;" parent="1" source="23" target="24" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="87" value="费曼讲解(并行)" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#6c8ebf;" parent="1" source="22" target="25" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="88" value="画像闭环" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#6c8ebf;" parent="1" source="25" target="26" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="89" value="OCR请求" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#d6b656;" parent="1" source="22" target="40" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="90" value="LLM批改请求" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#d6b656;" parent="1" source="22" target="41" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="91" value="语音评测请求" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#d6b656;" parent="1" source="25" target="42" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="92" value="推荐排序请求" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#d6b656;" parent="1" source="24" target="43" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="93" value="任务记录/模型路由" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#d6b656;" parent="1" source="40" target="44" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="94" value="任务记录/模型路由" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#d6b656;" parent="1" source="41" target="44" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="95" value="任务记录/模型路由" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#d6b656;" parent="1" source="42" target="44" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="96" value="任务记录/模型路由" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#d6b656;" parent="1" source="43" target="44" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="100" value="用户/权限" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#666666;" parent="1" source="20" target="60" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
2026-04-17 16:31:32 +08:00
<mxCell id="101" value="作业/提交" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#666666;" parent="1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="580" y="322" as="sourcePoint"/>
<mxPoint x="1360" y="305" as="targetPoint"/>
</mxGeometry>
2026-04-16 15:46:29 +08:00
</mxCell>
<mxCell id="102" value="批改确认结果/错题/讲解" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#666666;" parent="1" source="22" target="62" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="103" value="错题/复习计划" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#666666;" parent="1" source="23" target="62" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="104" value="推荐任务/反馈" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#666666;" parent="1" source="24" target="63" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="105" value="成就进度/发放" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#666666;" parent="1" source="26" target="64" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="106" value="缓存读写" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#666666;" parent="1" source="24" target="65" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="107" value="文件/知识资产" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#666666;" parent="1" source="40" target="66" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="108" value="检索/图谱" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#666666;" parent="1" source="43" target="67" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="109" value="消息/审计报表" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#666666;" parent="1" source="24" target="68" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="110" value="AI日志/任务" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#666666;" parent="1" source="44" target="68" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="114" value="同步调度REST/JAR" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;dashed=1;endArrow=block;endFill=1;strokeColor=#666666;" parent="1" source="44" target="67" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="115" value="所有批改确认结果(含对/错)→画像更新/闭环事件" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;dashed=1;endArrow=block;endFill=1;strokeColor=#6c8ebf;" parent="1" source="22" target="26" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="116" value="画像快照/闭环事件更新" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#666666;" parent="1" source="26" target="63" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="111" value="结果回传" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#82b366;" parent="1" source="22" target="10" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="112" value="待复核/教学建议" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#6c8ebf;" parent="1" source="25" target="11" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="113" value="质量看板" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#b85450;" parent="1" source="26" target="12" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
2026-04-16 11:30:30 +08:00
</mxfile>