【金仓数据库征文】_金仓数据库在金融行业的两地三中心容灾架构实践
金仓数据库在金融行业的两地三中心容灾架构实践
🌟嗨,我是LucianaiB!
🌍 总有人间一两风,填我十万八千梦。
🚀 路漫漫其修远兮,吾将上下而求索。
引言
随着国家对信息技术应用创新(信创)工作的深入推进,金融行业对国产数据库的需求日益增长。在此背景下,金仓数据库(KingbaseES)凭借其高可用性、稳定性和安全性,成为金融机构实现核心系统国产化替代的首选。本文将以某省级商业银行为例,探讨金仓数据库在金融行业两地三中心容灾架构中的应用实践,旨在为金融机构在数据库国产化过程中提供参考和借鉴。
项目背景
该省级商业银行原有核心业务系统采用Oracle RAC架构,存在高昂的运维成本、对国外技术的依赖以及容灾能力有限等问题。为解决上述问题,银行决定引入金仓数据库,构建两地三中心的容灾架构,实现核心系统的国产化替代。在迁移过程中,银行面临着数据一致性保障、系统高可用性设计以及业务连续性维护等多方面的挑战。通过与金仓数据库团队的紧密合作,银行成功实现了系统的平稳过渡,确保了业务的连续性和数据的安全性。
该省级商业银行原有核心业务系统采用Oracle RAC架构,存在以下问题:
- 高昂的运维成本;
- 对国外技术的依赖,存在安全隐患;
- 容灾能力有限,难以满足监管要求。
为解决上述问题,银行决定引入金仓数据库,构建两地三中心的容灾架构,实现核心系统的国产化替代。
架构设计
金仓数据库的两地三中心容灾架构包括生产中心、同城灾备中心和异地灾备中心。生产中心位于主城市,承担日常业务处理;同城灾备中心与生产中心相距约30公里,提供同步备份;异地灾备中心距离主城市约1500公里,提供异步备份。该架构采用多级多数派一致性协议,避免脑裂现象;物理日志同步性能提升10倍,跨地域数据同步低延迟;故障恢复后自动集群自愈,全过程自动容灾管理;中心集群间数据同步链路仅有一条,网络资源高效利用。具体指标如下:中心内RPO=0,RTO<8秒;同城间RPO=0,RTO<60秒;异地中心间RPO低至亚秒级,RTO在分钟级。
金仓数据库的两地三中心容灾架构包括:
- 生产中心:位于主城市,承担日常业务处理。
- 同城灾备中心:与生产中心相距约30公里,提供同步备份。
- 异地灾备中心:距离主城市约1500公里,提供异步备份。
该架构具有以下特点:
- 高可用性:采用多级多数派一致性协议,避免脑裂现象。
- 高性能:物理日志同步性能提升10倍,跨地域数据同步低延迟。
- 高可靠性:故障恢复后自动集群自愈,全过程自动容灾管理。
- 低成本:中心集群间数据同步链路仅有一条,网络资源高效利用。
实施过程
1. 迁移准备
在迁移前,团队对现有系统进行了全面评估,确定了迁移范围、风险点及应对策略。通过金仓数据库提供的迁移工具,对数据库对象、存储过程、触发器等进行了自动化分析,评估语法兼容性。同时,制定了详细的迁移计划,确保在迁移过程中业务的连续性和数据的一致性。在迁移前,还进行了多次演练,验证迁移方案的可行性和系统的稳定性。
2. 数据迁移
采用金仓数据库的迁移工具,实现了数据的平滑迁移。在迁移过程中,确保了数据的一致性和完整性,未对业务造成影响。通过增量迁移和全量校验相结合的方式,确保了数据的准确性和完整性。在迁移过程中,还对系统性能进行了优化,确保在高并发场景下系统的稳定运行。
zte.com.cn
3. 容灾演练
在部署完成后,团队进行了多次容灾演练,验证了故障切换的可行性和系统的稳定性。在一次模拟生产中心整体故障的演练中,同城灾备中心能够在30秒内自动切换,业务无感知,体现了金仓数据库在容灾方面的强大能力。通过演练,进一步优化了容灾方案,提升了系统的可靠性和可用性。
成果与效益
通过引入金仓数据库,银行实现了以下目标:
- 系统稳定性提升:系统可用性达到99.999%,满足监管要求。
- 运维成本降低:减少了对国外技术的依赖,降低了运维成本。
- 业务连续性保障:两地三中心架构确保了业务的连续性和数据的安全性。
典型用户
1.中国人民银行征信中心 – 融资服务平台
中国人民银行征信中心于2013年自主研发建设了应收账款融资服务平台,旨在为应收账款融资提供基础信息服务,该平台主要目的是充分发挥应收账款等动产资源的融资功能,解决中小企业传统担保物不足的融资难点。该平台核心功能包括释放数据价值、引导产品创新和提升融资效率,同时,该平台聚集了供应链核心企业、金融机构和政府相关部门,通过技术手段实现数据的直接传输,帮助解决金融机构在确权和风险管理方面的难题,提高中小企业的融资效率和便利度。
1)高可用架构:原架构采用IBM小机+2节点Oracle RAC数据库集群,金仓采用3节点KES数据库高可用集群+2节点KFS软件双向异构数据同步,满足人民银行征信中心融资服务平台业务需求;
2)高可用指标:集群内:RPO = 0,RTO < 10s;异地中心间数据库可靠性:RPO ≈ 0,RTO = 0;异地中心间数据库同步服务:RPO = 0,RTO = Seconds to Minutes;满足金融6级高可用要求。
2.某大型央企集团 – 集中化办公系统
某央企集团公司集中办公系统承盖集团及下属各级单位所有人员的日常办公业务,覆盖全国30万+用户,日活用户6万+。
1)高可用架构:原架构采用8节点Oracle RAC数据库集群,金仓采用3节点KES数据库高可用集群+2节点KFS软件双向异构数据同步,满足集团业务系统数据库双活需求;
2)高可用指标:集群内:RPO = 0,RTO < 10s;异构数据库可靠性:RPO ≈ 0,RTO = 0;数据库同步服务:RPO = 0,RTO = Seconds to Minutes。
金仓 KES 的智能化未来-AI 驱动的智能监控与预测
在数据库运维中,及时发现异常情况并进行预测是保障系统稳定运行的关键。AI 驱动的智能监控与预测功能能够实时监测数据库的各项指标,通过学习历史数据和业务规律,准确地识别异常情况并进行预测,为运维人员提供及时的预警和决策支持。
(一)异常检测
异常检测是智能监控的重要组成部分,它能够帮助运维人员及时发现数据库中的潜在问题。传统的异常检测方法通常基于预设的阈值进行判断,当指标超过阈值时才发出告警。然而,这种方法往往无法及时发现一些潜在的异常情况,因为在某些情况下,指标虽然没有超过阈值,但已经出现了明显的异常波动。
AI 监控系统则采用了更加智能的方法进行异常检测。它通过学习数据库的历史数据和业务规律,建立起正常的行为模式模型。当检测到指标的变化不符合正常模式时,即使没有超过预设的阈值,也会发出告警。
以某电商平台为例,在业务高峰期,KES 的 CPU 利用率通常在 60% 左右波动。AI 监控系统通过学习这一规律,建立了 CPU 利用率的正常行为模式模型。当检测到 CPU 利用率在短时间内突然飙升至 90% 并持续超过 5 分钟时,即使没有超过预设的 95% 告警阈值,系统也会发出告警。这是因为 AI 监控系统通过分析历史数据发现,在正常情况下,CPU 利用率不会出现如此突然的飙升,因此判断这是一种异常情况。
以下是一个使用 Python 实现的异常检测示例代码:
import pandas as pd
from sklearn.ensemble import IsolationForest# 假设 historical_cpu_data 是包含历史 CPU 利用率的时间序列数据
historical_cpu_data = pd.read_csv('cpu_history.csv', index_col='timestamp')
model = IsolationForest(contamination=0.01) # 假设 1% 的数据是异常点
model.fit(historical_cpu_data)
current_cpu = [[92]] # 当前 CPU 利用率if model.predict(current_cpu)[0] == -1:print("潜在性能风险预警:CPU 利用率异常升高,可能影响业务响应速度,请关注")
(二)性能预测
性能预测是智能监控的另一个重要功能,它能够帮助运维人员提前做好资源规划和性能优化。通过分析历史数据和业务增长趋势,AI 性能预测模块可以预测数据库在未来一段时间内的性能指标,如磁盘空间使用情况、查询响应时间等。
以 KES 的磁盘空间使用情况为例,AI 性能预测模块分析了过去一年的磁盘空间使用数据,结合未来半年的业务增长预期,预测到三个月后某个核心业务表的磁盘空间将达到 85%。这为运维人员提供了足够的时间来进行磁盘扩容或数据清理等操作,避免了因磁盘空间不足而导致的系统故障。
以下是一个使用 Python 实现的时间序列预测示例代码:
from statsmodels.tsa.arima.model import ARIMA
import pandas as pd# 假设 disk_usage_data 是包含历史磁盘使用量的月度数据
disk_usage_data = pd.read_csv('disk_usage.csv', index_col='month')
model = ARIMA(disk_usage_data, order=(5, 1, 0)) # 示例 ARIMA 模型
model_fit = model.fit()
future_steps = 3 # 预测未来 3 个月
forecast = model_fit.predict(start=len(disk_usage_data), end=len(disk_usage_data) + future_steps - 1)total_disk_space = 1000 # 假设总磁盘空间为 1000GB
if forecast[2] > 0.85 * total_disk_space:print(f"磁盘空间预警:核心业务表空间预计将在 {forecast.index[2]} 达到警戒线")
总结与展望
金仓数据库在金融行业的两地三中心容灾架构实践,展示了其在国产替代、安全保障及高可用性方面的显著优势。以某省级商业银行为例,原系统基于Oracle RAC架构,存在高成本、技术依赖及容灾不足等问题。引入金仓数据库后,构建起包含生产中心、同城灾备中心和异地灾备中心的两地三中心架构,采用多级多数派协议、日志同步技术和自动容灾管理,实现RPO趋近于0、RTO控制在秒级,显著提升系统的业务连续性与灾难应对能力。在实施过程中,通过详尽的迁移准备、平滑的数据迁移和多轮容灾演练,确保系统平稳过渡与业务不中断。典型用户如中国人民银行征信中心及大型央企集团也采用金仓KES架构,满足高并发、高可靠的金融业务需求。此外,金仓数据库结合AI技术,实现了数据库的智能监控与性能预测,大幅提升了系统的运维效率和风险预警能力。未来,金仓数据库将持续技术创新,助力金融行业实现信息系统的全面国产化和数字化转型。
嗨,我是LucianaiB。如果你觉得我的分享有价值,不妨通过以下方式表达你的支持:👍 点赞来表达你的喜爱,📁 关注以获取我的最新消息,💬 评论与我交流你的见解。我会继续努力,为你带来更多精彩和实用的内容。
点击这里👉LucianaiB ,获取最新动态,⚡️ 让信息传递更加迅速。
相关文章:
【金仓数据库征文】_金仓数据库在金融行业的两地三中心容灾架构实践
金仓数据库在金融行业的两地三中心容灾架构实践 🌟嗨,我是LucianaiB! 🌍 总有人间一两风,填我十万八千梦。 🚀 路漫漫其修远兮,吾将上下而求索。 引言 随着国家对信息技术应用创新࿰…...
利用多AI协作实现AI编辑器高效开发:创新架构与实践基本构想
在当今快速发展的科技领域,AI技术正以前所未有的速度重塑软件开发的流程和模式。传统的软件开发过程往往需要不同专业人员协同合作,从需求分析到产品设计,再到技术实现,每个环节都需要耗费大量的时间和人力。然而,随着…...
【字节拥抱开源】字节豆包团队开源首发 Seed-Coder 大模型
我们非常高兴地向大家介绍 Seed-Coder,它是一个功能强大、透明、参数高效的 8B 级开源代码模型系列,包括基础变体、指导变体和推理变体。Seed-Coder 通过以下亮点促进开放代码模型的发展。 以模型为中心:Seed-Coder主要利用大语言模型&#…...
C++GO语言微服务之gorm框架操作MySQL
目录 01 01-gorm介绍 02 02-MySQL操作回顾 03 03-gorm创建表 04 04-MySQL的init函数说明 05 05-gorm框架提供的MySQL连接池 06 06-gorm插入数据 07 07-gorm查询数据 08 08-gorm更新数据 09 09-gorm软删除-创建表 10 10-gorm软删除-实现 11 10-MySQL的8小时时区问题 …...
Webug4.0靶场通关笔记-靶场搭建方法(3种方法)
目录 一、虚拟机绿色版本 1. 开启phpstudy 2. 访问靶场 二、Docker版本 1.拉取镜像 2.启动镜像 三、源码安装版本 1. 搭建环境 (1)安装PHPStudy (2)WeBug4.0靶场源码 (3)安装Navicat ÿ…...
HTTP/3展望、我应该迁移到HTTP/2吗
1. HTTP/3展望 HTTP/3 基于 QUIC 协议,完全解决了“队头阻塞”问题,弱网环境下的表现会优于 HTTP/2;QUIC 是一个新的传输层协议,建立在 UDP 之上,实现了可靠传输;QUIC 内含了 TLS1.3,只能加密通…...
【Linux基础】系统监控和进程管理指令
目录 ps命令 top命令 kill命令 killall命令 1.1 命令介绍 1.2 命令格式 1.3 常用选项 1.4 示例 1.4.1 交互模式确认 1.4.2 指定信号 shutdown命令 ps命令 作用:查看当前进程信息。 常用选项: 作用 -e 显示所有进程,包括其他用户…...
【Linux实践系列】:进程间通信:万字详解共享内存实现通信
🔥 本文专栏:Linux Linux实践项目 🌸作者主页:努力努力再努力wz 💪 今日博客励志语录: 人生就像一场马拉松,重要的不是起点,而是坚持到终点的勇气 ★★★ 本文前置知识: …...
无法更新Google Chrome的解决问题
解决问题:原文链接:【百分百成功】Window 10 Google Chrome无法启动更新检查(错误代码为1:0x80004005) google谷歌chrome浏览器无法更新Chrome无法更新至最新版本? 下载了 就是更新Google Chrome了...
CenOS7切换使用界面
永久切换 在开始修改之前,我们首先需要查看当前的启动模式。可以通过以下命令来实现: systemctl get-default执行此命令后,系统会返回当前的默认启动模式,例如graphical.target表示当前默认启动为图形界面模式。 获取root权限&…...
# YOLOv3:深度学习中的目标检测利器
YOLOv3:深度学习中的目标检测利器 引言 在计算机视觉领域,目标检测是一项核心任务,它涉及到识别图像或视频中的物体,并确定它们的位置。随着深度学习技术的快速发展,目标检测算法也在不断进步。YOLO(You …...
2025数维杯数学建模A题完整参考论文(共36页)(含模型、可运行代码、数据)
2025数维杯数学建模A题完整参考论文 目录 摘要 一、问题重述 二、问题分析 三、模型假设 四、符号定义与说明 五、 模型建立与求解 5.1问题1 5.1.1问题1思路分析 5.1.2问题1模型建立 5.1.3问题1求解结果 5.2问题2 5.2.1问题2思路分析 5.2.2问题2模型…...
在 Flink + Kafka 实时数仓中,如何确保端到端的 Exactly-Once
在 Flink Kafka 构建实时数仓时,确保端到端的 Exactly-Once(精确一次) 需要从 数据消费(Source)、处理(Processing)、写入(Sink) 三个阶段协同设计,结合 Fli…...
Python数据分析
目录 一、数据分析的核心流程 (一)明确数据分析目标 (二)数据收集 (三)数据清洗 1. 处理缺失值 2. 去除重复值 3. 修正错误值和异常值 (四)数据探索与可视化 1. 计算描述性…...
Java单例模式总结
说明:单例模式的核心是确保一个类只有一个实例,并提供全局访问点。饿汉式和懒汉式是两种常见的实现方式 一、饿汉式和懒汉式 1. 饿汉式(Eager Initialization) public class EagerSingleton {// 类加载时直接初始化实例private…...
《P7167 [eJOI 2020] Fountain (Day1)》
题目描述 大家都知道喷泉吧?现在有一个喷泉由 N 个圆盘组成,从上到下以此编号为 1∼N,第 i 个喷泉的直径为 Di,容量为 Ci,当一个圆盘里的水大于了这个圆盘的容量,那么水就会溢出往下流,直到…...
Pycharm(二十)张量的运算与操作
一、张量的数据类型转换 1.演示data.type(trch.DoubleTensor) #1.创建张量对象 [6 6 6;6 6 6] datatorch.full([2,3],6) print(data.dtype)#默认为torch.int64(LongTensor) #2.转化为double类型 datadata.type(torch.DoubleTensor) print(data.dtype) #3.转换成int类型 datad…...
JVM之内存管理(二)
部分内容来源:JavaGuide二哥Java 说⼀下 JDK1.6、1.7、1.8 内存区域的变化? JDK1.6、1.7/1.8 内存区域发⽣了变化,主要体现在⽅法区的实现: JDK1.6 常量池在方法区 JDK1.7 JDK1.6 使⽤永久代实现⽅法区:JDK1.7 时发…...
蓝桥杯嵌入式第十一届省赛真题
(一)题目 首先要知道P37对应的CubeMx上面的引脚是PB15,给PB15设置成ADC采集。使用到的PA6和PA7的端口要进行定时器配置 100Hz80 000 000/800 *1000 200Hz80 000 000/400 *1000 ADC采集只需要选择好adc1、adc2 再选择好它的通道就可以了,不…...
LLMs之ChatGPT:《Connecting GitHub to ChatGPT deep research》翻译与解读
LLMs之ChatGPT:《Connecting GitHub to ChatGPT deep research》翻译与解读 导读:这篇OpenAI帮助文档全面介绍了将GitHub连接到ChatGPT进行深度代码研究的方法、优势和注意事项。通过连接GitHub,用户可以充分利用ChatGPT强大的代码理解和生成…...
多环境开发
# 应用环境(公共环境,写一些公共配置) spring:profiles:active: dev --- # 设置环境 # 生产环境 spring:config:activate:on-profile: pro server:port: 80 --- # 开发环境 spring:config:activate:on-profile: dev server:port: 81 --- # 测试环境 spring:config:activate:on-…...
游戏引擎学习第269天:清理菜单绘制
回顾并为今天的工作设定目标 昨天我们对调试系统中的菜单处理做了一些清理工作,今天我想继续对它们的展示和使用方式进行一些打磨和改进。今天的计划还不完全确定,我还没有完全决定要做什么,但是我希望能够完成这部分工作,所以我…...
《解锁React Native与Flutter:社交应用启动速度优化秘籍》
React Native和Flutter作为当下热门的跨平台开发框架,在优化应用启动性能方面各有千秋。今天,我们就深入剖析它们独特的策略与方法。 React Native应用的初始包大小对启动速度影响显著。在打包阶段,通过精准分析依赖,去除未使用的…...
Web3 初学者的第一个实战项目:留言上链 DApp
目录 📌 项目简介:留言上链 DApp(MessageBoard DApp) 🧠 技术栈 🔶 1. Solidity 智能合约代码(MessageBoard.sol) 🔷 2. 前端代码(index.html script.js…...
Innovus 25.1 版本更新:助力数字后端物理设计新飞跃
在数字后端物理设计领域,每一次工具的更新迭代都可能为项目带来巨大的效率提升与品质优化。今天,就让我们一同聚焦 Innovus 25.1 版本(即 25.10 版本)的更新要点,探寻其中蕴藏的创新能量。 一、核心功能的强势进 AI…...
Git简介和发展
Git 简介 Git是一个开源的分布式版本控制系统,跨平台,支持Windows、Linux、MacOS。主要是用于项目的版本管理,是由林纳斯托瓦兹(Linux Torvalds)在2005年为Linux内核开发而创建。 起因 在2002年至2005年间,Linux内核开发团队使…...
adb 实用命令汇总
版权归作者所有,如有转发,请注明文章出处:https://cyrus-studio.github.io/blog/ 基础adb命令 # 重启adb adb kill-server# 查看已连接的设备 adb devices# 进入命令行 adb shell# 使用 -s 参数来指定设备 adb -s <设备序列号> shell…...
DAX 权威指南1:DAX计算、表函数与计算上下文
参考《DAX 权威指南 第二版》 文章目录 二、DAX简介2.1 理解 DAX 计算2.2 计算列和度量值2.3 变量2.3.1 VAR简介2.3.2 VAR的特性 2.4 DAX 错误处理2.4.1 DAX 错误类型2.4.1.1 转换错误2.4.1.2 算术运算错误2.4.1.3 空值或 缺失值 2.4.2 使用IFERROR函数拦截错误2.4.2.1 安全地进…...
使用fdisk 、gdisk管理分区
用 fdisk 管理分区 fdisk 命令工具默认将磁盘划分为 mbr 格式的分区 命令: fdisk 设备名 fdisk 命令以交互方式进行操作的,在菜单中选择相应功能键即可 [rootlocalhost ~]# fdisk /dev/sda # 对 sda 进行分区 Command (m for help): # 进入 fdis…...
Python----神经网络(《Deep Residual Learning for Image Recognition》论文和ResNet网络结构)
一、论文 1.1、论文基本信息 标题:Deep Residual Learning for Image Recognition 作者:Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun 单位:Microsoft Research 会议:CVPR 2016 主要贡献:提出了一种深度残…...
PostgreSQL 的 pg_collation_actual_version 函数
PostgreSQL 的 pg_collation_actual_version 函数 pg_collation_actual_version 是 PostgreSQL 中用于检查排序规则实际版本信息的函数,主要与 ICU (International Components for Unicode) 排序规则相关。 函数基本概念 函数定义 pg_collation_actual_version(…...
使用Simulink开发Autosar Nvm存储逻辑
文章目录 前言Autosar Nvm接口设计模型及接口生成代码及arxmlRTE接口mappingRTE代码分析总结 前言 之前介绍过Simulink开发Dem故障触发逻辑,本文接着介绍另外一个常用的功能-Nvm存储的实现。 Autosar Nvm接口 Autosar Nvm中一般在上电初始化的时调用Nvm_ReadAll获…...
嵌入式STM32学习——继电器
继电器模块引脚说明 VCC(): 供电正极。连接此引脚到电源(通常是直流电源),以提供继电器线圈所需的电流。 GND(-): 地。连接此引脚到电源的负极或地。 IN(或…...
更换内存条会影响电脑的IP地址吗?——全面解析
在日常电脑维护和升级过程中,许多用户都会遇到需要更换内存条的情况。与此同时,不少用户也担心硬件更换是否会影响电脑的网络配置,特别是IP地址的设置。本文将详细探讨更换内存条与IP地址之间的关系,帮助读者理解这两者之间的本质…...
AWS SNS:解锁高并发消息通知与系统集成的云端利器
导语 在分布式系统架构中,如何实现高效、可靠的消息通知与跨服务通信?AWS Simple Notification Service(SNS)作为全托管的发布/订阅(Pub/Sub)服务,正在成为企业构建弹性系统的核心组件。本文深度…...
【Java ee初阶】网络编程 TCP
TCP的socket api 两个核心的类 ServerSocket 创建一个这样的对象,就相当于打开了一个socket文件。 这个socket对象是给服务器专门使用的 这个类本身不负责发送接收。 主要负责“建立连接” Socket 创建一个这样的对象,也就相当于打开了一个socket文…...
达索MODSIM实施成本高吗?哪家服务商靠谱?
在数字化转型的浪潮中,越来越多的制造企业开始关注达索系统的MODSIM技术。记得去年参加行业峰会时,一位来自汽车零部件企业的技术总监向我倾诉了他的困扰:"我们都知道MODSIM能提升研发效率,但听说实施成本很高,又…...
ISP接口隔离原则
任何层次的软件设计如果依赖了它并不需要的东西,就会带来意料之外的麻烦。ISP强调使用多个特定的接口,而不是一个总接口,避免依赖不需要的接口。即不需要则不应该知道。 ISP特点 降低耦合度:客户端只依赖它需要的接口࿰…...
AI Agent(8):安全与伦理考量
引言 AI Agent作为具有一定自主性的智能系统,其行为可能产生深远影响。确保这些系统安全、可靠、符合伦理标准,并遵守相关法规,不仅是技术挑战,也是社会责任。 随着AI Agent能力的增强,其潜在风险也在增加,从数据泄露到决策偏见,从自主性滥用到责任归属不清,这些问题…...
Python3虚拟环境与包管理:项目隔离的艺术
Python3虚拟环境与包管理 为什么需要虚拟环境?虚拟环境工具:你的岛屿建设者一、使用venv创建虚拟环境创建虚拟环境激活虚拟环境退出虚拟环境 二、 包管理:岛上的补给系统2.1 pip:Python的包安装工具基本用法依赖管理 2.2 高级包管…...
23、DeepSeekMath论文笔记(GRPO)
DeepSeekMath论文笔记 0、研究背景与目标1、GRPO结构GRPO结构PPO知识点**1. PPO的网络模型结构****2. GAE(广义优势估计)原理****1. 优势函数的定义**2.GAE(广义优势估计) 2、关键技术与方法3、核心实验结果4、结论与未来方向关键…...
Python自动化-python基础(下)
六、带参数的装饰器 七、函数生成器 运行结果: 八、通过反射操作对象方法 1.添加和覆盖对象方法 2.删除对象方法 通过使用内建函数: delattr() # 删除 x.a() print("通过反射删除之后") delattr(x, "a") x.a()3 通过反射判断对象是否有指定…...
用Python绘制动态彩色ASCII爱心:技术深度与创意结合
引言 在技术博客的世界里,代码不仅仅是解决问题的工具,更可以是表达创意的媒介。今天我将分享一个独特的Python爱心代码项目,它结合了数学之美、ASCII艺术和动态效果,展示了Python编程的无限可能。这个项目不仅能运行展示出漂亮的…...
【C++】红黑树
1.红黑树的概念 是一种二叉搜索树,在每个节点上增加一个存储位表示节点的颜色,Red或black,通过对任何一条从根到叶子的路径上各个结点着色方式的限制,确保没有一条路径会比其他路径长出俩倍,是接近平衡的。 2.红黑树…...
链表头插法的优化补充、尾插法完结!
头插法的优化补充 这边我们将考虑到可以将动态创建链表,和插入新链表到链表头前方,成为新链表头的方法分开,使其自由度上升,在创建完链表后,还可以添加链表元素到成为新的链表头。 就是说可以单独的调用这个insertHea…...
Java多线程(超详细版!!)
Java多线程(超详细版!!) 文章目录 Java多线程(超详细版!!)1. 线程 进程 多线程2.线程实现2.1线程创建2.1.1 继承Thread类2.1.2 实现runnable接口2.1.2.1 思考:为什么推荐使用runnable接口?2.1.2.1.1 更高的…...
超详细fish-speech本地部署教程
本人配置: windows x64系统 cuda12.6 rtx4070 一、下载fish-speech模型 注意:提前配置好git,教程可在自行搜索 git clone https://gitclone.com/github.com/fishaudio/fish-speech.git cd fish-speech 或者直接进GitHub中下载也可以 …...
Flink和Spark的选型
在Flink和Spark的选型中,需要综合考虑多个技术维度和业务需求,以下是在项目中会重点评估的因素及实际案例说明: 一、核心选型因素 处理模式与延迟要求 Flink:基于事件驱动的流处理优先架构,支持毫秒级低延迟、高吞吐的…...
解锁 DevOps 新境界 :使用 Flux 进行 GitOps 现场演示 – 自动化您的 Kubernetes 部署
前言 GitOps 是实现持续部署的云原生方式。它的名字来源于标准且占主导地位的版本控制系统 Git。GitOps 的 Git 在某种程度上类似于 Kubernetes 的 etcd,但更进一步,因为 etcd 本身不保存版本历史记录。毋庸置疑,任何源代码管理服务…...
【从零实现JsonRpc框架#1】Json库介绍
1.JsonCpp第三方库 JSONCPP 是一个开源的 C 库,用于解析和生成 JSON(JavaScript Object Notation)数据。它提供了简单易用的接口,支持 JSON 的序列化和反序列化操作,适用于处理配置文件、网络通信数据等场景。 2.Jso…...