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

使用mermaid 语言绘画时序图和链路图

给大家展示一下效果,
官方地址:https://mermaid.nodejs.cn/
官方开发地:https://mermaid.nodejs.cn/intro/#google_vignette
在这里插入图片描述
在这里插入图片描述

graph LR%% ==================== 样式定义(完全保留) ====================classDef user fill:#E1F5FE,stroke:#0288D1;classDef app fill:#E8F5E9,stroke:#388E3C;classDef data fill:#F3E5F5,stroke:#8E24AA;classDef infra fill:#FFF3E0,stroke:#FB8C00;classDef biz fill:#FFEBEE,stroke:#E53935,dashed;classDef screen fill:#FCE4EC,stroke:#EC407A;classDef middleware fill:#DCE775,stroke:#AFB42B;classDef notification fill:#FF8A65,stroke:#E64A19;classDef external fill:#B39DDB,stroke:#5E35B1;%% ==================== 外部系统节点(完全保留) ====================xx数据库:::externalyy数据库:::external钉钉告警:::notification%% ==================== 数据采集源(完全保留) ====================subgraph 数据采集["多源数据采集"]MQ消费数据:::middlewareAPI接口服务:::app库间迁移工具:::middlewareend%% ==================== 用户层(完全保留) ====================subgraph 用户层["用户终端"]生产设备:::user微信小程序:::user监管工作台:::user消费者APP:::user企业录入终端:::userend%% ==================== 应用层(完全保留) ====================subgraph 应用层["应用服务"]SpringBoot核心服务:::app溯源码管理:::app数据治理服务:::app任务调度服务:::append%% ==================== 数据层修改点 ====================subgraph 数据层["数据服务"]subgraph 达梦集群["达梦集群"]达梦节点1:::data达梦节点2:::data达梦节点3:::dataend前置达梦数据库:::dataRedis缓存:::dataMinIO文件存储:::dataend%% ==================== 紫光云中间件(完全保留) ====================subgraph 中间件["紫光云中间件"]RocketMQ消息队列:::middlewareNginx负载均衡:::middlewareDolphinScheduler:::middlewareElasticsearch:::middlewareend%% ==================== 华为云基础设施(完全保留) ====================subgraph 基础设施["华为平台"]容器引擎:::infraDockerSwarm:::infraPrometheus监控:::infraGrafana看板:::infraend%% ==================== 可视化大屏(完全保留) ====================subgraph 可视化大屏["业务大屏"]总大屏ECharts:::screen经营大屏TS:::screen生产大屏3D:::screen监管大屏GIS:::screenend%% ==================== 核心业务流(完全保留) ====================企业录入终端 -->|原料数据| SpringBoot核心服务SpringBoot核心服务 -->|数据存储| 达梦节点1微信小程序 -->|扫码查询| 溯源码管理溯源码管理 -->|数据查询| SpringBoot核心服务监管工作台 -->|监管指令| 监管大屏GIS生产设备 -->|IoT数据| RocketMQ消息队列%% ==================== 多源数据入库修改点 ====================%% 1. MQ消费入库(保留)MQ消费数据 -->|消费消息| RocketMQ消息队列RocketMQ消息队列 -->|数据处理| 达梦节点1%% 2. API接口入库(保留)API接口服务 -->|接收数据| SpringBoot核心服务SpringBoot核心服务 -->|写入主库| 达梦节点2%% 3. 库间迁移入库(修改连线)莱斯数据库 -->|DataX迁移| 库间迁移工具美亚数据库 -->|Kettle迁移| 库间迁移工具库间迁移工具 -->|数据加载| 前置达梦数据库前置达梦数据库 -->|定时同步| 达梦节点3DolphinScheduler -->|调度DataX| 库间迁移工具DolphinScheduler -->|调度Kettle| 库间迁移工具%% ==================== 中间件服务连接(完全保留) ====================Nginx负载均衡 -->|请求分发| SpringBoot核心服务DolphinScheduler -->|任务调度| 数据治理服务Elasticsearch -->|索引查询| 溯源码管理SpringBoot核心服务 -->|缓存读取| Redis缓存SpringBoot核心服务 -->|消息发布| RocketMQ消息队列%% ==================== 监控告警连接(完全保留) ====================Prometheus监控 -->|指标采集| 容器引擎Grafana看板 -->|告警推送| 钉钉告警容器引擎 -->|容器监控| Prometheus监控%% ==================== 业务标注(完全保留) ====================subgraph 业务流["核心业务流程"]direction TBB1[企业录入]:::bizB2[生产溯源]:::bizB3[消费者扫码]:::bizB4[供应链可视化]:::bizB5[质量管控]:::bizB6[经营决策]:::bizB1 --> B2 --> B3 --> B4 --> B6B3 --> B5 --> B6end%% ==================== 业务技术映射(完全保留) ====================企业录入终端 -.-> B1SpringBoot核心服务 -.-> B2微信小程序 -.-> B3数据治理服务 -.-> B5经营大屏TS -.-> B6%% ==================== 国产化标注(完全保留) ====================style 基础设施 stroke:#E53935,stroke-width:2pxstyle 中间件 stroke:#E53935,stroke-width:2pxstyle 达梦集群 stroke:#E53935style 前置达梦数据库 stroke:#E53935%% ==================== 新增同步说明 ====================subgraph 同步说明[" "]direction TBS1["DataX每日00:30同步"]S2["Kettle每日01:00同步"]S3["前置库→达梦集群每日02:00同步"]end
sequenceDiagramtitle 食品安全溯源系统时序图%% 全局参与者定义box 用户层participant 消费者 as 消费者(微信小程序)participant 监管员 as 监管员(工作台)participant 企业员工 as 企业员工(Web终端)participant 供应商系统 as 供应商系统(API)endbox 应用服务层participant 溯源服务 as 溯源服务(SpringBoot)participant 数据治理 as 数据治理(海豚调度)participant 大屏服务 as 大屏服务(TS+ECharts)endbox 数据存储层participant 达梦DB as 达梦8(主集群)participant Redis as Redis(哨兵模式)participant MinIO as MinIO(对象存储)end%% ============== 场景1:双通道数据录入 ==============Note over 企业员工,供应商系统: 场景1:混合数据录入通道rect rgb(240,248,255)企业员工->>溯源服务: POST /api/batches溯源服务->>达梦DB: BEGIN TRANSACTION达梦DB-->>溯源服务: 返回事务ID溯源服务->>MinIO: PUT /quality-docsMinIO-->>溯源服务: 返回ETag溯源服务->>Redis: SETEX batch:${id} 604800溯源服务-->>企业员工: HTTP 201 Createdend%% ===== API数据接入 =====rect rgb(245,245,220)供应商系统->>溯源服务: POST /api/materialsactivate 溯源服务溯源服务->>溯源服务: OAuth2验证alt 验证成功溯源服务->>达梦DB: INSERT supplier_data溯源服务->>Redis: DEL supplier:{id}溯源服务-->>供应商系统: 200 OK (ETag)else 验证失败溯源服务-->>供应商系统: 401 Unauthorizedenddeactivate 溯源服务end%% ============== 场景2:消费者溯源查询 ==============Note over 消费者,Redis: 场景2:消费者扫码溯源rect rgb(230,230,250)消费者->>溯源服务: GET /trace/ABC123alt 缓存命中溯源服务->>Redis: HGETALL trace:ABC123Redis-->>溯源服务: 返回完整链路数据else 缓存穿透溯源服务->>达梦DB: EXEC sp_trace_detail达梦DB-->>溯源服务: 结果集溯源服务->>Redis: HSET trace:ABC123end溯源服务-->>消费者: HTTP 200 OKend%% ============== 场景3:监管数据分析 ==============Note over 监管员,大屏服务: 场景3:实时监管看板rect rgb(255,240,245)监管员->>大屏服务: GET /dashboard/region大屏服务->>溯源服务: 调用聚合API溯源服务->>达梦DB: CALL sp_region_stats达梦DB-->>溯源服务: 返回指标数据集溯源服务->>大屏服务: Server-Sent Events推送大屏服务->>大屏服务: 数据标准化处理大屏服务-->>监管员: 渲染热力图GIS展示end%% ============== 场景4:离线数据治理 ==============Note over 数据治理,达梦DB: 场景4:定时数据治理任务loop 每日02:00执行rect rgb(240,255,240)数据治理->>达梦DB: EXEC etl_job_daily数据治理->>供应商系统: GET /api/supplier/updates供应商系统-->>数据治理: 返回增量JSON数据治理->>达梦DB: MERGE INTO supplier_master达梦DB-->>数据治理: 输出合并统计endend%% ============== 场景5:系统健康监控 ==============Note over 溯源服务,Redis: 场景5:系统健康监测rect rgb(255,250,240)溯源服务->>Redis: INCR system:health:service1Redis->>监控系统: 触发阈值告警监控系统-->>运维人员: 钉钉机器人告警运维人员-->>监控系统: 已确认告警end

同时IDEA也有这个插件可以实时修改和查看预览。
在这里插入图片描述

相关文章:

使用mermaid 语言绘画时序图和链路图

给大家展示一下效果, 官方地址:https://mermaid.nodejs.cn/ 官方开发地:https://mermaid.nodejs.cn/intro/#google_vignette graph LR%% 样式定义(完全保留) classDef user fill:#E1F5FE,stroke:#0288D1;classDef …...

浅论3DGS溅射模型在VR眼镜上的应用

摆烂仙君小课堂开课了,本期将介绍如何手搓VR眼镜,并将随手拍的电影变成3D视频。 一、3DGS模型介绍 3D 高斯模型是基于高斯函数构建的用于描述三维空间中数据分布概率的模型,高斯函数在数学和物理领域有着广泛应用,其在 3D 情境下…...

6种方式来探究数据集的的方法worldquant

覆盖率百分比 指金融数据字段(如股价、成交量、财务指标)在时间或空间上的有效数据比例。 时间维度:数据在历史周期内的完整度(如:某股票过去 1 年中,95% 的交易日有收盘价)。空间维度&#xf…...

深度学习中的归一化:提升模型性能的关键因素

📌 友情提示: 本文内容由银河易创AI(https://ai.eaigx.com)创作平台的gpt-4-turbo模型辅助完成,旨在提供技术参考与灵感启发。文中观点或代码示例需结合实际情况验证,建议读者通过官方文档或实践进一步确认…...

vue+threeJS 大理石贴图

嗨,我是小路。今天主要和大家分享的主题是“vuethreeJS 大理石贴图”。 通过 Vue 3 和 Three.js 实现大理石纹理效果,并将这种技术应用于产品展示、虚拟展览、甚至是互动游戏之中,其潜力无穷。今天主要介绍基础的大理石贴图。 vueth…...

WebGL 3着色器和GLSL

我们之前提到过着色器和GLSL,但是没有涉及细节,你可能已经对此有所了解, 但以防万一,这里将详细讲解着色器和GLSL。 在工作原理中我们提到,WebGL每次绘制需要两个着色器, 一个顶点着色器和一个片段着色器&…...

vscode debug node + 前端

方法 2:调试全栈(Node 前端) 如果需同时调试后端和前端: 分别启动两个调试会话 一个配置调试 Node.js 后端(server.js)。 另一个配置调试浏览器前端(如上)。 {// Use IntelliS…...

Python训练营打卡 Day27

函数专题2:装饰器 知识点回顾: 装饰器的思想:进一步复用函数的装饰器写法注意内部函数的返回值 昨天我们接触到了函数大部分的功能,然后在你日常ctrl点进某个复杂的项目,发现函数上方有一个xxx,它就是装饰器 装饰器本质…...

华为OD机试真题——通信系统策略调度(用户调度问题)(2025B卷:100分)Java/python/JavaScript/C/C++/GO最佳实现

2025 B卷 100分 题型 本专栏内全部题目均提供Java、python、JavaScript、C、C++、GO六种语言的最佳实现方式; 并且每种语言均涵盖详细的问题分析、解题思路、代码实现、代码详解、3个测试用例以及综合分析; 本文收录于专栏:《2025华为OD真题目录+全流程解析+备考攻略+经验分…...

SQL实战:06交叉日期打折问题求解

文章目录 概述题目:交叉打折问题求解题解第一步:使用滑动窗口统计当前活动前的最大结束日期步骤二:拆分出交叉部分步骤三:计算每次活动的持续天数步骤四:分组统计最终结果完整SQL 概述 最近刷题时遇到一些比较有意思的…...

升级kafka4.0.0,无ZK版本

设备规划: 172.20.192.47 kafka-0 172.20.192.48 kafka-1 172.20.192.49 kafka-2 单机块7TB Nvme磁盘一共9块 # 格式化成GPT分区 sudo parted /dev/nvme0n1 --script mklabel gpt sudo parted /dev/nvme1n1 --script mklabel gpt sudo parted /dev/nvme2n1 --s…...

llamafactory SFT 从断点恢复训练

背景 我使用llamafactory sft 微调模型的时候。gpu停止运行了。日志文件没有任何的报错信息。 显存还是占用状态。 查看llamafactory的进程是下述信息: 151312 151306 91 17:42 ? 03:58:10 [llamafactory-cl] 既然如此,那就只能从断点恢复训练了。 …...

PCL 计算一条射线与二次曲面的交点

文章目录 一、简介二、实现代码三、实现效果一、简介 对于二次曲面而言,其一般方程可以写为: z = a 0 + a 1 x + a 2 y + a...

计算机网络-----6分层结构

目录 “分层” 的设计思想: 计算机网络要完成的功能: 计算机网络的分层结构: 网络体系结构的概念: 各层之间的关系: 数据的传输过程 水平视角: 垂直视角: 相关概念 协议三要素&#x…...

运算放大器相关的电路

1运算放大器介绍 解释:运算放大器本质就是一个放大倍数很大的元件,就如上图公式所示 Vp和Vn相差很小但是放大后输出还是会很大。 运算放大器不止上面的三个引脚,他需要独立供电; 如图比较器: 解释:Vp&…...

BM25 算法与关键词提取在向量数据库中的实践优化

BM25 算法与关键词提取在向量数据库中的实践优化 在实际构建问答系统或语义检索场景中,向量数据库(如 Weaviate)提供了基于语义匹配的检索能力,然而我们发现 BM25 关键词检索效果不理想,甚至出现了召回率过低、查询必…...

python版本管理工具-pyenv轻松切换多个Python版本

在使用python环境开发时,相信肯定被使用版本所烦恼,在用第三方库时依赖兼容的python版本不一样,有没有一个能同时安装多个python并能自由切换的工具呢,那就是pyenv,让你可以轻松切换多个Python 版本。 pyenv是什么 p…...

Elasticsearch索引全生命周期管理指南之一

#作者:猎人 文章目录 一、索引常规操作二、索引mapping和别名管理 一、索引常规操作 索引数据特点: 索引中的数据随着时间,持续不断增长 按照时间序列划分索引的好处&挑战: 按照时间进行划分索引,会使得管理更加…...

STM32F407VET6的HAL库使用CRC校验的思路

CRC校验在数据传输快,且量大的时候使用。 步骤实现: CubeMX配置 c // 在CubeMX中启用CRC模块 // AHB总线时钟自动启用 HAL库代码 c // 初始化(main函数中) CRC_HandleTypeDef hcrc; hcrc.Instance CRC; hcrc.Init.Default…...

【Manim】使用manim画一个高斯分布的动画

1 Manim例子一 最近接触到manim,觉得挺有趣的,来玩一玩把。如下是一个使用manim画的高斯分布的动画。 from manim import * import numpy as npclass GaussianDistribution(Scene):def construct(self):# 创建坐标系axes Axes(x_range[-4, 4, 1],y_ra…...

elementUI 循环出来的表单,怎么做表单校验?

数据结构如下&#xff1a; diversionParamList: [ { length: null, positionNumber: null, value: null, } ] 思路&#xff1a;可根据 index 动态绑定 :props 属性值&#xff0c;校验规则写在:rules <div class"config-item" v-for"(item, index) in form.…...

Leetcode76覆盖最小子串

覆盖最小子串 代码来自b站左程云 class Solution {public String minWindow(String str, String tar) {char[] s str.toCharArray();char[] t tar.toCharArray();int[] cnt new int[256];for (char cha : t) { cnt[cha]--;}int len Integer.MAX_VALUE;int debt t.length…...

电力杆塔安全监测解决方案

一、方案背景 在台风、滑坡等自然灾害出现时&#xff0c;极易产生倒杆、断杆、杆塔倾斜、塔基滑动等致使杆塔失稳的状况&#xff0c;进而引发导线断线、线路跳闸等事故&#xff0c;给电网的安全稳定运行造成影响。可借助在铁塔上装设的传感器&#xff0c;能够感知铁塔的工作状态…...

AD 常用系统快捷键

(1) L: 打开层设置开关选项(在元件移动状态下&#xff0c;按下“L”键换层) (2) S: 打开选择&#xff0c;如SL(线选)、SI(框选)、SE(滑动选择) (3) J: 跳转&#xff0c;如JC(跳转到元件)、JN(跳转到网络) (4) CtrlQ: 英寸和毫米相互切换。 (5) Delete: 删除已被选择的对象 E…...

今日行情明日机会——20250516

上证缩量收阴线&#xff0c;小盘股表现相对更好&#xff0c;上涨的个股大于下跌的&#xff0c;日线已到前期压力位附近&#xff0c;注意风险。 深证缩量收假阳线&#xff0c;临近日线周期上涨末端&#xff0c;注意风险。 2025年5月16日涨停股行业方向分析 机器人概念&#x…...

AlphaEvolve:LLM驱动的算法进化革命与科学发现新范式

AlphaEvolve&#xff1a;LLM驱动的算法进化革命与科学发现新范式 本文聚焦Google DeepMind最新发布的AlphaEvolve&#xff0c;探讨其如何通过LLM与进化算法的结合&#xff0c;在数学难题突破、计算基础设施优化等领域实现革命性进展。从48次乘法优化44矩阵相乘到数据中心资源利…...

多尺度对比度调整

一、背景介绍 受到了前面锐化算法实现的启发&#xff0c;对高频层做增强是锐化&#xff0c;那么对中低频一起做增强&#xff0c;就应该能有局域对比度增强效果。 直接暴力实现了个基本版本&#xff0c;确实有对比度增强效果。然后搜了下关键字&#xff0c;还真找到了已经有人这…...

解决IDEA Maven编译时@spring.profiles.active@没有替换成具体环境变量的问题

如果不加filtering true&#xff0c;编译后的文件还是 spring.profiles.active 编译前的application.yml 编译后的application.yml【环境变量没有改变】 解决方案 找到 SpringBoot 启动类所在的pom.xml&#xff0c;在 resources 增加 filtering true&#xff0c;然后重新…...

博客系统技术需求文档(基于 Flask)

以下内容是AI基于要求生成的技术文档&#xff0c;仅供参考~ &#x1f9f1; 一、系统架构设计概览 层级 内容 前端层 HTML Jinja2 模板引擎&#xff0c;集成 Markdown 编辑器、代码高亮 后端层 Flask 框架&#xff0c;RESTful 风格&#xff0c;Jinja2 渲染 数据库 SQLi…...

记参加一次数学建模

题目请到全国大学生数学建模竞赛下载查看。 注&#xff1a;过程更新了很多文件&#xff0c;所有这里贴上的有些内容不是最新的&#xff08;而是草稿&#xff09;。 注&#xff1a;我们队伍并没有获奖&#xff0c;文章内容仅供一乐。 从这次比赛&#xff0c;给出以下赛前建议 …...