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

多点:分布式升级助力新零售转型,成本节省超80% | OceanBase 案例

本文作者:多点数据库DBA团队

编者按:多点是零售行业数字(智)化的先行者,为全球企业提供创新的数字化解决方案。然而,在数字化转型的过程中,多点原有的数据库架构逐渐暴露出架构复杂、成本上升等问题。在本文中,多点资深DBA杨家鑫深入探讨了未来数据库的发展趋势,指出SQL与NoSQL的结合将成为必然方向,并强调效率提升是企业发展的核心主题。同时,他还分享了多点通过引入OceanBase升级数据库架构、简化技术栈,最终实现降本增效的实践经验。

现状:数字化浪潮来袭,转型迫在眉睫

​在我国,数字化作为推动经济发展的新引擎,正在成为千行百业转型升级的方向。据统计,2023年我国的GDP总量已达到126万亿,其中数字经济的占比高达42%,即53万亿之巨。这一数字不仅彰显了数字经济的庞大体量,更预示着其势不可挡的发展趋势。目前服务业在国民经济中的占比已超过50%,成为经济发展的重要支柱。然而,传统的人工服务受限于规模化量产的难题,难以进一步推动经济增速。而数字化,正是破解这一难题的关键所在。

​多点作为零售数字化领域的先锋,提供全局数字化解决方案,拥有上百个全渠道系统,涵盖会员管理、商品、营销、O2O、POS系统、WMS物流、AI出清、AI导购等多个关键环节,为零售企业提供全方位的数字化支持。多点的客户遍布国内、东南亚及欧洲等地,其中包括知名网红商家,全国性连锁便利店,合资连锁商超等。然而在这些业务背后,我们的系统曾面临多种挑战。

挑战:多种数据库并存,复杂度与成本攀升

尽管数字化浪潮势不可挡,但我们在零售SaaS领域仍面临诸多挑战。这些挑战主要集中在四个方面:系统复杂度高、数据增长迅速、资源成本高昂以及运维成本居高不下。资源成本之所以成为最突出的问题,原因在于零售作为民生行业,其业务系统必须全天候运行,无论是供应链的采购、销售、物流还是电商环节,除开白天还在夜间乃至凌晨进行作业。这导致大量数据不断涌入数据库,使得资源成本像一条不断上升的斜线,无限制地增长。

1

该截图是自己画的示例

目前,我们主要使用六种开源数据库,整个生产环境中的数据库实例已超过一万个,数据空间规模也接近10PB级别。生产环境的数量之多,已难以用双手计数。在使用多种数据库的过程中,我们也遇到了一系列问题。首要的是技术复杂性,其次是高昂的运维成本、管理成本、学习成本以及交付成本。一套私有化环境的交付涉及上百个系统,以及上百套数据库集群和数百个数据库实例。对于我们的DBA而言,他们不仅需要掌握多种技术,还要考取相关认证,学习成本极高。

选型:OceanBase四大优势赋能多点

那么,分布式数据库OceanBase带来了哪些变革?

如下图所示,OceanBase架构简洁明了。上层仅设一层OBProxy代理,专职路由转发。下层OBServer则身兼两职,既负责计算也负责存储,实现计算存储一体化。这一设计显著减少了网络交互,使得架构更加清晰高效。即便在同机房内,网络延迟也约在1毫秒左右,而计算存储一体化则大幅降低了这种延迟,因为内存响应延迟仅为微秒级,相较之下,性能提升上千倍。

此外,OBProxy与OBServer相结合,仅需三台服务器即可搭建。这是因为我们将OBProxy代理与OBServer部署在同一环境中。至于OCP管理节点,它具备管理多套OBServer数据库的能力,因此其服务器资源的边际成本被有效分摊,使得搭建一套OceanBase集群仅需三台服务器资源。

2

该截图是OceanBase架构图

总结而言, OceanBase数据库主要有四大优势。

  • 存储成本更低。其存储成本之所以更低,是因为它不仅采用了通用的压缩算法,还应用了数据编码技术。根据我们的实践经验,将MySQL数据库迁移至OceanBase后,单副本的压缩率接近90%,这一数据表现极为出色。
  • 混合部署更稳。OceanBase之所以混合部署更稳定,是因为它不仅能实现租户间的隔离,还能在租户内部设置隔离,限制用户或库级别的IO和CPU消耗。
  • 兼具低延迟和高并发的特性。OceanBase之所以能同时支持低延迟和高并发,其中一个原因是可以配置Primary Zone,即将主副本集中在一个OBServer节点上进行读写,类似于单机MySQL的读写模式,从而提供更低的延迟和更优的性能。而当需要应对高并发场景时,可以配置副本在多个server节点间进行负载均衡,以支持更高的并发量。
  • 周边工具更加完善。 我们广泛利用多台服务器的I/O和CPU资源,其中OCP管理平台发挥了关键作用。它集成了监控告警、备份等丰富功能,无论是能想到的还是未曾设想的,一应俱全。在问题排查时,它提供的Top SQL、Slow SQL和可疑SQL分析功能尤为实用。此外,OMS数据同步功能支持将多种数据源的数据轻松同步至我们的数据库。

思考:SQL+NoSQL成未来趋势,提效是企业主旋律

除了上述OceanBase在多点业务场景中所具备的多种优势,我认为OceanBase数据库是面向未来的数据库。为什么这么说?我们已步入数字化时代,未来将向数字化、智能化方向迈进。AI技术将如智能手机般普及,深入寻常百姓家。未来数据库一定是同时支持关系型与非关系型数据。关系型数据库,如MySQL,以其ACID特性和结构化事务处理能力而广受欢迎。非关系型数据库,如Redis,则以其灵活扩展和高度自由性著称。未来的数据库需融合两者优势,满足多样化数据需求。

对于个人而言,当前,我们身处信息爆炸的社会,数据显示,每位活跃的成年人每日接收的信息量约达34GB,涵盖社交媒体、娱乐媒体及短视频等。对于技术而言,鉴于个人对技术的掌握势必有限,未来技术将趋于收敛,信息数据也将逐渐整合简化。对于企业而言,技术栈将更精简、更高效,提效将成为未来主旋律。

OceanBase正符合未来数据库的设想,并且OceanBase也在持续进化。自4.0版本起,它已支持单机与分布式一体化。4.2版本则正式引入了OBKV Redis支持。而最新的4.3版本,更是新增了对向量化引擎和列存的支持,这一引擎正是AI大模型的基石。

3

该截图是自己画的示例

落地:从MySQL到OceanBase,成本节省超80%

截至目前,我们已在OceanBase成功上线了五个业务库,数据量 20T,涵盖某物流系统、某结算系统、某虚拟系统以及监控和快照慢查询分析库。其中,这些业务对商家尤为重要,特别是对于大型客户,他们的仓库与门店融为一体,需要24小时不间断运营,包括凌晨时段。这些只是当前的部分应用场景,未来我们将继续拓展OceanBase的应用范围,将更多业务迁移到OceanBase平台上。

1.存储成本收益明显

当我们将业务从MySQL迁移到OceanBase时,在MySQL中2.1T的单副本数据量,到OceanBase后锐减至252GB。这一显著变化得益于OceanBase的通用压缩和数据编码技术,使得压缩率大幅提升。具体来说,单副本的压缩率已接近惊人的90%。由于MySQL采用的是一主两副本架构,而OceanBase则采用三副本架构,综合计算下来,OceanBase的整体压缩率带来了超过80%的成本节省。这不仅体现在存储成本上,还包括运维成本的显著降低。

2.运维更加简单

首先,分布式数据库扩展能力相比集中式数据库运维更简单。对于DBA来说,维护并迁移一个20T规模的数据库,在MySQL环境下至少需要40套,每套1TB的MySQL实例,且迁移过程会有损,导致现有数据库连接全部中断,需要至少一名DBA全程参与。然而,在OceanBase中,由于其支持动态扩缩容和无损变更,只需扩容OBServer存储节点,并将域名解析到新的OBProxy上,即可实现无损迁移。此外,OceanBase基于Paxos协议,确保了数据强一致性和安全性。

其次,借助可视化管控工具运维更方便。OCP还提供了备份、告警的可视化管理,以及良好的可观测性,包括Top SQL、Slow SQL的监控,并且原生支持高可用架构。OCP管理平台需要一套独立的元数据数据库,它与业务数据库分离,以确保管理的独立性和数据的清晰性。因此,我们额外建立了一套元数据数据库。

4

该截图是自己画的示例

目前,OceanBase中的TPS已达到近1500,而QPS的最高值也接近3000。

5

截图来自于开源OceanBase OCP平台

3.使用心得小结

我们发现Top SQL和Slow SQL分析工具对DBA及业务方在问题排查和压力情况了解方面极具价值。特别地,我们的系统响应时间已接近1毫秒,这一数字表明OceanBase的性能已与单机MySQL相当。这一优异表现部分归功于我们采用了高性能配置,特别是使用了NVME SSD作为存储介质。NVME SSD在固态硬盘中性能卓越,为我们的系统提供了强大的支持。

更重要的是,我们还配置了Primary Zone,这一配置能够将OceanBase的多个副本中的主副本全部集中到一个OB server节点上。这样,在进行直接读写操作时,就相当于在操作一个单机数据库,从而有效减少了多表跨节点join所产生的分布式事务。通过这种方式,我们将分布式事务转化为单机事务,使得系统性能得以提升至接近1毫秒的响应时间。就性能而言,如果要在1毫秒的基础上进一步提升,那就只能依赖纯内存缓存的解决方案了。

6

截图来自于开源OceanBase OCP平台

未来:应用OceanBase持续降本提效

下图示例了我们当前某生产环境最近一天的数据增长量近2000GB左右。这意味着,每月我们将消耗近60TB的磁盘资源,每月资源增长2.5%,按此增速计算,一年下来磁盘资源增长将到24%,就犹如滚雪球一样越滚越大。随着资源成本的持续增长,这一趋势显得尤为严峻。

7

该截图是自己画的示例

未来,我们将积极探索在更多业务场景中,以及将关系型MySQL与非关系型Redis数据库迁移到OceanBase平台,以有效控制资源成本的持续增长。通过优化资源配置,降低成本支出,从而直接提升利润空间。

最后,我想赠予大家一句话,亦是一份宝贵的资源:

“万物之中,希望至美;至美之物,永不凋零。” 或许这句话大家耳熟能详,它正是源自豆瓣电影史上评分最高的作品——《肖申克的救赎》。影片中的主角,始终怀揣希望,从未放弃。正是这份希望,引领他走向成功。

同样,正是希望的力量,才让我们见证了OceanBase这一优秀国产数据库的蓬勃发展。

相关文章:

多点:分布式升级助力新零售转型,成本节省超80% | OceanBase 案例

本文作者:多点数据库DBA团队 编者按:多点是零售行业数字(智)化的先行者,为全球企业提供创新的数字化解决方案。然而,在数字化转型的过程中,多点原有的数据库架构逐渐暴露出架构复杂、成本上升等…...

Java权限修饰符深度解析

Java权限修饰符深度解析与最佳实践 一、权限修饰符总览 Java提供四种访问控制修饰符,按访问范围从宽到窄排序如下: 修饰符类内部同包类不同包子类全局范围public✔️✔️✔️✔️protected✔️✔️✔️❌默认(无)✔️✔️❌❌pr…...

RocketMQ和kafka 的区别

一、数据可靠性与容错机制 数据可靠性 RocketMQ支持同步刷盘和同步复制,确保消息写入磁盘后才返回确认,单机可靠性高达10个9,即使操作系统崩溃也不会丢失数据159。而Kafka默认采用异步刷盘和异步复制,虽然吞吐量高,但极…...

分布式限流器框架 eval-rate-limiter

分布式限流器框架 eval-rate-limiter 文章目录 分布式限流器框架 eval-rate-limiter前言设计流程图 核心方法tryAcquire 获取通信证增加访问次数 incrementRequestCount生成分布式 key generateRateLimiterKey 测试测试代码结果Redis 客户端 前言 基于 redis 实现的分布式限流…...

使用Docker部署Java项目的完整指南

前言 Docker是一个轻量级的容器化平台,可将应用及其依赖打包成标准化单元,实现快速部署和环境隔离。本文以Spring Boot项目为例,演示如何通过Dockerfile部署Java应用。 准备工作 本地环境 安装Docker Desktop(官网下载&#xff0…...

机器学习数据需求与应用分析

监督学习、无监督学习和强化学习作为机器学习的核心范式,对数据条件的需求存在显著差异。以下是具体分析: 一、监督学习的数据条件 数据要求 监督学习需要带标签(labeled)的数据集,即每个输入样本都有对应的目标输出&a…...

【机器学习算法】基于python商品销量数据分析大屏可视化预测系统(完整系统源码+数据库+开发笔记+详细启动教程)✅

目录 一、项目背景 二、技术思路 三、算法介绍 四、项目创新点 五、开发技术介绍 六、项目展示 一、项目背景 本项目基于Python技术栈构建了"商品销量数据分析与预测系统",通过自动化爬取淘宝商品多维数据(价格、销量、评价、品类等&a…...

springboot集成springcloud vault读值示例

接上三篇 Vault---机密信息管理工具安装及常用示例 Vault机密管理工具集群配置示例 vault签发根证书、中间证书、ca证书流程记录 项目里打算把所有密码都放到vault里管理,vault提供了springcloud vault用来在springboot里连接vault,启动加载vault里的值放…...

BERT 模型是什么

BERT 模型是什么? BERT(Bidirectional Encoder Representations from Transformers)是一种基于Transformer架构的深度学习模型,由Google于2018年提出。它在自然语言处理领域取得了显著成就,成为众多NLP任务的基础。 …...

三元电池正极材料除杂工艺介绍

三元电池正极材料的除杂工艺对于提高电池性能、安全性和稳定性至关重要。以下是对三元电池正极材料除杂工艺的详细介绍: 物理除杂工艺 磁选 原理:利用磁场对磁性杂质的吸引作用实现分离。在三元电池正极材料生产中,常混入铁、钴、镍等磁性金…...

wx212基于ssm+vue+uniapp的科创微应用平台小程序

开发语言:Java框架:ssmuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:M…...

Multi Agents Collaboration OS:数据与知识协同构建数据工作流自动化

1-背景 传统数据系统与业务数字化的开发与维护面临诸多挑战:行业知识获取壁垒高、需求变化快导致开发周期长、系统复杂度高以及人力与资源投入成本巨大。同时,用户在使用过程中也常遇到痛点:手动录入数据繁琐低效、数据分散于各模块难以整合…...

elemenPlus中,如何去掉el-input中 文本域 textarea自带的边框和角标

1、去掉角标 :deep(.el-textarea__inner) {resize: none !important; // 去除右下角图标 }2、去除边框&#xff0c;并自定义背景色 <el-inputref"textareaRef"v-model"tempContent":style"{--el-border-color: rgba(255,255,255,0.0),--el-input-…...

Excel 动态比较两列数据:实现灵活的数据验证

目录 动态比较两列数据的需求动态公式的实现使用INDIRECT和ROW函数公式解释应用 动态公式的优点 快速添加一列公式的技巧使用快捷键Ctrl D使用VBA宏自动化使用“表格”功能自动填充 实际应用场景数据验证动态报告数据清洗 注意事项总结 在数据处理和分析中&#xff0c;Excel 是…...

谷歌推出可免费使用的Firebase Studio:Gemini全栈AI开发利器

谷歌刚刚发布了Firebase Studio,这是其打造的一款沉浸式代码开发平台,旨在与Cursor、Lovable、Bolt和V0等工具竞争。如果你是一名网页开发者,可能只知道Firebase是谷歌的数据库工具。 但现在,它已远不止于此。 Firebase已发展成一个完整的生态系统,如今能帮助你从头到尾…...

spark(二)

本节课接上节课继续对于RDD进行学习&#xff0c;首先是对于创建RDD的不同方式&#xff0c;接着学习了RDD的三种转换算子&#xff1a;Value类型、双Value类型、Key-Value类型&#xff0c;以及各个转换算子的不同使用方式。 学习到如下的区别&#xff1a; map 与 mapPartitions…...

Fay 数字人部署环境需求

D:\ai\Fay>python main.py pygame 2.6.1 (SDL 2.28.4, Python 3.11.9) Hello from the pygame community. https://www.pygame.org/contribute.html [2025-04-11 00:10:16.7][系统] 注册命令... [2025-04-11 00:10:16.8][系统] restart 重启服务 [2025-04-11 00:10:16.8][…...

【Harmony】端云一体化(云函数)

一、云函数的概述 1、什么是云函数 官方解释 云函数是一项Serverless计算服务&#xff0c;提供FaaS&#xff08;Function as a Service&#xff09;能力&#xff0c;一方面云函数将开发测试的对象聚焦到函数级别&#xff0c;可以帮助您大幅简化应用开发与运维相关的事务&…...

利用大模型和聚类算法找出 Excel 文件中重复或相似度高的数据,并使用 FastAPI 进行封装的详细方案

以下是一个利用大模型和聚类算法找出 Excel 文件中重复或相似度高的数据,并使用 FastAPI 进行封装的详细方案: 方案流程 数据读取:从 Excel 文件中读取数据。文本向量化:使用大模型将文本数据转换为向量表示。聚类分析:运用聚类算法对向量进行分组,将相似度高的数据归为…...

通过远程桌面连接wsl2中安装的ubuntu24.04

要介绍的这种方式其实跟直接用wsl来执行命令差不多&#xff0c;是在终端去操作ubuntu。WSL2 默认只提供命令行界面&#xff0c;本文安装xrdp后通过windows远程桌面连接过去。 1、更新软件包列表 sudo apt update 确保你的软件包列表是最新的&#xff0c;否则可能找不到某些包…...

对接和使用国内稳定无水印的 Suno API

随着 AI 的应用日益广泛&#xff0c;各种 AI 程序已经融入我们的日常生活。从最早的写作&#xff0c;到医疗、教育&#xff0c;如今甚至扩展到了音乐领域。 Suno 是一个专注于高质量 AI 歌曲和音乐创作的平台。用户只需输入简单的文本提示词&#xff0c;便可以按照流派风格和歌…...

LeetCode算法题(Go语言实现)_38

我将按照您提供的文档结构为您整理二叉树最近公共祖先&#xff08;LCA&#xff09;问题的解决方案&#xff1a; 一、代码实现 type TreeNode struct {Val intLeft *TreeNodeRight *TreeNode }func lowestCommonAncestor(root, p, q *TreeNode) *TreeNode {if root nil ||…...

Linux学习笔记 1

1.发展史 略...... 2.xshell的使用方法 2.1登录 ssh root公网地址 输入密码&#xff0c;用 uname -r 指令来鉴定是否登录成功。之后就可以进行命令行操作了。 alt enter 全屏、退出 设置多用户指令&#xff0c;新建用户 adduser 名字 passwd 密码 销毁用户&#xf…...

微信小程序跳4

formatMillisecondsTime: function(milliseconds, formatStr) { // 创建一个新的Date对象&#xff0c;传入毫秒值 const date new Date(milliseconds); // 获取年月日时分秒&#xff0c;并确保它们都是两位数 const year date.getFullYear(); const month (date.getMonth() …...

STM32单片机入门学习——第31节: [10-1] I2C通信协议

写这个文章是用来学习的,记录一下我的学习过程。希望我能一直坚持下去,我只是一个小白,只是想好好学习,我知道这会很难&#xff0c;但我还是想去做&#xff01; 本文写于&#xff1a;2025.04.10 STM32开发板学习——第31节: [10-1] I2C通信协议 前言开发板说明引用解答和科普一…...

OpenCV 图形API(24)图像滤波-----双边滤波函数bilateralFilter()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 应用双边滤波到图像。 该函数对输入图像应用双边滤波&#xff0c;如 http://www.dai.ed.ac.uk/CVonline/LOCAL_COPIES/MANDUCHI1/Bilateral_Fil…...

【图像处理基石】什么是影调?并用python实现一个哈苏色彩影调

影调是摄影语言的核心&#xff0c;通过控制明暗、虚实与色彩&#xff0c;可精准传达创作意图。实际选择需结合主题情感、光线条件及画面结构&#xff0c;灵活运用高调、低调或冷暖色调&#xff0c;以强化视觉表现力。 一、影调的定义 影调指画面中明暗、虚实、色彩的层次与对比…...

融智学三大定律:打开人机协同智慧大门的钥匙

...

MySQL行列转换

创建一个sc表并插入数据 方法一: select distinct uid, (select score from sc where s.uiduid and course语文)语文, (select score from sc where s.uiduid and course数学)数学, (select score from sc where s.uiduid and course英语)英语 from sc s; 方法二: select * fro…...

cookie和session哪个生成的时间早

Cookie 和 Session 的出现时间都可以追溯到 Web 开发的早期阶段&#xff0c;但它们的生成顺序在实际应用中通常是先生成 Session&#xff0c;然后通过 Cookie 来存储 Session ID。 详细解释&#xff1a; Session 的生成过程 • 用户请求服务器&#xff1a; • 用户首次访问网…...

sh脚本删除指定后缀.txt的文件,保留6个月的数据

1、linux下脚本删除指定后缀.txt和.path的文件&#xff0c;保留6个月的数据&#xff1a; 下面代码内容&#xff1a; #!/bin/bash # 指定要删除文件的路径列表 paths("/data/fail")# 获取当前系统日期6个月之前的日期 six_months_ago$(date -d "-6 months"…...

嵌入式Linux按键监控模块详解:实现设备重启与长按检测

嵌入式Linux按键监控模块详解&#xff1a;实现设备重启与长按检测 在嵌入式Linux设备开发中&#xff0c;物理按键仍然是用户与设备交互的重要方式。本文将分享一个轻量级但功能完整的按键监控模块&#xff0c;它可以精确识别按键的短按和长按事件&#xff0c;并执行对应操作如…...

[错误经验 坑]关于UDP服务器和客户端通信使用的recvfrom的输出型参数len没有被初始化导致的问题

[错误经验 坑]关于UDP服务器和客户端通信使用的recvfrom的输出型参数len没有被初始化导致的问题 水墨不写bug 文章目录 一、困惑&#xff1a;二、解答&#xff1a;&#xff08;1&#xff09;函数原型1. int sockfd2. void *buf3. size_t len4. int flags5. struct sockaddr *sr…...

KaiwuDB:面向AIoT场景的多模融合数据库,赋能企业数字化转型

引言 在万物互联的AIoT时代&#xff0c;企业面临着海量时序数据处理、多模数据融合和实时分析等挑战。KaiwuDB应运而生&#xff0c;作为一款面向AIoT场景的分布式、多模融合、支持原生AI的数据库产品&#xff0c;为企业提供了一站式数据管理解决方案。 产品概述 KaiwuDB是一…...

Web3 的云基础设施正在成型,Polkadot 2.0 用三项技术改写“上链成本”

在Web3基础设施内卷加剧的今天&#xff0c;“如何以更低成本、更大灵活性部署一条高性能应用链”正成为开发者们最关心的问题。而刚刚走出“技术慢热”误区的Polkadot&#xff0c;正在用一套名为 Polkadot 2.0 的架构升级方案&#xff0c;重新定义这一问题的解法。 这套升级最…...

Elasticsearch 学习规划

Elasticsearch 学习规划 明确学习目标与动机 场景化需求分析 - **S**&#xff1a;掌握Elasticsearch架构体系&#xff0c;熟练使用Elasticsearch 进行数据分析,Elasticsearch结合java 项目落地案例 - **M**&#xff1a;搜索和Elasticsearch相关GitHub项目 - **A**&#xff1a;每…...

OpenHarmony如何编译安装系统应用(以settings设置为例)

开发环境 1.OpenHarmony 2.DevEco Studio 3 .Full Sdk 实现步骤 1.获取设置应用源码 https://gitee.com/openharmony/applications_settings/tree/OpenHarmony-v5.0.0-Release/ 2,使用 DevEco Studio 和 Full SDK对系统应用进行签名,默认工程是未配置签名的状态,所构建…...

手撕 STL 之—— list

目录 引言 1, list_node类及其构造函数 2, list类的创建 3, list基本功能函数 3_1&#xff0c; 构造函数 3_2&#xff0c;push_back 3_3&#xff0c;push_front 3_4&#xff0c; pop_back 3_5&#xff0c;pop_front 4&#xff0c;迭代器 (重点) 4_1&#xff0c;如何设…...

Med-R1论文阅读理解

论文介绍 这篇论文介绍了一个名为 Med-R1 的新方法&#xff0c;用于提升多模态视觉语言模型&#xff08;VLM&#xff09;在医学图像理解和推理任务中的泛化能力和可解释性。下面是对整篇论文的简洁总结&#xff1a; ⸻ &#x1f9e0; 核心思想 • 当前医学 VLM 多依赖于监督…...

微服务相关

1.SpringCloud有哪些常用组件&#xff1f;分别是什么作用&#xff1f; 注册中心&#xff1a;nacos 负载均衡&#xff1a;rabbion/LoadBalancer 网关&#xff1a;gateway 服务熔断&#xff1a;sential 服务调用&#xff1a;Feign 2.服务注册发现的基本流程是怎样的&#x…...

Linux vagrant 导入Centos到virtualbox

前言 vagrant 导入centos 虚拟机 前提要求 安装 virtualbox 和vagrant<vagrant-disksize> (Linux 方式 Windows 方式) 创建一键部署centos 虚拟机 /opt/vagrant 安装目录/opt/VirtualBox 安装目录/opt/centos8/Vagrantfile &#xff08;可配置网络IP&#xff0c;内存…...

Spring Boot MongoDB 分页工具类封装 (新手指南)

Spring Boot MongoDB 分页工具类封装 (新手指南) 目录 引言&#xff1a;为何需要分页工具类&#xff1f;工具类一&#xff1a;PaginationUtils - 简化 Pageable 创建 设计目标代码实现 (PaginationUtils.java)如何使用 PaginationUtils 工具类二&#xff1a;PageResponse<…...

第七章 指针

2024-04 2023-10 A 2023-04 2022-10 2022-04 2021-10 2021-04 2020-10 2020-04...

20年AB1解码java

P8706 [蓝桥杯 2020 省 AB1] 解码 - 洛谷 详细代码如下&#xff1a; import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner innew Scanner(System.in); // 接收输入的字符串char [] c in.next().toCharArray(); // 接收 还原的字符…...

《Java实战:密码加密算法实现与代码解析》

文章目录 一、需求背景二、代码逐模块解析1. 主程序入口2. 密码输入模块3. 加密处理模块4. 结果拼接模块 三、完整代码示例四、运行示例五、优化方向&#xff08;下篇预告&#xff09; 一、需求背景 实现一个4位数字密码的简单加密系统&#xff0c;规则如下&#xff1a; 输入…...

AllData数据中台升级发布 | 支持K8S数据平台2.0版本

&#x1f525;&#x1f525; AllData大数据产品是可定义数据中台&#xff0c;以数据平台为底座&#xff0c;以数据中台为桥梁&#xff0c;以机器学习平台为中层框架&#xff0c;以大模型应用为上游产品&#xff0c;提供全链路数字化解决方案。 ✨杭州奥零数据科技官网&#xf…...

Jupyter notebook使用技巧

一、打开指定文件夹 在快捷方式目标中&#xff0c;使用如下代码 anaconda3\python.exe anaconda3\cwp.py anaconda3 anaconda3\python.exe anaconda3\Scripts\jupyter-notebook-script.py --notebook-dirD:\code\python...

6.3es新特性web worker

Web Worker 是 HTML5 提供的多线程技术&#xff0c;允许在浏览器后台创建独立线程执行 JavaScript 代码&#xff0c;解决主线程因耗时任务导致的 界面卡顿 问题。 核心特性 线程隔离&#xff1a;Worker 线程无法直接操作 DOM 或访问 window 对象通信机制&#xff1a;通过 pos…...

基于 OpenHarmony 5.0 的星闪轻量型设备应用开发——Ch3 设备驱动开发

写在前面&#xff1a;本篇是系列文章《基于 OpenHarmony 5.0 的星闪轻量型设备应用开发》的第 3 章。本篇从 GPIO、PWM、I2C、UART 以及 ADC 等方面对基于 OpenHarmony 5.0 的 WS63 设备驱动开发进行了详细的介绍。本篇的篇幅较长&#xff0c;建议先收藏再阅读。 3.1 OpenHarmo…...

iphone各个机型尺寸

以下是苹果&#xff08;Apple&#xff09;历代 iPhone 机型 的屏幕尺寸、分辨率及其他关键参数汇总&#xff08;截至 2023年10月&#xff0c;数据基于官方发布信息&#xff09;&#xff1a; 一、标准屏 iPhone&#xff08;非Pro系列&#xff09; 机型屏幕尺寸&#xff08;英寸…...