DM数据守护集群搭建-读写分离

读写分离集群由一个主库以及一个或者多个配置了即时(Timely)归档或实时(Realtime)归档的备库组成,其主要目标是在保障数据库可用性基础上,实现读、写操作的自动分离,进一步提升数据库的业务支撑能力。读写分离集群通过配置事务一致模式保证主、备库数据一致性,并配合达梦数据库管理系统的各种接口(JDBC、DPI等),将只读操作自动分流到备库,有效降低主库的负载,提升系统吞吐量。

一、环境规划

配置项A机器(主节点)B机器(从节点)C机器(从节点)
心跳IP192.168.148.128192.168.148.130192.168.148.133
实例名DM_01DM_02DM_03
实例端口523652365236
MAL端口533653365336
MAL守护进程端口543654365436
守护进程端口553655365536
OGUID453314533145331
守护组GRP1GRP1GRP1
安装目录/home/dmdba/dmdbms/home/dmdba/dmdbms/home/dmdba/dmdbms
实例归档/home/dmdba/dmdbms/data/home/dmdba/dmdbms/data/home/dmdba/dmdbms/data
归档上限512005120051200

二、环境搭建

初始化主库实例DM_01

su - dmdba
cd /home/dmdba/dmdbms/bin
./dminit path=/home/dmdba/dmdbms/data/  PAGE_SIZE=32  EXTENT_SIZE=32  CASE_SENSITIVE=Y DB_NAME=DM  INSTANCE_NAME=DM_01 PORT_NUM=5236 BUFFER=2048 SYSDBA_PWD=DaMeng123 SYSAUDITOR_PWD=DaMeng123

初始化从库实例DM_02

su - dmdba
cd /home/dmdba/dmdbms/bin
./dminit path=/home/dmdba/dmdbms/data/  PAGE_SIZE=32  EXTENT_SIZE=32  CASE_SENSITIVE=Y DB_NAME=DM  INSTANCE_NAME=DM_02 PORT_NUM=5236 BUFFER=2048 SYSDBA_PWD=DaMeng123 SYSAUDITOR_PWD=DaMeng123

初始化从库实例DM_03

su - dmdba
cd /home/dmdba/dmdbms/bin
./dminit path=/home/dmdba/dmdbms/data/  PAGE_SIZE=32  EXTENT_SIZE=32  CASE_SENSITIVE=Y DB_NAME=DM  INSTANCE_NAME=DM_03 PORT_NUM=5236 BUFFER=2048 SYSDBA_PWD=DaMeng123 SYSAUDITOR_PWD=DaMeng123

主节点注册服务

su root
cd /home/dmdba/dmdbms/script/root
./dm_service_installer.sh -t dmserver -dm_ini /home/dmdba/dmdbms/data/DM/dm.ini -p DMSERVER

在这里插入图片描述
创建成功后启动服务

systemctl start DmServiceDMSERVER.service

注意:三台机器关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

1、配置DM_01主库

修改dm.ini

#configuration fileMAL_INI       = 1         #dmmal.iniARCH_INI      = 1         #dmarch.ini
#data watchALTER_MODE_STATUS    = 0ENABLE_OFFLINE_TS     = 2

创建dmarch.ini

vim /home/dmdba/dmdbms/data/DM/dmarch.ini
#DaMeng Database Archive Configuration file
#0:高性能,1:事务一致
ARCH_WAIT_APPLY      	 = 0        
[ARCHIVE_LOCAL]
#本地归档类型
ARCH_TYPE            = LOCAL        
#本地归档存放路径 
ARCH_DEST            = /home/dmdba/dmdbms/data/DM/arch  
ARCH_FILE_SIZE       = 1024
ARCH_SPACE_LIMIT     = 51200
[ARCHIVE_TIMELY1]
#实时归档类型
ARCH_TYPE            = TIMELY
#实时归档目标实例名
ARCH_DEST            = DM_02
[ARCHIVE_TIMELY2]
#实时归档类型
ARCH_TYPE            = TIMELY
#实时归档目标实例名
ARCH_DEST            = DM_03

创建dmmal.ini

vim /home/dmdba/dmdbms/data/DM/dmmal.ini
MAL_CHECK_INTERVAL         = 10  #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL     = 10  #判定 MAL 链路断开的时间
MAL_TEMP_PATH              = /home/dmdba/dmdbms/data/malpath/  #临时文件目录
MAL_BUF_SIZE               = 512  #单个 MAL 缓存大小,单位 MB
MAL_SYS_BUF_SIZE           = 2048  #MAL 总大小限制,单位 MB
MAL_COMPRESS_LEVEL         = 0  #MAL 消息压缩等级,0 表示不压缩[MAL_INST1]
MAL_INST_NAME            = DM_01  #实例名,和 dm.ini 的 INSTANCE_NAME 一致
MAL_HOST                 = 192.168.148.128  #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT                 = 5336  #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST            = 192.168.148.128  #实例的对外服务 IP 地址
MAL_INST_PORT            = 5236  #实例对外服务端口,和 dm.ini 的 PORT_NUM 一致
MAL_DW_PORT              = 5436  #实例对应的守护进程监听 TCP 连接的端口
MAL_INST_DW_PORT         = 5536  #实例监听守护进程 TCP 连接的端口[MAL_INST2]
MAL_INST_NAME            = DM_02
MAL_HOST                 = 192.168.148.130
MAL_PORT                 = 5336
MAL_INST_HOST            = 192.168.148.130
MAL_INST_PORT            = 5236
MAL_DW_PORT              = 5436
MAL_INST_DW_PORT         = 5536[MAL_INST3]
MAL_INST_NAME            = DM_03
MAL_HOST                 = 192.168.148.133
MAL_PORT                 = 5336
MAL_INST_HOST            = 192.168.148.133
MAL_INST_PORT            = 5236
MAL_DW_PORT              = 5436
MAL_INST_DW_PORT         = 5536

创建dmwatcher.ini

vim /home/dmdba/dmdbms/data/DM/dmwatcher.ini
[GRP1]
DW_TYPE                  = GLOBAL  #全局守护类型
DW_MODE                  = AUTO  #MANUAL:故障手切 AUTO:故障自切
DW_ERROR_TIME            = 20  #远程守护进程故障认定时间
INST_ERROR_TIME          = 20  #本地实例故障认定时间
INST_RECOVER_TIME        = 60  #主库守护进程启动恢复的间隔时间
INST_OGUID               = 45331  #守护系统唯一 OGUID 值
INST_INI                 = /home/dmdba/dmdbms/data/DM/dm.ini  #dm.ini 文件路径
INST_AUTO_RESTART        = 1  #打开实例的自动启动功能
INST_STARTUP_CMD         = /home/dmdba/dmdbms/bin/dmserver  #命令行方式启动
RLOG_SEND_THRESHOLD      = 0  #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD     = 0  #指定备库重演日志的时间阈值,默认关闭

2、配置DM_02从库参数

修改 dm.ini

#configuration file
MAL_INI                         = 1         #dmmal.ini
ARCH_INI                        = 1         #dmarch.ini
#data watch
ALTER_MODE_STATUS               = 0         #Whether to permit database user to alter database mode
ENABLE_OFFLINE_TS               = 2         #Whether tablespace can be offline

创建dmarch.ini

vi /home/dmdba/dmdbms/data/DM/dmarch.ini
#DaMeng Database Archive Configuration file
#0:高性能,1:事务一致
ARCH_WAIT_APPLY      	 = 0        
[ARCHIVE_LOCAL]
#本地归档类型ARCH_TYPE            = LOCAL        
#本地归档存放路径 ARCH_DEST            = /home/dmdba/dmdbms/data/DM/arch  ARCH_FILE_SIZE       = 1024ARCH_SPACE_LIMIT     = 51200
[ARCHIVE_TIMELY1]
#实时归档类型ARCH_TYPE            = TIMELY
#实时归档目标实例名ARCH_DEST            = DM_01
[ARCHIVE_TIMELY2]
#实时归档类型ARCH_TYPE            = TIMELY
#实时归档目标实例名ARCH_DEST            = DM_03

创建dmmal.ini

vi /home/dmdba/dmdbms/data/DM/dmmal.ini
MAL_CHECK_INTERVAL         = 10  #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL     = 10  #判定 MAL 链路断开的时间
MAL_TEMP_PATH              = /home/dmdba/dmdbms/data/malpath/  #临时文件目录
MAL_BUF_SIZE               = 512  #单个 MAL 缓存大小,单位 MB
MAL_SYS_BUF_SIZE           = 2048  #MAL 总大小限制,单位 MB
MAL_COMPRESS_LEVEL         = 0  #MAL 消息压缩等级,0 表示不压缩[MAL_INST1]
MAL_INST_NAME            = DM_01  #实例名,和 dm.ini 的 INSTANCE_NAME 一致
MAL_HOST                 = 192.168.148.128  #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT                 = 5336  #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST            = 192.168.148.128  #实例的对外服务 IP 地址
MAL_INST_PORT            = 5236  #实例对外服务端口,和 dm.ini 的 PORT_NUM 一致
MAL_DW_PORT              = 5436  #实例对应的守护进程监听 TCP 连接的端口
MAL_INST_DW_PORT         = 5536  #实例监听守护进程 TCP 连接的端口[MAL_INST2]
MAL_INST_NAME            = DM_02
MAL_HOST                 = 192.168.148.130
MAL_PORT                 = 5336
MAL_INST_HOST            = 192.168.148.130
MAL_INST_PORT            = 5236
MAL_DW_PORT              = 5436
MAL_INST_DW_PORT         = 5536[MAL_INST3]
MAL_INST_NAME            = DM_03
MAL_HOST                 = 192.168.148.133
MAL_PORT                 = 5336
MAL_INST_HOST            = 192.168.148.133
MAL_INST_PORT            = 5236
MAL_DW_PORT              = 5436
MAL_INST_DW_PORT         = 5536

创建 dmwatcher.ini

vi /home/dmdba/dmdbms/data/DM/dmwatcher.ini
[GRP1]
DW_TYPE                  = GLOBAL  #全局守护类型
DW_MODE                  = AUTO  #MANUAL:故障手切 AUTO:故障自切
DW_ERROR_TIME            = 20  #远程守护进程故障认定时间
INST_ERROR_TIME          = 20  #本地实例故障认定时间
INST_RECOVER_TIME        = 60  #主库守护进程启动恢复的间隔时间
INST_OGUID               = 45331  #守护系统唯一 OGUID 值
INST_INI                 = /home/dmdba/dmdbms/data/DM/dm.ini  #dm.ini 文件路径
INST_AUTO_RESTART        = 1  #打开实例的自动启动功能
INST_STARTUP_CMD         = /home/dmdba/dmdbms/bin/dmserver  #命令行方式启动
RLOG_SEND_THRESHOLD      = 0  #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD     = 0  #指定备库重演日志的时间阈值,默认关闭

3、配置DM_03从库参数

修改 dm.ini

#configuration file
MAL_INI                         = 1         #dmmal.ini
ARCH_INI                        = 1         #dmarch.ini
#data watch
ALTER_MODE_STATUS               = 0         #Whether to permit database user to alter database mode
ENABLE_OFFLINE_TS               = 2         #Whether tablespace can be offline

创建dmarch.ini

vi /home/dmdba/dmdbms/data/DM/dmarch.ini
#DaMeng Database Archive Configuration file
#0:高性能,1:事务一致
ARCH_WAIT_APPLY       = 0        
[ARCHIVE_LOCAL]
#本地归档类型
ARCH_TYPE            = LOCAL        
#本地归档存放路径 
ARCH_DEST            = /home/dmdba/dmdbms/data/DM/arch  
ARCH_FILE_SIZE       = 1024
ARCH_SPACE_LIMIT     = 51200
[ARCHIVE_TIMELY1]
#实时归档类型
ARCH_TYPE            = TIMELY
#实时归档目标实例名
ARCH_DEST            = DM_01
[ARCHIVE_TIMELY2]
#实时归档类型
ARCH_TYPE            = TIMELY
#实时归档目标实例名
ARCH_DEST            = DM_02

创建dmmal.ini

vi /home/dmdba/dmdbms/data/DM/dmmal.ini
MAL_CHECK_INTERVAL         = 10  #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL     = 10  #判定 MAL 链路断开的时间
MAL_TEMP_PATH              = /home/dmdba/dmdbms/data/malpath/  #临时文件目录
MAL_BUF_SIZE               = 512  #单个 MAL 缓存大小,单位 MB
MAL_SYS_BUF_SIZE           = 2048  #MAL 总大小限制,单位 MB
MAL_COMPRESS_LEVEL         = 0  #MAL 消息压缩等级,0 表示不压缩[MAL_INST1]
MAL_INST_NAME            = DM_01  #实例名,和 dm.ini 的 INSTANCE_NAME 一致
MAL_HOST                 = 192.168.148.128  #MAL 系统监听 TCP 连接的 IP 地址
MAL_PORT                 = 5336  #MAL 系统监听 TCP 连接的端口
MAL_INST_HOST            = 192.168.148.128  #实例的对外服务 IP 地址
MAL_INST_PORT            = 5236  #实例对外服务端口,和 dm.ini 的 PORT_NUM 一致
MAL_DW_PORT              = 5436  #实例对应的守护进程监听 TCP 连接的端口
MAL_INST_DW_PORT         = 5536  #实例监听守护进程 TCP 连接的端口[MAL_INST2]
MAL_INST_NAME            = DM_02
MAL_HOST                 = 192.168.148.130
MAL_PORT                 = 5336
MAL_INST_HOST            = 192.168.148.130
MAL_INST_PORT            = 5236
MAL_DW_PORT              = 5436
MAL_INST_DW_PORT         = 5536[MAL_INST3]
MAL_INST_NAME            = DM_03
MAL_HOST                 = 192.168.148.133
MAL_PORT                 = 5336
MAL_INST_HOST            = 192.168.148.133
MAL_INST_PORT            = 5236
MAL_DW_PORT              = 5436
MAL_INST_DW_PORT         = 5536

创建 dmwatcher.ini

vi /home/dmdba/dmdbms/data/DM/dmwatcher.ini
[GRP1]
DW_TYPE                  = GLOBAL  #全局守护类型
DW_MODE                  = AUTO  #MANUAL:故障手切 AUTO:故障自切
DW_ERROR_TIME            = 20  #远程守护进程故障认定时间
INST_ERROR_TIME          = 20  #本地实例故障认定时间
INST_RECOVER_TIME        = 60  #主库守护进程启动恢复的间隔时间
INST_OGUID               = 45331  #守护系统唯一 OGUID 值
INST_INI                 = /home/dmdba/dmdbms/data/DM/dm.ini  #dm.ini 文件路径
INST_AUTO_RESTART        = 1  #打开实例的自动启动功能
INST_STARTUP_CMD         = /home/dmdba/dmdbms/bin/dmserver  #命令行方式启动
RLOG_SEND_THRESHOLD      = 0  #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD     = 0  #指定备库重演日志的时间阈值,默认关闭

4、主节点备份,从节点恢复

主节点停止服务

systemctl stop DmServiceDMSERVER.service

主从库均启动AP服务

cd /home/dmdba/dmdbms/bin/service_template/
./DmAPService start

备份主节点

cd /home/dmdba/dmdbms/bin
./dmrman
backup database '/home/dmdba/dmdbms/data/DM/dm.ini' backupset '/home/dmdba/dmdbms/data/DM/bak/dmbackup';

在这里插入图片描述
备份文件拷贝到从库

scp -r /home/dmdba/dmdbms/data/DM/bak/dmbackup root@192.168.148.130:/home/dmdba/dmdbms/data/DM/bak
scp -r /home/dmdba/dmdbms/data/DM/bak/dmbackup root@192.168.148.133:/home/dmdba/dmdbms/data/DM/bak

恢复从节点(两节点均要执行)

su dmdba
cd /home/dmdba/dmdbms/bin
./dmrman
restore database '/home/dmdba/dmdbms/data/DM/dm.ini' from backupset '/home/dmdba/dmdbms/data/DM/bak/dmbackup';
recover database '/home/dmdba/dmdbms/data/DM/dm.ini' from backupset '/home/dmdba/dmdbms/data/DM/bak/dmbackup';
recover database '/home/dmdba/dmdbms/data/DM/dm.ini' update db_magic;

在这里插入图片描述
注册服务

#主节点DM_01执行
su root
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -p DM_01 -dm_ini /home/dmdba/dmdbms/data/DM/dm.ini -m mount
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /home/dmdba/dmdbms/data/DM/dmwatcher.ini

在这里插入图片描述

#从库DM_02执行
su root
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -p DM_02 -dm_ini /home/dmdba/dmdbms/data/DM/dm.ini -m mount
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /home/dmdba/dmdbms/data/DM/dmwatcher.ini

在这里插入图片描述

#从库DM_03执行
su root
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -p DM_03 -dm_ini /home/dmdba/dmdbms/data/DM/dm.ini -m mount
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmwatcher -p Watcher -watcher_ini /home/dmdba/dmdbms/data/DM/dmwatcher.ini

在这里插入图片描述

5、启动主节点和从节点服务并修改参数

主库执行

/home/dmdba/dmdbms/bin/DmServiceDM_01 start
/home/dmdba/dmdbms/bin/disql SYSDBA/DaMeng123:5236
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SP_SET_OGUID(45331);
ALTER DATABASE PRIMARY;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

从节点DM_02执行

/home/dmdba/dmdbms/bin/DmServiceDM_02 start
/home/dmdba/dmdbms/bin/disql SYSDBA/Dameng:5236
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SP_SET_OGUID(45331);
ALTER DATABASE STANDBY;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

从节点DM_03执行

/home/dmdba/dmdbms/bin/DmServiceDM_03 start
/home/dmdba/dmdbms/bin/disql SYSDBA/Dameng:5236
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);
SP_SET_OGUID(45331);
ALTER DATABASE STANDBY;
SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

启动守护进程(三台机器均需要启动)

/home/dmdba/dmdbms/bin/DmWatcherServiceWatcher start

配置监视器
可以使用备节点创建监视器,生产环境还是需要独立部署监视器。
创建监视器配置文件

vi /home/dmdba/dmdbms/data/DM/dmmonitor.ini
MON_DW_CONFIRM    = 1                    #确认监视器模式(0非确认监视器)
MON_LOG_PATH    = ../log     		     #监视器日志文件存放路径
MON_LOG_INTERVAL  = 60                   #每隔60秒定时记录系统信息到日志文件
MON_LOG_FILE_SIZE   = 512                #日志文件最大512M
MON_LOG_SPACE_LIMIT  = 2048              #不限定日志文件总占用空间
[GRP1] 
MON_INST_OGUID    = 45331               #组GRP1的唯一OGUID值
MON_DW_IP     = 192.168.148.128:5436     #集群内部节点1
MON_DW_IP     = 192.168.148.130:5436     #集群内部节点2
MON_DW_IP     = 192.168.148.133:5436     #集群内部节点3

创建dmmonitor_manual.ini

vi /home/dmdba/dmdbms/data/DM/dmmonitor_manual.ini
MON_DW_CONFIRM    = 0                    #确认监视器模式(0非确认监视器)
MON_LOG_PATH    = ../log     		     #监视器日志文件存放路径
MON_LOG_INTERVAL  = 60                   #每隔60秒定时记录系统信息到日志文件
MON_LOG_FILE_SIZE   = 512                #日志文件最大512M
MON_LOG_SPACE_LIMIT  = 2048              #不限定日志文件总占用空间
[GRP1] 
MON_INST_OGUID    = 45331               #组GRP1的唯一OGUID值
MON_DW_IP     = 192.168.148.128:5436     #集群内部节点1
MON_DW_IP     = 192.168.148.130:5436     #集群内部节点2
MON_DW_IP     = 192.168.148.133:5436     #集群内部节点3

注册监视器服务

/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmmonitor -p Monitor -monitor_ini /home/dmdba/dmdbms/data/DM/dmmonitor.ini

启动监视器

#后台启动
/home/dmdba/dmdbms/bin/DmMonitorServiceMonitor start#手动启动
cd /home/dmdba/dmdbms/bin
./dmmonitor /home/dmdba/dmdbms/data/DM/dmmonitor_manual.ini

在这里插入图片描述

三、环境验证及读写分离配置

启动监视器验证

cd /home/dmdba/dmdbms/bin
./dmmonitor /home/dmdba/dmdbms/data/DM_02/dmmonitor_manual.ini
#使用show global info
show global info

读写分离配置
#修改dm_svc.conf(文件具体位置可使用 find / -name dm_svc.conf进行查找)

vi /home/dmdba/dmdbms/bin/dm_svc.conf
#文件修改为
TIME_ZONE=(480)
LANGUAGE=(cn)
DMRW=(192.168.220.130:5236,192.168.220.131:5236,192.168.220.132:5236)
[DMRW]
#优先登录的服务器模式
LOGIN_MODE=(1)
#表示是否启用读写分离。0:不启用;1:启用;
RW_SEPARATE=(1)
#表示读写分离分发比例,有效值范围 0~100,主库占所有事物数的比例。可以根据主备库的实际压力来设定。
RW_PERCENT=(30)
#未找到符合条件的库成功建立连接,将尝试遍历服务名中库列表的次数
SWITCH_TIMES=(60)
#服务器之间切换的时间间隔,单位为毫秒
SWITCH_INTERVAL=(1000)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/90584.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/90584.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/90584.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

earth靶场

1、找ip和端口主机是192.168.6.213,因此靶场ip就是192.168.6.34,三个端口开放,我们去访问一下页面。三个端口都无法访问。我们使用nmap进行dns解析。nmap -A -p- -T4 -sV 192.168.6.34把这两条解析添加到hosts文件中去,这样我们才…

Kafka——Java消费者是如何管理TCP连接的?

引言在分布式消息系统中,网络连接是数据流转的"血管",其管理效率直接决定了系统的吞吐量、延迟与稳定性。作为Kafka生态中负责数据消费的核心组件,Java消费者(KafkaConsumer)的TCP连接管理机制一直是开发者理…

idea监控本地堆栈

idea 安装插件 VisualVM Launcher重启idea后,配置 VisualVM 属性选择自己jdk的 jvisualvm启动时,选择监控,会自动弹出 VisualVM

系统性提升大模型回复准确率:从 RAG 到多层 Chunk 策略

大语言模型(LLM)在问答、搜索、对话等任务中展现出强大的生成能力,但它并不具备真实世界知识的完全记忆与对齐能力,尤其在涉及复杂信息、长文档引用或领域细节时,其“幻觉”问题(hallucination)…

【神经网络概述】从感知机到深度神经网络(CNN RNN)

文章目录1. 神经网络基础1.1 感知器(Perceptron)1.2 深度神经网络(DNN)2. 卷积神经网络(CNN)2.1 核心思想2.2 典型结构2.3 ⾥程碑模型:2.4 卷积层 - CNN 核心2.5 池化层3. 循环神经网络(RNN)3.1…

界面规范3-列表下

4、内容文字有链接的采用蓝色字体<font colorblue></font>重要内容采用红字字体&#xff0c;如状态<font colorred></font>一般字体使用color: #3232325、行高height: 40px;line-height: 40px;6、其他表格占满界面空间&#xff0c;内容多时&#xff0c…

中文语音识别与偏误检测系统开发

中文语音识别与偏误检测系统开发 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff0c;觉得好请收藏。点击跳转到网站。 1. 系统概述 本系统旨在开发一个基于Paraformer模型的中文语音识别与偏误检…

MySQL创建普通用户并为其分配相关权限的操作步骤

1. 登录MySQL服务器 首先&#xff0c;你需要以管理员身份登录MySQL服务器。可以使用以下命令&#xff1a; mysql -u root -p 输入密码后&#xff0c;即可进入MySQL命令行界面。 2. 创建新用户 使用CREATE USER语句创建新用户。语法如下&#xff1a; CREATE USER usernamehost I…

OSPF 路由协议多区域

一、课程目标本课程旨在帮助学习者掌握 OSPF 多区域的核心知识&#xff0c;具体包括&#xff1a;掌握 OSPF 各种 LSA 的内容和传递过程、了解普通区域与特殊区域的特点、掌握 OSPF 多区域的配置。二、OSPF 多区域划分的必要性单区域存在的问题单区域 OSPF 网络中&#xff0c;存…

小程序的客服咨询(与企业微信建立沟通)

背景&#xff1a;小程序是面向群众的。需要提供与企业的聊天窗口。 一、连接方式。 使用组件的方式最佳wx.openCustomerServiceChat 二、接入小程序 链接

解码3D格式转换

三维图形与可视化领域&#xff0c;3D模型格式作为数据交换与存储的基石&#xff0c;承载着模型结构、几何形状、纹理以及材质等多重信息。不同的3D模型格式在支持材质的方式上各有差异&#xff0c;这些差异不仅影响模型的外观表现&#xff0c;还在格式转换过程中带来了特定的挑…

HarmonyOS学习记录5

HarmonyOS学习记录5 本文为个人学习记录&#xff0c;仅供参考&#xff0c;如有错误请指出。本文主要记录网络请求的开发知识。 参考文档&#xff1a;HTTP和RCP访问网络 网络连接 概述 网络连接管理提供管理网络一些基础能力&#xff0c;包括WiFi/蜂窝/Ethernet等多网络连接优…

【C/C++】explicit_bzero

explicit_bzero explicit_bzero 是一个为了解决 memset 在安全清除内存场景中可能被优化器移除的问题而设计的函数&#xff0c;广泛用于安全编程中&#xff0c;比如密码、密钥清除等。Introduce 头文件 #include <string.h>函数原型 void explicit_bzero(void *s, size_t…

MySQL 链接方法思考

代码: import subprocess import os from dotenv import load_dotenv import pymysql from sqlalchemy import create_enginedef check_mysql_service():"""检查 MySQL 服务是否运行"""try:result = subprocess.run(["systemctl", &…

jxORM--查询数据

jxORM提供了丰富的数据查询功能。在jxORM中&#xff0c;有两种数据查询方式&#xff1a; 通过数据类执行查询直接使用SQL的select语句查询 数据类查询 数据类查询的优势&#xff1a; 可以根据数据类的定义&#xff0c;自动完成查询条件中的条件值和查询到的数据的类型转换直接获…

详解力扣高频SQL50题之1084. 销售分析 III【简单】

传送门&#xff1a;1084. 销售分析 III 题目 表&#xff1a; Product --------------------- | Column Name | Type | --------------------- | product_id | int | | product_name | varchar | | unit_price | int | --------------------- product_id 是该表的主键&#x…

Kafka入门指南:从零开始掌握分布式消息队列

为什么要有消息队列 生活中有这样的场景快递员将包裹送给买家。 我记得在小时候&#xff0c;收快递是需要快递员电话联系上门时间的。这非常不方便&#xff0c;一方面快递员手中可能有多个包裹&#xff0c;另一方面买家可能在上班时间抽不出身。 后来有了驿站&#xff0c;快递员…

基于Matlab图像处理的瓶子自动检测与质量评估系统

本文提出了一种基于图像处理的瓶子缺陷检测系统&#xff0c;旨在通过图像分析自动识别和检测瓶子在生产过程中可能出现的缺陷。系统首先通过图像预处理技术&#xff0c;包括灰度转换、二值化处理、噪声去除等步骤&#xff0c;将原始图像转换为适合分析的格式。然后&#xff0c;…

【Pandas】pandas Index objects Index.name

Pandas2.2 Index objects Properties方法描述Index.values返回 Index 对象的值&#xff0c;通常是一个 NumPy 数组Index.is_monotonic_increasing用于检查索引的元素是否 单调递增Index.is_monotonic_decreasing用于判断索引的值是否 单调递减Index.is_unique用于检查索引中的标…

JDBC教程,2025版最新讲解.超详细入门教程

以下内容全面详尽地梳理了 JDBC &#xff08;Java Database Connectivity&#xff09;的核心知识点&#xff0c;并在关键环节配以示例代码。若要快速定位&#xff0c;可先查看下方结构&#xff1a; JDBC 概览驱动加载与注册获取数据库连接执行 SQL&#xff08;Statement、Prepa…