Ceph块存储
#### 一、Ceph块存储
##### 镜像快照管理
> 实现数据备份、恢复和测试等操作,而不影响原始数据,提高系统的可靠性和可用性。
```shell
# 创建镜像
rbd create img1 --size 10G
# 映射镜像到本地并格式化挂载
rbd map img1
mkfs -t xfs /dev/rbd0
mount /dev/rbd0 /mnt/
# 创建快照
rbd snap create img1 --snap img1-sn1 #创建快照
rbd snap ls img1 #查看img1镜像已有快照
# 测试快照回滚数据
在创建快照前添加文件,再创建快照,删除文件模拟误操作
回滚前需要卸载设备并取消映射关系
umount -a;rbd unmap img1
rbd snap rollback img1 --snap img1-sn1 #回滚到指定快照
映射img1镜像到本地,挂载镜像,找到之前添加的文件确认数据能够恢复
# 保护快照防止误删除
rbd snap protect img1 --snap img1-sn1 #保护指定快照
验证保护开启删除快照
# 删除快照和镜像
rbd snap unprotect img1 --snap img1-sn1 #取消快照保护模式
删除镜像前需要删除快照
rbd snap rm img1 --snap img1-sn1 #删除指定快照
umount /dev/rbd0 #卸载设备
rbd unmap img1 #取消映射关系
rbd remove img1 #删除镜像
```
##### 镜像快照克隆
> 单个镜像同时被挂载到多个节点,会损坏数据。使用快照克隆不直接对镜像克隆,只有受保护的快照才能实现克隆,克隆流程:创建镜像——创建快照——保护快照——克隆镜像。快速创建克隆镜像、支持多个克隆镜像和支持快照克隆链是它的主要作用。克隆链指在一个克隆镜像的基础上再次创建克隆镜像,形成克隆链
```shell
# 创建镜像
rbd create img2 --size 10G
# 映射镜像后格式化挂载并添加一些文件
rbd map img2
mkfs.xfs /dev/rbd0
mount /dev/rbd0 /mnt
随便加入一些文件做案例
umount /mnt
rbd unmap img2
# 创建快照并保护快照
rbd snap create img2 --snap img2-sn1
rbd snap protect img2 --snap img2-sn1
# clone镜像
rbd clone img2 --snap img2-sn1 img2-sn1-1
rbd clone img2 --snap img2-sn1 img2-sn1-2
# 客户端映射测试镜像
rbd map img2-sn1-1
因为快照克隆镜像有数据所以不需要格式化
挂载镜像1,并查看镜像1中的数据
挂载镜像2,并查看镜像2中的数据,会报错
blikd查看两块rbd的UUID一样,系统无法分辨,只能挂载一块
# 查看快照/克隆镜像信息
rbd info img2 --snap img2-sn1
rbd info img2 --snap img2-sn1-1
rbd info img2 --snap img2-sn1-2
# 合并父子镜像
rbd flatten img2-sn1-2
rbd info img2-sn1-2 #该镜像无parent信息
# 清理镜像/快照
卸载rbd设备
取消映射关系:rbd unmap img2-sn1-1
删除克隆镜像:rbd rm img2-sn1-1
取消快照保护:rbd snap unprotect img2 --snap img2-sn1
删除快照:rbd snap rm img2 --snap img2-sn1
删除镜像:rbd rm img2
```
##### 镜像开机自动挂载
```shell
## 配置rbd设备开机自动挂载
# 创建测试镜像
rbd create img1 --size 10G
rbd map img1
mkfs.xfs /dev/rbd0
# 配置开机自动映射镜像
vim /etc/ceph/rbdmap
rbd/img1 id=admin,keyring=/etc/ceph/ceph.client.admin.keyring
systemctl enable --now rbdmap
# id和keyring在文件下查看:cat /etc/ceph/ceph.client.admin.keyring
# 配置rbd设备开机自动挂载
vim /etc/fstab
/dev/rbd/rbd/img1 /mnt xfs noauto 0 0
/设备/rbd设备/存储池名/镜像名
# 重启,测试开机自动映射并挂载rbd设备
df-Th | grep mnt
```
#### 二、Ceph文件存储
> 明确存储设备或分区上文件的方法和数据结构
>
> 显示文件的状态信息:stat [/路径/文件]
>
> ##### 数据(data)与元数据(metadata)
>
> - 数据是文件的主要内容
> - 元数据则是描述这些数据的附加信息,如属主、属组、权限等
##### CephFS配置及使用
```shell
## CephFS中数据与元数据独立存储于不同的存储池
# 创建存储池(一个元数据池可以对应多个数据池)
ceph osd pool create data01 128 #创建数据池
ceph osd pool create metadata01 128 #创建元数据池
# 创建文件系统
ceph fs new myfs01 metadata01 data01 #元数据池在前,数据池在后
ceph fs ls #查看创建的文件系统
# 启用MDS组建,文件系统需要mds组建
ceph orch apply mds myfs01 --placement='3 ceph1 ceph2 ceph3'
# 获取MDS状态
ceph mds stat
# 列出当前Ceph集群中所有MDS(Metadata Server)守护进程的状态信息
ceph orch ps --daemon-type=mds
```
##### 客户端使用CephFS文件系统
```shell
# id和keyring在文件下查看:cat /etc/ceph/ceph.client.admin.keyring
[client.admin] #用户名
key = AQAO87JnKpFcGxAAXoZhYMrKchlfhVYiPoMBUg== #密码
...
mkdir /mydata
# 挂载在目录下:
mount -t ceph 192.168.88.11:/ /mydata -o name=admin,secret=AQAO87JnKpFcGxAAXoZhYMrKchlfhVYiPoMBUg==
df -hT | grep ceph
```
##### 多文件系统挂载
```shell
## 测试多文件系统挂载
# 创建新的文件系统
ceph osd pool create data02 64
ceph osd pool create metadata02 64
ceph fs new myfs02 metadata02 data02
ceph fs ls
# 客户端测试
mount -t ceph 192.168.88.11:/ /mydata -o name=admin,secret=AQAVfwtmJmI/CRAAKg1mVOsRIHcTvQckllYZsA==,fs=myfs01
cp /etc/hosts /mydata/
umount /mydata
mount -t ceph 192.168.88.11:/ /mydata -o name=admin,secret=AQAVfwtmJmI/CRAAKg1mVOsRIHcTvQckllYZsA==,fs=myfs02
cp /etc/passwd /mydata/
umount /mydata
```
#### 三、Ceph对象存储
> 对象存储是用于存储大量非结构化数据的架构模型,使用简单的http或https协议访问文件,而不是传统的文件系统API。相比于传统文件系统存储在目标或文件夹,对象存储是将数据存储为独立的数据对象,包括数据、元数据、唯一标识
>
> RGW(RADOWS GATEWAY)是Ceph对象存储的网关,用于向客户端应用呈现存储界面,提供RESTful API访问接口
##### Ceph-RGW配置及使用
```shell
## 启动RGW服务
# 集群配置RGW网关
ceph orch apply rgw myrgw --placement="3 ceph1 ceph2 ceph3" --port 8080
作用是:在ceph[1..3]三台主机上,各部署一个RGW实例,每个RGW实例将监听8080端口。总共部署3个RGW实例。部署的RGW是Ceph的对象存储网关,提供与Amazon S3和OpenStack Swift兼容的API。
# 列出当前Ceph集群中所有RGW(RADOS Gateway)守护进程的状态信息
ceph orch ps --daemon-type=rgw
```
##### 客户端使用rgw
> ceph对象存储了与Amazon S3兼容的接口,对象被存储在bucket的器皿中。
```shell
## 客户端使用s3cmd或者awscli工具
# 创建对象存储用户
radosgw-admin user create --uid=testuser --display-name="Test User" --email=test@tedu.cn --access-key=12345 --secret-key=67890
radosgw-admin user info --uid=testuser
或者使用https://192.168.88.12:8443/ceph提供的网页端创建pools、user和buckets
# 安装Amazon S3 cli工具
yum -y install awscli
# 配置s3 cli工具
aws configure --profile=ceph #输入access_key和secret_key
查看两个文件:/root/.aws/config和credentials
# 创建桶
aws --profile=ceph --endpoint=http://ceph1:8080 s3 mb s3://testbucket
# 测试文件上传下载
aws --profile=ceph --endpoint=http://ceph1:8080 --acl=public-read-write s3 cp /etc/hosts s3://testbucket/hosts.txt
# 查看上传文件
aws --profile=ceph --endpoint=http://ceph1:8080 s3 ls s3://testbucket/
# 访问上传文件
curl http://ceph1:8080/testbucket/hosts.txt
# 下载文件
wget -O ceph_download.txt http://ceph1:8080/testbucket/hosts.txt
```
##### Ceph对象存储应用(扩展内容)
```shell
## 使用Ceph存储图片
在client准备一个上传文件
# 将文件上传至bucket
aws --profile=ceph --endpoint=http://ceph1:8080 --acl=public-read-write s3 cp /root/desktop.jpg s3://testbucket/
# 测试步骤
安装nginx并启动服务
修改nginx的主页面替换成下列内容 /usr/share/nginx/html/index.html
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>我的简单页面</title>
</head>
<body>
<h1>测试Ceph对象存储</h1>
<img src="http://192.168.88.11:8080/testbucket/desktop.jpg">
</body>
</html>
相关文章:
Ceph块存储
#### 一、Ceph块存储 ##### 镜像快照管理 > 实现数据备份、恢复和测试等操作,而不影响原始数据,提高系统的可靠性和可用性。 shell # 创建镜像 rbd create img1 --size 10G # 映射镜像到本地并格式化挂载 rbd map img1 mkfs -t xfs /dev/rbd0 moun…...
【转载翻译】Open3D和PCL的一些比较
转自个人博客:【转载翻译】Open3D和PCL的一些比较 本人在逛Github时,发现一个解答Open3D和PCL对比的小文章,还挺有参考价值的 原文:https://github.com/LaplaceKorea/investigate_open3d_vs_pcl/blob/main/README.rst#whats-the-s…...
ebpf: CO-RE, BTF, and Libbpf(二)
本文内容主要来源于Learning eBPF,可阅读原文了解更全面的内容。 本文涉及源码也来自于书中对应的github:https://github.com/lizrice/learning-ebpf/ 概述 上篇文章主要讲了CO-RE最关键的一环:BTF,了解其如何记录内核中的数据结…...
RHCE第五章:NFS服务器
一、NFS(network file system) 网络文件系统:在互联网中共享服务器中的文件资源(用于Linux主机共享文件的协议)。 使用nfs服务需要安装:nfs-utils 以及 rpcbind nfs-utils : 提供nfs服务的程序 rpcbind :…...
qt(vs2010) 手动配置moc生成规则
在 Visual Studio 2010 中写QT项目时,有时需要 手动配置 MOC 生成规则 操作步骤: 右键 .h 文件 → Properties。在 Configuration Properties > Custom Build Tool 中: Command Line:"$(QTDIR)\bin\moc.exe" "%(FullPath)…...
mongodb 安装配置
1.下载 官网下载地址:MongoDB Community Download | MongoDB 2.使用解压包 解压包安装:https://pan.baidu.com/s/1Er56twK9UfxoExuCPlJjhg 提取码: 26aj 3.配置环境: (1)mongodb安装包位置: …...
Java多态课堂练习题
Java多态课堂练习题 题目:动物乐园的多态展示 背景设定: 设计一个动物乐园程序,展示不同类型动物的行为特点,要求使用多态特性实现。 1. 基础类设计(已给出部分代码) // 基类:动物 abstract…...
Android Studio 实现自定义全局悬浮按钮
文章目录 一、基础实现方案1. 使用 WindowManager 实现全局悬浮窗2. 布局文件 (res/layout/floating_button.xml)3. 圆形背景 (res/drawable/circle_background.xml)4. 启动服务 二、权限处理1. AndroidManifest.xml 中添加权限2. 检查并请求权限 三、高级功能扩展1. 添加动画效…...
Android Studio 中文字大小的单位详解
文章目录 一、Android 中的尺寸单位1. dp (Density-independent Pixels - 密度无关像素)2. sp (Scale-independent Pixels - 可缩放像素)3. px (Pixels - 像素)4. pt (Points - 磅)5. mm (Millimeters - 毫米) 和 in (Inches - 英寸) 二、文字大小单位的最佳实践1. 始终使用 sp…...
Project ERROR: liblightdm-qt5-3 development package not found问题的解决方法
问题描述:使用make命令进行ukui-greeter-Debian构建时出现Project ERROR: liblightdm-qt5-3 development package not found错误,具体如图: 问题原因:缺乏liblightdm-qt5-3 development软件包 解决方法:安装liblightd…...
基于QT(C++)+SQLServer实现(WinForm)超市管理系统
超市库存管理系 使用 QT 开发,SQLserver 数据库配置 ODBC 数据源:QSQLServer 超市库存管理系统需求规格说明书 1 引言 校园超市的库存物资管理往往是很复杂、很繁琐的。由于所掌握的物资种类众多,订货、管理的渠道各有差异,各个校园超市之间的管理体制…...
06 - 多线程-JUC并发编程-原子类(二)
上一章,讲解java (java.util.concurrent.atomic) 包中的 支持基本数据类型的原子类,以及支持数组类型的原子类,这一章继续讲解支持对实体类的原子类,以及原子类型的修改器。 还有最后java (java…...
HTML:网页的骨架 — 入门详解教程
HTML:网页的骨架 — 入门详解教程 HTML(HyperText Markup Language,超文本标记语言)是构建网页的基础语言,负责定义网页的结构和内容。无论是简单的个人博客,还是复杂的企业网站,HTML都是不可或…...
Oracle 分析函数(Analytic Functions)
Oracle 的分析函数(Analytic Functions)是一类特殊的函数,用于在查询结果的窗口(window)内执行计算(如排名、累计求和、移动平均等),不会聚合结果行,而是为每一行返回一个…...
全新电脑如何快速安装nvm,npm,pnpm
以下是全新电脑快速安装 nvm、npm 和 pnpm 的详细步骤,覆盖 Windows/macOS/Linux 系统: 一、安装 nvm(Node Version Manager) 1. Windows 系统 下载安装包: 访问 nvm-windows 官方仓库,下载 nvm-setup.ex…...
风丘年度活动:2025年横滨汽车工程展览会
| 展会简介: 2025年横滨汽车工程展览会,是由日本汽车工程师学会(JSAE)精心主办的一场行业盛会。预计届时将汇聚超550家参展商,设置1300个展位,展览面积超过20000平方米。展会受众广泛,面向汽车…...
springBoot接入文心一言
文章目录 效果接入步骤项目接入配置类:WenXinYiYan前端vue代码js代码 后端mapper层service层controller层 测试代码 效果 先来看一下最后实现的效果 (1)未点击前的功能页面 (2)点击后的页面 (3ÿ…...
力扣HOT100——无重复字符的最长子字符串
给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 思路: 滑动窗口。遍历整个字符串,…...
Python高级爬虫之JS逆向+安卓逆向1.4节:数据运算
目录 引言: 1.4.1 赋值运算 1.4.2 算术运算 1.4.3 关系运算 1.4.4 逻辑运算 1.4.5 标识运算 1.4.6 爬虫接单赚了10块钱 引言: 大神薯条老师的高级爬虫安卓逆向教程: 这套爬虫教程会系统讲解爬虫的初级,中级,高…...
微信小程序无缝衔接弹幕效果纯CSS
效果图 主要运用蒙层、动画延迟 .wxml <view wx:for"{{detail}}" wx:key"{{index}}" class"container" style"--s:{{item.s}}s" ><view wx:for"{{2}}" wx:key"{{index}}" class"container-item&q…...
vue3:十一、主页面布局(增加左上角系统名称)
一、实现效果 侧边栏可平滑折叠/展开,带有过渡动画 折叠时隐藏Logo文字,只显示图标 优化滚动区域,避免标题栏随菜单滚动 解决折叠/展开时出现的滚动条闪烁问题 二、 实现 1、可以使用 SCSS(Sass 的一种语法) 首先…...
孟加拉slot游戏出海代投FB脸书广告策略
对于在孟加拉进行游戏出海代投的广告策略,可以考虑以下方面: 定位目标受众:确定目标受众群体,包括他们的年龄、兴趣爱好、消费习惯等信息,以便精准定位广告投放对象。 优质创意设计:设计吸引人眼球的广告素…...
算法题(125):子集
审题: 本题需要我们将题目给定数组的所有子集枚举起来 思路: 方法一:二进制枚举 枚举对象:0到1<<n -1的整形数据 枚举顺序:顺序 枚举方式:二进制枚举 在解释二进制枚举的方法之前,我们先看…...
深度学习中的数值稳定性处理详解:以SimCLR损失为例
文章目录 1. 问题背景SimCLR的原始公式 2. 数值溢出问题为什么会出现数值溢出?浮点数的表示范围 3. 数值稳定性处理方法核心思想数学推导 4. 代码实现分解代码与公式的对应关系 5. 具体数值示例示例:相似度矩阵方法1:直接计算exp(x)方法2&…...
查看linux中是否安装了tiktoken
在 Linux 中检查 tiktoken 是否安装的完整方法 通过 pip 命令检查 查看已安装的 Python 包列表: pip list | grep tiktoken 若输出包含 tiktoken,则表示已安装。 获取包详细信息: pip show tiktoken 若显示包版本、安装路径…...
从源码看无界 1.0.28:为何说它是 qiankun 的 “轻量化替代方案”(二)
我们接着上一节的《从源码看无界 1.0.28:为何说它是 qiankun 的 “轻量化替代方案”》内容继续往下。 生命周期图 sandbox.active 方法 我们找到 packages/wujie-core/src/sandbox.ts 文件的第 275 行: //.../** 激活子应用* 1、同步路由* 2、动态修改iframe的fetch* 3、准…...
SQL注入之时间盲注攻击流程详解
目录 一、时间盲注原理 二、完整攻击流程 1. 注入点确认 2. 基础条件判断 3. 系统信息收集 (1)获取数据库版本 (2)获取当前数据库名 4. 数据提取技术 (1)表名枚举 (2)列名猜…...
【NIO番外篇】之组件 Selector
目录 一、Selector:网络世界的“机场管制塔” / “总机接线员” 📡什么是 Selector?它的作用是什么? 二、Selector 的工作流程:塔台是怎么指挥飞机的?1. 飞机就位 (准备 Channel):2. 向塔台报到…...
对接印度尼西亚股票数据源API
随着对东南亚市场的关注增加,获取印度尼西亚(IDX)股票市场的实时和历史数据变得尤为重要。本文将指导您如何使用Spring Boot框架对接一个假定的印尼股票数据源API(例如,StockTV),以便开发者能够…...
SQL(9):创建数据库,表,简单
1、创建数据库,一句SQL语句搞定 CREATE DATDBASE 数据库名 CREATE DATABASE my_db;2、创建表 CREATE TABLE 表名(字段名 类型) CREATE TABLE Persons ( PersonID int, LastName varchar(255), FirstName varchar(255), Address varchar(255), City varchar(255)…...
医学成像中的对比语言-图像预训练模型(CLIP):一项综述|文献速递-深度学习医疗AI最新文献
Title 题目 CLIP in medical imaging: A survey 医学成像中的对比语言-图像预训练模型(CLIP):一项综述 01 文献速递介绍 尽管在过去十年中视觉智能领域取得了重大进展(何恺明等人,2016;塔尔瓦宁和瓦尔…...
KEGG注释脚本kofam2kegg.py--脚本010
采用kofam结合kegg官网htxt进行注释 用法: python kofam2kegg.py kofam.out ath00001.keg my_kegg_output code: import sys from collections import defaultdictdef parse_kofam_file(kofam_file):ko_to_genes defaultdict(list)with open(kofam_file) as f:…...
hevc编码芯片学习-VLSI实现
在Fan等工作中,根据特定算法设计了整像素运动估计引擎,最终的BD-Rate损失非常小,但是硬件开销比较大,搜索算法缺少灵活性,本次设计优化了硬件设计架构, 微代码 取像素 压缩 水平参考像素存储器 寻址控制 转…...
选导师原理
总述 一句话总结:是雷一定要避,好的一定要抢。方向契合最好,不契合适当取舍。 首先明确自身需求: 我要学东西!青年导师,好沟通,有冲劲,高压力。 我要摆烂!中老年男性教…...
2.5亿像素卷帘快门CMOS大幅面扫描相机
规格说明书 主要特征 ◎ 卷帘快门CMOS 传感器 ◎ 2.46 亿像素分辨率 ◎ 全分辨率最高帧率达5fps ◎ 高灵敏度及低噪声 ◎ ROI 区域设置 ◎ 曝光时间灵活控制(外触发,自由运行) ◎ 输出像素格式8/10/12bit 可选 ◎ 自动坏像素校正、平场校正…...
CD27.【C++ Dev】类和对象(18)友元和内部类
目录 1.友元 友元函数 几个特点 友元类 格式 代码示例 2.内部类(了解即可) 计算有内部类的类的大小 分析 注意:内部类不能直接定义 内部类是外部类的友元类 3.练习 承接CD21.【C Dev】类和对象(12) 流插入运算符的重载文章 1.友元 友元函数 在CD21.【C Dev】类和…...
企业级硬盘的测试流程
测试硬盘流程 找一个有Linux操作系统的服务器,配置好管理ip的接口,连接上linux服务器,执行lsblk命令来查看设备的情况 使用mkfs命令格式化要测试的硬盘,格式化之前务必把数据进行备份,可以使用blkid命令查看硬盘的文件…...
std::enable_shared_from_this 模板类的作用是什么?
我们以Connection类的shared智能指针为例说明,std::enable_shared_from_this<Connection> 是一个标准库模板类,它的作用是让一个类的对象能够安全地生成指向自身的 std::shared_ptr,即使该对象最初是通过普通指针或其他方式创建的。 作…...
鸿蒙开发-ArkUi控件使用
2.0控件-按钮 2.1.控件-文本框 Text(this.message).fontSize(40) // 设置文本的文字大小.fontWeight(FontWeight.Bolder) // 设置文本的粗细.fontColor(Color.Red) // 设置文本的颜色------------------------------------------------------------------------- //设置边框Tex…...
大数据学习栈记——MongoDB编程
本文介绍NoSQL技术:MongoDB用Java来连接数据库,执行常见的数据库操作,使用环境:IntelliJ IDEA、Ubuntu24.04。 配置Maven 我们需要使用“MongoDB Driver”,所以先打开“MongoDB Java Driver”项目,但是提…...
体系结构论文(六十七):A Machine-Learning-Guided Framework for Fault-Tolerant DNNs
A Machine-Learning-Guided Framework for Fault-Tolerant DNNs DATE 2024 研究动机 深度神经网络(DNN)虽然对某些扰动具有天然的容错性,但在面对硬件故障(如软错误、老化、环境干扰等)时,仍会出现输出错…...
qt designer 创建窗体选择哪种屏幕大小
1. 新建窗体时选择QVGA还是VGA 下面这个图展示了区别 这里我还是选择默认,因为没有特殊需求,只是在PC端使用...
游戏引擎学习第225天
只能说太难了 回顾当前的进度 我们正在进行一个完整游戏的开发,并在直播中同步推进。上周我们刚刚完成了过场动画系统的初步实现,把开场动画基本拼接完成,整体效果非常流畅。看到动画顺利呈现,令人十分满意,整个系统…...
sql工具怎么选最适合自己的?
sql工具怎么选? 为什么大多数主流工具又贵又难用?有没有一款免费好用的sql工具?像大多数朋友经常用的sql工具应该都遇到过这种情况,用着用着收到了来自品牌方的律师函,或者处理数据时经常卡死,再或者不支持…...
css实现一键换肤
实现一键换肤的时候,我们除了动态替换引用的css文件,还可以通过使用css变量的方式,达到所需效果。 首先我们来了解css变量,css变量以--开头,引用时va(--变量名),例 :root{--default-color: #fff; } .box{b…...
波束形成(BF)从算法仿真到工程源码实现-第八节-波束图
一、概述 本节对MVDR、LCMV、LMS等算法的波束图进行仿真。 二、MVDR代码仿真 2.1 mvdr代码 clc; clear; M 18; % 天线数 lambda 10; d lambda / 2; L 100; %快拍数 thetas [10]; % 期望信号入射角度 thetai [-30 30]; % 干扰入射角度 n [0:M-1]; vs exp(-1j * 2…...
静态代码深度扫描详解
静态代码深度扫描是一种通过分析源代码结构、语法、语义及潜在逻辑,在不运行程序的情况下全面检测代码缺陷、安全漏洞和质量问题的技术。它通过结合数据流分析、控制流分析、符号执行等高级技术,实现对代码的深度理解,帮助开发团队在早期发现…...
LC25. K 个一组翻转链表(自己用)
25. K 个一组翻转链表 Java代码: 思路:利用虚拟头节点结合反转链表实现 Code: class Solution {public ListNode reverseKGroup(ListNode head, int k) {ListNode dummy new ListNode(0);if (head null || k 1)return head;ListNode…...
Spring事务同步器在金融系统中的应用:从风控计算到交易投递
一句话总结 通过 TransactionSynchronization 机制,成功将投行交易系统的可靠性提升至金融级要求,并在对公贷款风控中实现高效资源管理。未来,事务管理将不仅仅是“提交”与“回滚”的二元选择,而是向智能化、实时化演进的核心基础设施。 1. 架构设计 1.1 整体架构图 2.…...
sealos跳转到cusor安装出错
第一次打开cursor安装出错怎么办 我出现这个问题的解决方式是重新下载并且切换目录解决...