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

报表的那些事:四部演进史——架构视角下的技术跃迁与实战思考

引言

        作为企业数据流转的核心载体,报表系统的设计与演进始终面临‌高性能、灵活性、可扩展性‌的平衡挑战。本文从架构师视角,以四阶段演进为脉络,结合电商等高并发场景,分享报表系统从定制化开发到混合计算体系的演进实践,揭示架构设计背后的技术哲学。

一、理论基石:架构设计的核心原则

1. CAP定理的工程映射

理论维度

报表场景

技术实现

一致性(C)

财务对账报表

分布式事务(Seata框架) + 对账补偿机制

可用性(A)

实时监控大屏

Flink Exactly-Once语义 + 降级熔断策略

分区容忍(P)

离线分析报表

Spark RDD弹性数据集 + 检查点机制

2. 领域驱动设计(DDD)实践

javaCopy Code
// 核心领域对象定义
public class Report {private ReportId id;private List<DataSet> datasets;private JoinStrategy joinStrategy; // 关联策略模式private RenderPolicy renderPolicy; // 渲染策略接口
}// 战略设计:限界上下文划分
@BoundedContext(name = "ReportEngine", dependencies = {"Auth", "DataPlatform"})
public class ReportContextConfig {}

二、手工时代:单页面定制化静态报表的破局之战

1. C/S架构的技术困局

典型痛点

突破方案

代码示例

格式调整需重新编译

模板引擎动态渲染

Velocity模板语法解析引擎

数据源单一

JDBC多数据源路由

AbstractRoutingDataSource实现

计算逻辑固化

存储过程封装业务规则

PL/SQL脚本调度框架

2、单页面定制化开发的敏捷实践

面向快速迭代的业务需求,采用动态配置化方案实现高效响应:

技术维度

实现方案

架构价值

动态表单渲染

前端解析JSON Schema动态生成表单元素

需求响应周期缩短50%

计算逻辑配置化

Groovy脚本引擎实现FormulaEngine接口,支持动态编译

避免硬编码导致的版本碎片化

数据聚合API

Spring Cloud Feign封装统一数据服务,支持分页/过滤/聚合

接口复用率提升80%

三、配置化革命时代:自研报表引擎的Apollo配置化架构与代码实现

1. 配置化架构设计理念

核心思想‌:通过动态配置中心实现"零代码"报表开发

层级

功能定位

技术实现

业务价值

元数据层

数据模型定义

YAML配置文件 + JSON Schema校验

统一字段标准,降低沟通成本

逻辑层

数据处理流程

Apache Calcite逻辑计划抽象

跨数据源关联透明化

渲染层

可视化呈现规则

Velocity模板引擎 + CSS-in-JS

样式与业务逻辑解耦

调度层

任务生命周期管理

XXL-JOB增强型调度框架

百万级任务精准控制

2. 核心代码实现

SQL执行引擎(并行查询+内存关联)

public class ParallelSqlExecutor {// 线程池配置private ExecutorService pool = Executors.newWorkStealingPool(8);public Map<String, Object> execute(ReportConfig config) {List<CompletableFuture<QueryResult>> futures = config.getSqlQueries().stream().map(sql -> CompletableFuture.supplyAsync(() -> {return jdbcTemplate.queryForList(sql); // 支持多数据源路由}, pool)).collect(Collectors.toList());// 结果集关联return futures.stream().map(CompletableFuture::join).collect(new ResultJoiner(config.getJoinKey()));}
}// 自定义结果收集器
class ResultJoiner implements Collector<...> {@Overridepublic Function<Map<String, Object>, Map<String, Object>> finisher() {return data -> {// 基于joinKey实现多数据集关联return data.stream().flatMap(map -> map.entrySet().stream()).collect(Collectors.groupingBy(e -> e.getKey().equals(joinKey) ? e.getValue() : "default"));};}
}

        其他核心代码参考《项目难点拆解:复杂性理论(结构、逻辑、变化)》难点3:变化复杂性——自研报表设计模式

四、商业报表集成时代第三方SaaS报表

1、商业报表工具对比

维度

优势

劣势

开发效率

拖拽式配置,快速上线

定制化能力弱,二次开发成本高

权限控制

提供基础RBAC模型

细粒度权限(如字段级)需深度改造API

数据处理

内置ETL工具

复杂计算性能差,资源消耗高

2、避坑指南

  • 权限同步难题‌:通过Hook机制拦截SaaS权限API,与企业AD系统实时同步
  • 数据安全‌:敏感字段采用代理层加密,避免直连第三方数据库

3、权限控制的深水区

3.1、权限同步方案对比

方案

实现复杂度

实时性

维护成本

API网关拦截

秒级

定时任务同步

分钟级

双写机制

极高

毫秒级

3.2、避坑实践‌:

API网关拦截方案:字段级权限控制通过注解+AOP实现

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface DataAuth {String field() default "tenant_id";
}@Aspect
public class DataAuthAspect {@Around("@annotation(auth)")public Object applyAuth(ProceedingJoinPoint joinPoint, DataAuth auth) {String tenantId = SecurityContext.getCurrentTenant();// 改写SQL追加WHERE条件modifySql(auth.field(), tenantId);return joinPoint.proceed();}
}

五、电商混合计算架构演进时代:Flink+Spark+ClickHouse

1. 实时-离线协同架构

层级

技术栈

数据特征

SLA承诺

实时层

Flink + Kafka

增量流数据(<1s延迟)

99.95%可用性

加速层

ClickHouse物化视图

分钟级聚合数据

亚秒级响应

离线层

Spark + tdw

T+1全量数据

小时级产出

2. Flink实时ETL优化代码

// 利用状态后端优化双流JOIN
public class OrderCommissionJoin extends KeyedCoProcessFunction<String, Order, Commission, OrderCommission> {private ValueState<Order> orderState;private ValueState<Commission> commissionState;@Overridepublic void open(Configuration parameters) {orderState = getRuntimeContext().getState(new ValueStateDescriptor<>("orderState", Order.class));commissionState = getRuntimeContext().getState(new ValueStateDescriptor<>("commissionState", Commission.class));}@Overridepublic void processElement1(Order order, Context ctx, Collector<OrderCommission> out) throws Exception {Commission commission = commissionState.value();if (commission != null) {out.collect(combine(order, commission));// 状态清理防止无限增长commissionState.clear();}orderState.update(order);}// processElement2逻辑对称实现
}

3. ClickHouse分布式查询优化

-- 分布式表与本地表协同设计
CREATE TABLE ads_local ON CLUSTER ads_cluster (event_date Date,tenant_id Int32,metric String,value Float64
) ENGINE = ReplicatedMergeTree()
PARTITION BY event_date
ORDER BY (tenant_id, metric);CREATE TABLE ads_dist AS ads_local
ENGINE = Distributed(ads_cluster, default, ads_local, rand());-- 物化视图自动预聚合
CREATE MATERIALIZED VIEW ads_mv 
ENGINE = AggregatingMergeTree()
PARTITION BY event_date
ORDER BY (tenant_id, metric) 
AS SELECTevent_date,tenant_id,metric,sumState(value) AS total,countState() AS cnt
FROM ads_local
GROUP BY event_date, tenant_id, metric;

结语:架构的本质是权衡

        在报表系统的演进长河中,架构师需在‌确定性与可能性‌之间精准拿捏:

  • 用自研引擎捍卫核心领域的控制权
  • 借商业SaaS加速非差异化能力建设
  • 以混合架构实现鱼与熊掌兼得

        报表系统的演进永无止境,唯一不变的是架构师对‌数据价值密度‌的持续探索——这既是技术的远征,也是商业智慧的沉淀。当技术决策与商业价值同频共振时,报表系统便从成本中心蜕变为‌数据驱动的决策引擎‌——这或许是对架构师智慧的最佳褒奖。

相关文章:

报表的那些事:四部演进史——架构视角下的技术跃迁与实战思考

引言 作为企业数据流转的核心载体&#xff0c;报表系统的设计与演进始终面临‌高性能、灵活性、可扩展性‌的平衡挑战。本文从架构师视角&#xff0c;以四阶段演进为脉络&#xff0c;结合电商等高并发场景&#xff0c;分享报表系统从定制化开发到混合计算体系的演进实践&#x…...

Pdf转Word案例(java)

Pdf转Word案例&#xff08;java&#xff09; 需要导入aspose-pdf.jar 需要先手动下载jar包到本地&#xff0c;然后通过systemPath在pom文件中引入。 下载地址&#xff1a;https://releases.aspose.com/java/repo/com/aspose/aspose-pdf/25.4/ <dependency><groupId&…...

HTML基础2-空元素,元素属性与页面的结构

目录 空元素&#xff08;Void Element&#xff09; 元素属性 &#xff08;Attribute&#xff09; 页面结构 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"w…...

2025FIC初赛(手机)

前言 记录一下自己的学习过程&#xff0c;网上已经有很多大佬出来全篇教程&#xff0c;但是我还是写出小部分&#xff0c;希望自己可以以点破面&#xff0c;什么都会等于不会&#xff0c;肯定是拿自己和大佬比&#xff0c;大佬都是全栈的。 手机取证 1. 请分析检材二&#x…...

《Python星球日记》 第43天:机器学习概述与Scikit-learn入门

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏:《Python星球日记》,限时特价订阅中ing 目录 一、什么是机器学习?1. 机器学习的三大类型1.1 监督学习1.2 无监督学习1.3 强化学习二、Scikit…...

Carlink 技术:搭建汽车与手机的智能桥梁

随着汽车智能化浪潮的推进&#xff0c;手机与车机的无缝连接已成为现代出行体验的重要组成部分。在这一背景下&#xff0c;ICCOA联盟推出的Carlink技术应运而生。 一、什么是Carlink Carlink是由智慧车联开放联盟(ICCOA)主导开发的新一代车机互联协议&#xff0c;旨在实现安卓…...

嵌入式学习--江协51单片机day2

今天学的不多&#xff0c;内容为&#xff1a;静态、动态数码管的控制&#xff0c;模块化编程和lcd1602调试工具 数码管的控制 由于内部电路的设计&#xff0c;数码管每次只能显示一个位置的一个数字&#xff0c;动态的实现是基于不同位置的闪烁频率高。 P2_4,P2_3,P2_2控制位…...

LLaMA-Omni 2:基于 LLM 的自回归流语音合成实时口语聊天机器人

LLaMA-Omni 2 是基于 Qwen2.5-0.5B/1.5B/3B/7B/14B/32B-Instruct 模型的一系列语音语言模型。与 LLaMA-Omni 类似&#xff0c;它可以同时生成文本和语音应答&#xff0c;从而实现高质量、低延迟的语音交互。通过新引入的流式自回归语音解码器&#xff0c;LLaMA-Omni 2 与 LLaMA…...

CODESYS开发环境下的快捷键和软件操作汇总

CODESYS访问变量属性无需添加应用路径的方法 CODESYS访问变量(属性)无需添加引用路径的方法_attribute qualified only-CSDN博客文章浏览阅读410次。CODESYS平台下的变量相关知识介绍大家还可以参考下面文章连接:CODESYS面向对象编程:方法/动作/属性的使用-CSDN博客文章浏览阅…...

英伟达发布Llama-Nemotron系列新模型,性能超越DeepSeek-R1

近期&#xff0c;英伟达重磅推出开源模型系列 Llama-Nemotron&#xff0c;以强悍的推理能力与高效性能引发广泛关注&#xff0c;被认为可能重新定义开源AI的技术格局。 该系列模型在推理速度上全面超越DeepSeek-R1&#xff0c;内存使用效率与吞吐表现也大幅提升。其训练策略融合…...

堆与二叉树——C语言

一、顺序表底层 #pragma once #include<stdio.h> #include<stdlib.h> #include<assert.h>typedef int data; typedef struct Heap {data* arr;int size;int capacity; }Heap;void HeapInit(Heap* php); void HeapDestroy(Heap* php); //把已有堆进行排序 vo…...

如何检查 Watchtower 是否正常工作及更新未生效的排查方法【日常排错】

文章目录 前言一、验证 Watchtower 是否正在运行1. 检查 Watchtower 容器状态2. 查看 Watchtower 日志 二、检查5分钟间隔设置是否正确1. 确认启动命令2. 验证环境变量 三、排查更新未生效的原因1. 检查是否有镜像更新2. 检查容器标签3. 检查监控范围 四、测试 Watchtower 功能…...

网站网页经常 400 错误,清缓存后就好了的原因剖析

目录 一、HTTP 400 错误的常见起因(一)URL 有问题(二)缓存或 Cookie 出状况(三)文件尺寸超标(四)请求头信息不对劲二、清缓存为何能奏效三、其他可以尝试的解决办法(一)重新检查 URL(二)暂时关闭浏览器插件(三)切换网络环境(四)更新浏览器版本(五)检查服务器…...

Linux系统基本指令和知识指南

一、Linux系统简介 Linux是一种自由和开放源代码的类UNIX操作系统&#xff0c;由林纳斯托瓦兹在1991年首次发布。它以稳定性、安全性和灵活性著称&#xff0c;广泛应用于服务器、嵌入式系统和个人计算机。 Linux主要特点&#xff1a; 开源免费 多用户、多任务 良好的安全性…...

Dify平台下基于搜索引擎SearXNG 和文本转换工具Marp的PPT助手搭建

marp-cli安装&#xff1a; Marp 是一个基于 Markdown 的开源幻灯片制作工具&#xff0c;可以轻松将 Markdown 文档转换为精美的幻灯片。其核心是 Marpit 框架&#xff0c;支持可定制主题、多种输出格式和动态功能。 Marp 支持的功能 通过插件快速制作&#xff1a;支持 VS Co…...

内网渗透技术全面指南——安全业务视角(基于《内网渗透技术 (吴丽进、苗春雨 主编;郑州、雷珊珊、王伦 副主编)》)

文章目录 一、内网渗透概述二、内网渗透环境准备2.1 C&C工具的使用2.2 Windows域环境的搭建 三、内网信息收集技术3.1 本机信息收集3.2 内网主机信息收集 四、内网权限提升技术4.1 Windows主机权限提升4.2 Linux主机权限提升4.3 通过第三方服务提权 五、内网代理穿透技术5.…...

数据清洗-电商双11美妆数据分析(二)

1.接下来用seaborn包给出每个店铺各个大类以及各个小类的销量销售额 先观察销量&#xff0c;各店小类中销量最高的是相宜本草的补水类商品以及妮维雅的清洁类商品&#xff0c;这两类销量很接近。而销售额上&#xff0c;相宜本草的补水类商品比妮维雅的清洁类商品要高得多&#…...

矩阵系统源码搭建 UI 设计开发指南,支持OEM

在数字化时代&#xff0c;矩阵系统作为高效的数据处理和管理工具&#xff0c;广泛应用于各个领域。而一个优秀的 UI 设计&#xff0c;不仅能提升用户体验&#xff0c;还能使矩阵系统的功能发挥得更加淋漓尽致。本文将详细介绍矩阵系统源码搭建 UI 设计的全流程&#xff0c;助你…...

认识中间件-以及两个简单的示例

认识中间件-以及两个简单的示例 什么是中间件一个响应处理中间件老朋友 nest g如何使用为某个module引入全局引入 编写逻辑 一个日志中间件nest g mi 生成引入思考 代码进度 什么是中间件 官方文档 中间件是在路由处理程序之前调用的函数。中间件函数可以访问请求和响应对象&…...

使用 Gradio + Qwen3 + vLLM 部署 Text2SQL 多表查询系统

完成使用 Gradio 作为前端&#xff0c;Qwen3 作为大模型&#xff0c;vLLM 作为推理引擎来部署一个支持多表查询的 Text2SQL 系统。 系统架构概述 Gradio: 提供用户友好的 Web 界面 Qwen3: 通义千问的最新开源大模型&#xff0c;擅长文本到SQL转换 vLLM: 高效的大模型推理引擎…...

OrangePi Zero 3学习笔记(Android篇)2 - 第一个C程序

目录 1. 创建项目文件夹 2. 创建c/cpp文件 3. 创建Android.mk/Android.bp文件 3.1 Android.mk 3.2 Android.bp 4. 编译 5. adb push 6. 打包到image中 在AOSP里面添加一个C或C程序&#xff0c;这个程序在Android中需要通过shell的方式运行。 1. 创建项目文件夹 首先需…...

【数据结构】手撕二叉搜索树

目录 二叉搜索树的概念二叉搜索树的实现节点类构造函数拷贝构造函数赋值运算符重载析构函数插入函数查找函数删除函数中序遍历 二叉搜索树的应用(k和k/v模型 ) 二叉搜索树的概念 ⼆叉搜索树⼜称⼆叉排序树&#xff0c;它或者是⼀棵空树&#xff0c;或者是具有以下性质的⼆叉树…...

C++排序算法(一)

一.初识排序 排序是将一组数据元素按照特定的顺序&#xff08;如升序或降序&#xff09;进行重新排列的操作。排序算法则是实现这种数据重新排列的具体方法。 c/c中&#xff0c;这些元素可以是各种数据类型&#xff0c;比如整数、浮点数、字符串&#xff0c;甚至是自定…...

链表——C语言

一、单项不带头 #pragma once #include<stdio.h> #include<stdlib.h>typedef int data; typedef struct list {data a;struct list* next; }list;list* buynode(data x);void pushback(list** phead,data x);void popback(list** phead);void pushfront(list** ph…...

Java学习手册:数据库事务相关知识

一、事务的概念与特性 概念 &#xff1a;事务是数据库中一系列操作的集合&#xff0c;这些操作要么全部成功&#xff0c;要么全部失败&#xff0c;是一个不可分割的工作单位。例如&#xff0c;在银行转账系统中&#xff0c;从一个账户扣款和向另一个账户存款这两个操作必须作为…...

碰一碰发视频源码搭建的技术迭代与升级实践

在数字化营销与智能交互场景不断拓展的背景下&#xff0c;碰一碰发视频技术凭借其便捷性和创新性&#xff0c;成为实体商业、文旅宣传等领域的重要工具。然而&#xff0c;随着用户需求升级、技术快速发展&#xff0c;基于源码搭建的碰一碰发视频系统也需持续迭代更新。本文将围…...

Linux 内核学习(6) --- Linux 内核基础知识

目录 Linux 内核基础知识进程调度内存管理虚拟文件系统和网络接口进程间通信Linux 内核编译Makefile 和 Kconfig内核Makefile内核Kconfig 配置项标识的写法depend 关键字select 关键字表达式逻辑关系Kconfig 其他语法 配置文件的编译Linux 内核引导方法Booloader 定义Linux 内核…...

28. C++位图 布隆过滤器 哈希切割相关

文章目录 位图位图概念代码实现将x比特位置1将x比特位置0检测位图中x是否为1全部代码实现 C库中的位图 bitset位图的应用 布隆过滤器布隆过滤器提出布隆过滤器概念布隆过滤器的特点控制误判率布隆过滤器的实现布隆过滤器的插入布隆过滤器的查找布隆过滤器的删除布隆过滤器优点布…...

第2章 神经网络的数学基础

本章我们将梳理一下神经网络所需的数学基础知识&#xff0c;其中大多数内容没有超出高中所学范围&#xff0c;因此读起来不会吃力。 2-1神经网络所需的函数 本节我们来看一下神经网络世界中频繁出现的函数。虽然它们都是基本的函数&#xff0c;但是对于神经网络是不可缺少的。…...

linux环境安装docker

linux环境下载安装docker 参考网址查询服务器的操作系统下载docker1、卸载已安装的docker2、安装dnf-plugins-core 包3、配置镜像仓库4、安装版本安装最新版本安装指定版本 5、设置开机自启动6、运行测试7、卸载重装清理 Docker 系统中不再使用的数据&#xff08;容器、缓存&am…...

windows使用bat脚本激活conda环境

本文不生产技术&#xff0c;只做技术的搬运工&#xff01;&#xff01;&#xff01; 前言 最近需要在windows上使用批处理脚本执行一些python任务&#xff0c;但是被自动激活conda环境给卡住了&#xff0c;研究了一下解决方案 解决方案 call your_conda_path\Scripts\activa…...

第一章:MySQL 索引基础

第一章&#xff1a;MySQL 索引基础 1. 索引是什么&#xff1f; ​​定义​​&#xff1a;索引&#xff08;Index&#xff09;是数据库中用于快速查找数据的一种数据结构&#xff0c;类似于书籍的目录。​​核心作用​​&#xff1a;通过减少磁盘I/O次数&#xff0c;加速查询速…...

紫光展锐全新奇迹手游引擎,开启游戏“芯”时代

UNISOC Miracle Gaming奇迹手游引擎亮点&#xff1a; • 高帧稳帧&#xff1a;支持《王者荣耀》等主流手游90帧高画质模式&#xff0c;连续丢帧率最高降低85%; • 丝滑操控&#xff1a;游戏冷启动速度提升50%&#xff0c;《和平精英》开镜开枪操作延迟降低80%; • 极速网络&…...

C++ 的未来趋势与挑战:探索新边界

引言 在软件开发的浩瀚宇宙中&#xff0c;C 一直是一颗耀眼的恒星&#xff0c;凭借其卓越的性能和广泛的适用性&#xff0c;在系统编程、游戏开发、嵌入式系统等诸多领域占据着核心地位。随着科技的飞速发展&#xff0c;C 也面临着新的趋势和挑战。本文将深入探讨 C 在 AI 驱动…...

Oracle 开窗函数

Oracle 开窗函数&#xff08;Window Functions&#xff09;允许在不合并行的前提下对数据进行复杂分析&#xff0c;常用于排名、累计计算、前后行对比等场景。 一、核心语法结构 函数名() OVER ([PARTITION BY 分区列] [ORDER BY 排序列 [ASC|DESC]] [窗口帧子句 (ROWS | RAN…...

【PostgreSQL数据分析实战:从数据清洗到可视化全流程】7.3 动态报表生成(Jupyter Notebook/ReportLab)

&#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 文章大纲 PostgreSQL数据分析实战&#xff1a;动态报表生成&#xff08;Jupyter Notebook/ReportLab&#xff09;一、动态报表生成概述&#xff08;一&#xff09;动态报表的重要性&a…...

Oracle OCP认证考试考点详解083系列11

题记&#xff1a; 本系列主要讲解Oracle OCP认证考试考点&#xff08;题目&#xff09;&#xff0c;适用于19C/21C,跟着学OCP考试必过。 51. 第51题&#xff1a; 题目 解析及答案&#xff1a; 关于在 Linux 上安装 Oracle 数据库&#xff0c;以下哪三项是正确的&#xff1f;…...

双11美妆数据分析

1. 导入库使用Python进行分析&#xff0c;需要导入相关库&#xff1a; pythonimport pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as sns 1. 读取数据1. 查看数据基本信息 查看前几行&#xff1a;使用 df.head() 查看数据的前5行&#xff…...

github+ Picgo+typora

github Picgotypora 本文将介绍如何使用Picgo在typora中实现上传服务 创建github仓库以及配置token 创建仓库 注意需要Initialize 添加README 配置为public 配置token github点击头像找到setting 选择Developer setting 配置token generate 选第一个第二个都行(我这里选第…...

战术级微波干扰系统:成都鼎轻量化装备如何实现全频段智能压制?

在5G与卫星通信蓬勃发展的今天&#xff0c;成都鼎讯科技推出新一代微波通信干扰设备&#xff0c;以1000-6000MHz全频段覆盖能力&#xff0c;打造单兵可携的"电磁手术刀"。该设备突破传统微波干扰设备"高能耗、大体积"的桎梏&#xff0c;通过军用级模块化设…...

Oracle 数据布局探秘:段与区块的内部机制

前言 在 Oracle 数据库的庞大架构中&#xff0c;数据存储的效率与性能是决定整个系统健康状况的关键因素。Oracle 采用了一套精妙的逻辑存储管理体系来组织和分配数据&#xff0c;其中&#xff0c;“段&#xff08;Segment&#xff09;”和“区&#xff08;Extent&#xff09;…...

leetcode 142. Linked List Cycle II

题目描述 哈希表解法 这个方法很容易想到&#xff0c;但需要O(N)的空间。 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/ class Solution { public:ListNode *detect…...

探索智能体的记忆:类型、策略和应用

AI Agent 中的记忆&#xff1a;类型、策略和应用 记忆实现是使智能体能够保持上下文、从过去的交互中学习并做出明智决策的关键组成部分。与人类记忆非常相似&#xff0c;智能体记忆允许 AI 系统随时间存储、检索和利用信息&#xff0c;从而为用户创造更连贯和个性化的体验。 …...

mysql集成Qwen大模型MCP计算【附实战代码】

mysql集成Qwen大模型MCP计算 题目分析步骤 1:在 MySQL 中构建核素半衰期数据库1.1 数据库设计1.2 安装和设置 MySQL1.3 创建数据库和表步骤 2:构建放射性活度计算函数2.1 依赖库2.2 Python 函数2.3 函数说明步骤 3:修复 MySQL 访问权限步骤 4:代码实践用户输入指导测试用例…...

006 yum和Linux生态

&#x1f984; 个人主页: 小米里的大麦-CSDN博客 &#x1f38f; 所属专栏: Linux_小米里的大麦的博客-CSDN博客 &#x1f381; GitHub主页: 小米里的大麦的 GitHub ⚙️ 操作环境: Visual Studio 2022 文章目录 Linux 软件包管理器 yum什么是软件包&#xff1f;基于 Linux 系统…...

一种扫描雷达超分辨成像检测一体化方法——论文阅读

一种扫描雷达超分辨成像检测一体化方法 1. 专利的研究目标与产业意义1.1 研究目标与实际问题1.2 产业意义2. 专利的创新方法:低秩稀疏约束与联合优化框架(重点解析)2.1 核心思路与模型构建2.2 迭代优化算法2.3 与传统方法的对比优势3. 实验设计与验证3.1 实验参数3.2 实验结…...

三款实用工具推荐:配音软件+Windows暂停更新+音视频下载!

各位打工人请注意&#xff01;今天李师傅掏出的三件套&#xff0c;都是经过实战检验的效率放大器。先收藏再划走&#xff0c;说不定哪天就能救命&#xff01; 一.祈风TTS-配音大师 做短视频的朋友肯定深有体会——配个音比写脚本还费劲&#xff01;要么付费买声音&#xff0c…...

云平台的文件如何备份

不同的云平台有不同的文件备份方式&#xff0c;以下以常见的阿里云、腾讯云为例进行介绍&#xff1a; 阿里云 对象存储 OSS 可以通过 OSS 控制台&#xff0c;选择需要备份的 Bucket&#xff08;存储桶&#xff09;和文件&#xff0c;手动发起备份操作&#xff0c;将数据复制到…...

密码学系列 - SR25519与ED25519

SR25519 SR25519 是一种高级的数字签名算法&#xff0c;它基于 Schnorr 签名方案&#xff0c;使用的是 Curve25519 椭圆曲线。这种签名算法在密码学社区中广受欢迎&#xff0c;特别是在区块链和加密货币领域。以下是关于 SR25519 的详细介绍。 SR25519 简介 SR25519 是一种 …...

XMP-Toolkit-SDK 编译与示例程序

一、前言 最近在调研图片的元数据读写方案&#xff0c;需要了解 XMP 空间以及如何在 XMP 空间中读写元数据&#xff0c;本文做一个相关内容的记录。 XMP-Toolkit-SDK 以及 XMP标准简介 XMP-Toolkit-SDK 是 Adobe 提供的一套开源软件开发工具包&#xff08;SDK&#xff09;&a…...