34、数据库迁移至 Exadata 云服务的详细指南

数据库迁移至 Exadata 云服务的详细指南

1. 代理配置与启动

代理配置过程会在本地创建一个配置属性文件,路径为 /home/oracle/Dipc/dicloud/agent/dipcagent001/conf/agent.properties 。要启动本地服务器上的远程代理,可以按以下步骤操作:

cd /home/oracle/Dipc/dicloud/agent/dipcagent001/bin

启动代理后,会有一系列通知信息,如代理注册状态、代理标识完成等。不过,可能会遇到代理向 GoldenGate 请求失败的错误,提示 java.net.ConnectException: Connection refused ,这意味着 GoldenGate 性能指标服务器未运行或未正确配置,需要进行相应配置。

代理启动后,可在 DIPC 控制台检查其状态,应显示为“Running”。通过点击代理链接可查看更多详细信息,还能点击已安装代理的配置查看配置详情。另外,检查代理的详细状态,若所有组件显示绿色状态,则表示代理运行正常且功能正常。

同时,需要从本地虚拟机的 gghome 检查管理器进程是否运行以及其运行的端口,可以使用以下命令进入 GoldenGate 主目录并使用 ggsci 命令:

cd $GGHOME
./ggsci
2. 代理停止

停止代理可在另一个终端执行以下命令:

/home/oracle/Dipc/dicloud/agent/dipcagent001/bin/stopAgentInstance.sh

停止代理后,可在启动代理的窗口查看步骤日志。在控制台主屏幕上也能看到代理的停止状态,之前运行的代理数量可能会减少。点击左侧面板的“Agent”链接,可列出所有配置的代理及其状态,能看到本地代理已停止。需要注意的是,停止代理不会停止 OGG 管理器进程,这意味着即使代理未运行,复制操作仍可继续,但使用 DIPC 进行数据复制解决方案时,本地远程代理与 DIPC 的注册是必须的,这有助于客户监控进程。

3. 本地环境配置

本地环境的配置信息如下表所示:
| 配置项 | 详情 |
| ---- | ---- |
| 数据库名称 | opmcdb(本地主类容器数据库) |
| 版本 | 12.2.0.1 |
| 监听器端口 | 1521 |
| PDB | opdwh(本地数据仓库) |
| 模式 | dipcsrc |
| 表空间 | USERS |
| 表 | CUSTOMERS、ORDERS 等 |
| 脚本目录 | /home/oracle/Dipc/scripts |

目标信息如下表所示:
| 配置项 | 详情 |
| ---- | ---- |
| 数据库类型 | Oracle |
| 部署方式 | 数据库云服务(企业版极致性能) |
| 数据库版本 | 12.2.0.1 |
| 选项 | 多租户 |
| 数据库名称(cdb) | EXADB |
| PDB 名称 | prodb |
| GoldenGate 版本 | 12.2.0.1 |
| 目标模式 | dipctgt |
| OGG 管理用户 | oggtgt |

4. 脚本准备

为 OGG 配置进行数据库先决条件设置,编辑 /home/oracle/Dipc/scripts/srcdbcfg.sql 文件,内容如下:

set echo on pages 100 lines 120
spool srcdbcfg.log
select log_mode,supplemental_log_data_min,force_logging from v$database;
alter database force logging;
alter database add supplemental log data;
alter system switch logfile;
select log_mode,supplemental_log_data_min,force_logging from v$database;
alter system set enable_goldengate_replication=true scope=both;
show parameter enable_goldengate_replication;
create user c##oggsrc identified by oggsrc;
grant dba to c##oggsrc container=all;
exec dbms_goldengate_auth.grant_admin_privilege('C##OGGSRC', container=>'all');
Exit
5. 创建参数文件
  • 捕获参数文件 :
export GGHOME=/home/oracle/Dipc/dicloud/gghome
cd $GGHOME/dirprm
vi edwh.prm

文件内容如下:

extract edwh
UseridAlias oggsrc
TranLogOptions IntegratedParams (max_sga_size 1024)
LogAllSupCols
UpdateRecordFormat Compact
ExtTrail ./dirdat/ed
ReportCount Every 2 Minutes, Rate
Table opdwh.dipcsrc.*;
  • PUMP 参数文件 :
cd $GGHOME/dirprm
vi pdwh.prm

文件内容如下:

extract pdwh
UseridAlias oggsrc
RmtHost 129.156.112.133, MgrPort 7704, socksproxy 127.0.0.1:9000
RmtTrail ./dirdat/rd
ReportCount Every 2 Minutes, Rate
PassThru
Table opdwh.dipcsrc.*;

其中, RmtHost 对应的 IP 是 DIPC VM 的公共 IP, MgrPort 是 DIPC VM 上管理器进程运行的端口,包含 SOCKS5PROXY 参数用于通过安全隧道传输 Golden Gate 跟踪文件。

6. 准备 OGG OBEY 文件
  • 安全凭证格式示例 :
cd $GGHOME/dirprm
vi sec_cred.oby

文件内容如下:

create wallet
add credentialstore
alter credentialstore add user c##oggsrc password oggsrc alias oggsrc
info credentialstore
dblogin useridalias oggsrc
add schematrandata opdwh.dipcsrc
info schematrandata opdwh.dipcsrc
  • 添加进程的 OBEY 文件 :
cd $GGHOME/dirprm
vi add_procs.oby

文件内容如下:

start mgr
dblogin useridalias oggsrc
register extract edwh, database container (opdwh);
add extract edwh, integrated tranlog, begin now
add ExtTrail ./dirdat/ed, extract edwh
add extract pdwh, ExtTrailSource ./dirdat/ed
add RmtTrail ./dirdat/rd,extract pdwh
info all
7. 执行脚本

按以下步骤执行脚本:

cd /home/oracle/Dipc/scripts
sqlplus system/oracle@opdwh @srcdbcfg.sql
cd $GGHOME
ggsci> obey sec_cred.oby
ggsci> obey add_procs.oby
8. 初始源数据转储

检查当前源数据库:

sqlplus system/oracle@opdwh
sqlplus > Select to_char(current_scn) from v$database;

进行数据转储:

expdp system/oracle@opdwh dumpfile=dipcsrc.dmp logfile=expdp_dipcsrc.log directory=dp parallel=4 flasback_scn=nnnnn

使用 oci cli 将转储文件复制到 OCI 对象存储,以便导入 DBCS 进行初始数据同步。启动提取进程:

ggsci> start edwh
9. 启动 DIPC 远程代理

从本地虚拟机桌面的终端启动 DIPC 远程代理:

export JAVA_HOME=/usr/java/jdk1.8.0_121
cd /home/oracle/Dipc/dicloud/agent/dipcagent001/bin/
./startAgentInstance.sh
10. 设置并启动 SOCKS5 代理隧道

从本地虚拟机桌面的终端设置并启动 SOCKS5 代理隧道:

/home/oracle/Dipc/dicloud/gghome/SSH_SOCK5_SETUP.sh

将 DIPC VM 的私钥文件复制到运行 DIPC 代理的本地服务器的 /home/oracle/Dipc/dicloud/gghome 目录,并更改权限:

cd /home/oracle/Dipc/dicloud/gghome
chmod 600 privateKey
cp SSH_SOCK5_SETUP.sh SSH_SOCK5_SETUP.sh.bkp

编辑 SSH_SOCK5_SETUP.sh 文件,替换为 DIPC VM 的公共 IP 和私钥的完整路径,例如:

ssh -i /home/oracle/Dipc/dicloud/gghome/privateKey -v -N -f -D 127.0.0.1:9000 opc@129.156.112.133 >./dirrpt/ggcs_socksproxy.log 2>&1

启动代理隧道:

./SSH_SOCK5_SETUP.sh
11. 访问 DIPC VM 和 DBCS/EXACS

可以使用 Putty 工具或 VNC 查看器直接从主机访问 DIPC VM。使用 Putty 访问时,需要进行以下配置:
1. 插入 DIPC VM 的公共 IP(如 129.156.112.113)并命名为 DIPCVM。
2. 点击“Data”,输入 opc 作为自动登录用户名。
3. 点击“SSH” -> “Tunnels”,源端口输入 5901,目标输入 129.156.112.113:5901 并点击“Add”。
4. 点击“Auth”,提供私钥文件的位置,保存配置。
5. 点击“Session” -> “Save”,点击“Open”登录 DIPC VM,输入密钥生成时的密码短语。

登录后,切换到 oracle 用户并设置环境变量:

sudo su - oracle
. .ggsetup
12. 通过 VNC 连接到 DIPC VM

使用 TigerVNC 查看器登录 VNC:
1. 打开到 DICPVM 的 Putty 会话(如果之前未启动)以启动 SSH 隧道。
2. 运行 TigerVNC 查看器应用程序,输入 localhost:5901 ,密码为 dipcvnc ,打开 DIPCVM 桌面。
3. 登录后,打开终端并切换到 oracle 用户。

13. 从 DIPC VM 连接到 DBCS/EXACS

收集 DBCS/EXACS 数据库凭证和 tnsnames 配置,并添加到 DIPC VM 的 tnsnames.ora 文件中。可以根据配置使用 IP 地址或可解析的主机名,例如:

PRODDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 129.156.X.X)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = proddb.subxxxxxx0.testvn.oraclevcn.com)
    )
  )

测试连接:

sqlplus bal/xxxxxxxxx@proddb
14. 配置 DIPC VM
  • 创建目标 :
    连接到 DBCS/EXACS 并运行以下命令:
create user dipccloud identified by N0tAll0wed#_ default tablespace users;
alter user dipccloud quota unlimited on users;
grant create session, resource to dipccloud;
conn dipccloud/N0tAll0wed#_@proddb alter user ggadmin
  • 在云目标数据库上创建 GoldenGate 用户 :
    可以使用 DIPC VM 或登录到目标数据库创建并定义 GoldenGate 复制用户。在 DIPC VM 上操作时,设置环境变量:
~/.ggsetup

然后执行以下 SQL 命令:

sqlplus sys/xxxxxxx@EXADB as sysdba
set echo on pages 100 lines 120
spool tgtdbcfg.log
select log_mode,supplemental_log_data_min,force_logging from v$database;
alter database force logging;
alter database add supplemental log data;
alter system switch logfile;
select log_mode,supplemental_log_data_min,force_logging from v$database;
alter system set enable_goldengate_replication=true scope=both;
show parameter enable_goldengate_replication;
create user c##oggtgt identified by N0tAll0wed#_;
grant dba to c##oggtgt container=all;
exec dbms_goldengate_auth.grant_admin_privilege('C##OGGTGT', container=>'all');
Exit

在 DBCS 环境中, sec_case_sensitive_logon 参数设置为 TRUE ,输入密码时需注意大小写,否则会出现无效用户名/密码错误,也可尝试将密码重置为小写以简化操作。

15. OGG 进程配置

打开到 DIPC VM 的 Putty 会话,执行以下步骤:

sudo su – oracle
. .ggsetup
cd $GGHOME
./ggsci
ggsci> info all
ggsci> stop mgr
ggsci> edit param mgr
PORT 7704
DynamicPortList 7704-7760
AccessRule,Prog collector,IpAddr 129.156.112.113,Allow
PurgeOldExtracts ./dirdat/* UseCheckPoints, MinKeepHours 2
AutoRestart Replicat *,Retries 3,WaitMinutes 2,ResetMinutes 120
ggsci > start mgr

准备 obey 文件:

cd $GGHOME

创建安全凭证 obey 文件:

vi dirprm/sec_creds_tgt.oby

文件内容如下:

start mgr
create wallet
add credentialstore
alter credentialstore add user c##oggtgt@proddb password N0tAll0wed#_ alias ggadmintgt
info credentialstore
dblogin useridalias ggadmintgt

创建复制参数文件:

vi $GGHOME/dirprm/rdwh.prm

文件内容如下:

replicat rdwh
useridalias ggadmintgt
reportcount every 2 minutes, rate
assumetargetdefs
map opdwh.dipcsrc.*, target dipctgt.*;

执行 obey 文件并添加复制进程:

cd $GGHOME
ggsci> obey dirprm/sec_creds_tgt.oby
ggsci> add replicat rdwh,ExtTrail ./dirdat/rd, nodbcheckpoint

NODBCHECKPOINT 强制复制进程使用检查点文件机制。

16. 初始数据同步

由于源数据库和目标数据库均为 Oracle,使用数据泵进行初始数据同步到 DBCS 中的 DIPCTGT 模式。对于演示,源数据已进行转储且未发生变化,此时需要根据目标数据的更改时间获取新的导出转储 SCN。将转储文件上传到 DBCS 实例或 OCI 对象存储(使用 oci cli),然后使用导入转储将数据导入 DBCS 中的 dipctgt:

impdp admin/Welcome_123#@proddb directory=data_pump_dir credential=DIPC_IMPDeP_USE logfile=impdp_dipcsrc_tables.log dumpfile= SCHEMA_TABLE.DMP remap_schema=dipcsrc:dipctgt remap_tablespace=USERS:DATA

需要注意的是,12.2.0.1 版本的 OCI DBaaS 中没有 DBMS_CLOUD 包,无法创建使用 swift URL 进行数据泵的凭证,在 API 可用之前,建议使用 OCI 上 DBCS 的块存储或文件存储上的转储文件。目前,该 API 在自治数据仓库和自治 OLTP 云服务中可用,以下是从对象存储加载数据的示例:

impdp admin/Welcome_123#@proddb directory=data_pump_dir credential=DIPC_IMPDeP_USE logfile=impdp_dipcsrc_tables.log dumpfile=https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/baldemo/bucket_tenantXX/SCHEMA_TABLE.DMP remap_schema=dipcsrc:dipctgt remap_tablespace=USERS:DATA

通过以上详细步骤,可以完成数据库迁移至 Exadata 云服务的操作,确保数据的顺利复制和同步。在操作过程中,需要仔细检查每个步骤的配置和执行结果,以避免出现错误。

数据库迁移至 Exadata 云服务的详细指南

17. 操作流程总结与注意事项

为了更清晰地展示整个数据库迁移至 Exadata 云服务的操作流程,以下使用 mermaid 流程图进行呈现:

graph LR
    classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
    classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px

    A([开始]):::startend --> B(代理配置与启动):::process
    B --> C(代理停止):::process
    C --> D(本地环境配置):::process
    D --> E(脚本准备):::process
    E --> F(创建参数文件):::process
    F --> G(准备 OGG OBEY 文件):::process
    G --> H(执行脚本):::process
    H --> I(初始源数据转储):::process
    I --> J(启动 DIPC 远程代理):::process
    J --> K(设置并启动 SOCKS5 代理隧道):::process
    K --> L(访问 DIPC VM 和 DBCS/EXACS):::process
    L --> M(通过 VNC 连接到 DIPC VM):::process
    M --> N(从 DIPC VM 连接到 DBCS/EXACS):::process
    N --> O(配置 DIPC VM):::process
    O --> P(OGG 进程配置):::process
    P --> Q(初始数据同步):::process
    Q --> R([结束]):::startend

在整个操作过程中,有以下一些注意事项:
- 密码大小写问题 :在 DBCS 环境中, sec_case_sensitive_logon 参数设置为 TRUE ,创建账户后输入密码时要注意大小写,若遇到无效用户名/密码错误,可尝试将密码重置为小写。
- 数据泵凭证问题 :12.2.0.1 版本的 OCI DBaaS 没有 DBMS_CLOUD 包,无法创建使用 swift URL 进行数据泵的凭证,在 API 可用之前,使用 OCI 上 DBCS 的块存储或文件存储上的转储文件。
- 代理与进程关系 :停止代理不会停止 OGG 管理器进程,复制操作仍可继续,但使用 DIPC 进行数据复制解决方案时,本地远程代理与 DIPC 的注册是必须的,有助于监控进程。

18. 故障排查思路

在数据库迁移过程中,可能会遇到各种问题,以下是一些常见问题及排查思路:
| 问题描述 | 可能原因 | 排查方法 |
| ---- | ---- | ---- |
| 代理向 GoldenGate 请求失败,提示 java.net.ConnectException: Connection refused | GoldenGate 性能指标服务器未运行或未正确配置 | 检查 GoldenGate 实例上的管理器进程是否运行,以及端口是否正确配置 |
| SQLPlus 连接数据库时出现无效用户名/密码错误 | 密码大小写问题或账户信息错误 | 确认密码大小写是否正确,可尝试重置密码为小写;检查账户信息是否准确 |
| 数据泵操作失败 | 凭证问题、文件路径错误或权限不足 | 检查是否有相应的凭证,文件路径是否正确,以及是否有足够的权限进行操作 |

19. 最佳实践建议

为了确保数据库迁移至 Exadata 云服务的顺利进行,以下是一些最佳实践建议:
- 提前规划 :在进行迁移操作之前,详细规划好本地环境和目标环境的配置,包括数据库名称、版本、模式、表空间等信息,避免在操作过程中出现配置错误。
- 备份数据 :在进行任何数据操作之前,务必对源数据库进行备份,以防数据丢失或损坏。可以使用数据转储等方式进行备份。
- 逐步测试 :在每个关键步骤完成后,进行相应的测试,确保操作的正确性。例如,在创建参数文件和 OBEY 文件后,先进行小规模的测试,再进行大规模的数据迁移。
- 监控进程 :在整个迁移过程中,密切监控代理、OGG 进程等的状态,及时发现并解决问题。可以通过 DIPC 控制台、日志文件等方式进行监控。

20. 总结

数据库迁移至 Exadata 云服务是一个复杂的过程,涉及到多个步骤和配置。通过本文详细介绍的操作步骤、注意事项、故障排查思路和最佳实践建议,希望能够帮助读者顺利完成数据库迁移任务。在实际操作过程中,要仔细检查每个步骤的配置和执行结果,遇到问题时按照排查思路进行解决,遵循最佳实践建议,以确保数据的顺利复制和同步。同时,随着技术的不断发展,相关的配置和操作可能会有所变化,读者需要及时关注最新的文档和资料,以获取最新的信息。

通过以上内容,我们全面了解了数据库迁移至 Exadata 云服务的整个过程,从代理的配置与启动,到数据的初始同步,每个环节都需要精心操作和严格把控。希望这些内容能够对读者在实际的数据库迁移工作中提供有力的帮助。

相关推荐

C#西门子上位机与PLC通讯++S7协议

支持S7-200,S7-300,S7-1200,S7-1500+使用技术C#+S7net

MATLAB模拟6自由度无人机检查,具备干扰补偿、裂纹检测和自主复检功能。.zip

1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

基于MATLAB的前向运动学和3D可视化,利用均匀变换和DH约定实现6自由度机器人机械臂的3D可视化。.zip

1.版本:matlab2014a/2019b/2024b 2.附赠案例数据可直接运行。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。

AI大模型医学影像诊断智能识别应用方案.pptx

AI大模型医学影像诊断智能识别应用方案.pptx

智能驾驶智慧交通行业智算中心(AIDC)建设规划方案.pptx

智能驾驶智慧交通行业智算中心(AIDC)建设规划方案.pptx

LLC谐振变换器恒压恒流双竞争闭环控制simulink仿真(附说明文档)

内容概要:本资源是一套面向电力电子与智能控制领域的综合性科研仿真资料合集,核心聚焦于LLC谐振变换器的恒压恒流双竞争闭环控制策略设计与Simulink建模仿真实现,涵盖半桥LLC、双向全桥LLC等拓扑结构的调频闭环仿真,并提供详尽的说明文档与PPT辅助材料。资源体系不仅深入呈现LLC变换器的动态响应与控制逻辑,还扩展至双有源桥(DAB)变换器的软开关协同优化、最小应力控制、EPS调制策略及新扩展移相角优化等前沿技术,同时集成三相PWM整流器在电网不平衡条件下的功率平衡控制、VOC+SVPWM双闭环控制等典型应用场景。此外,资源包涵盖状态估计(如EKF、UKF、PF)、微电网经济调度、卡尔曼滤波融合、神经网络控制、PID优化、储能系统管理等多个交叉方向,特别强调对顶级EI期刊研究成果的高精度复现,旨在帮助科研人员快速掌握先进控制算法的核心思想与仿真实现方法。; 适合人群:电气工程、自动化、电力电子、新能源科学与工程等相关专业的硕士博士研究生、高校科研人员,以及从事新能源变换器、智能电网、电动汽车、微电网系统研发的工程技术人员。; 使用场景及目标:① 深入理解LLC与DAB变换器的闭环控制机理,掌握恒压恒流切换、软开关实现与损耗优化方法;② 利用Simulink平台构建复杂电力电子系统模型,开展动态性能分析与控制器参数整定;③ 复现高水平期刊论文中的先进控制策略,提升科研创新能力与论文发表竞争力;④ 支持毕业设计、科研课题、项目申报及工程原型开发中的仿真验证环节。; 阅读建议:建议结合提供的完整资源目录循序渐进学习,优先研读标注“顶级EI复现”的案例以获取权威方法参考,配合MATLAB/Simulink动手搭建模型,重点关注控制框图设计、调制逻辑实现与仿真结果对比,深入理解算法背后的物理意义与数学推导过程。

概率神经网络的分类预测-基于PNN的变压器故障诊断(Matlab代码实现)

内容概要:本文系统阐述了基于概率神经网络(PNN)的变压器故障诊断方法,结合Matlab代码实现分类预测。通过提取变压器运行过程中的关键特征参数,构建PNN模型以实现对正常状态与典型故障状态(如绕组短路、铁芯故障等)的高效分类识别。文章深入剖析了PNN的网络结构、概率密度估计原理、训练机制及分类决策过程,并通过仿真实验验证了该方法在故障诊断任务中具备较高的准确率与鲁棒性,展现了其在电力系统状态监测与智能运维中的良好应用前景。; 适合人群:具备一定机器学习理论基础和Matlab编程能力的电气工程、自动化、智能电网等相关领域的研究生、科研人员以及从事电力设备状态监测与故障诊断工作的工程技术人员。; 使用场景及目标:①实现变压器早期故障的智能化诊断与预警,提升电力系统运行安全性;②为基于神经网络的工业设备故障分类任务提供可复现的算法实现范例与技术验证平台; 阅读建议:建议读者结合文中提供的Matlab代码,动手复现实验流程,深入理解PNN在实际分类问题中的参数配置、训练策略、性能评估方法,并鼓励将该方法迁移至其他电力设备或机电系统的故障诊断场景中进行拓展研究与优化改进。

优快云首页 发布文章 优快云同步助手 多无人机面向城市空中交通的多无人机路径规划研究(Matlab代码实现) 37 100 摘要:会在推荐、列表等场景外露,帮助读者快速了解内容,支持

内容概要:本文围绕面向城市空中交通的多无人机路径规划问题展开研究,系统阐述了该领域的核心挑战与关键技术。文章首先定义了多无人机路径规划的问题,明确了包括飞行安全、避障、协同效率在内的多项约束条件与性能指标。随后,重点介绍了三大类路径规划方法:基于改进RRT算法和图论的全局路径规划方法,用于构建初始可行路径;基于动态风险场的模型预测控制和动态窗口法(DWA)的动态避障方法,以应对环境中的突发障碍;以及多无人机协同规划策略和分布式协同控制算法构成的局部协同调整方法,确保多机间的飞行安全与任务协同。研究通过搭建Matlab仿真实验平台,设计了多种复杂城市飞行场景,对所提方法进行了全面的仿真验证与结果对比分析,展示了各方法在不同场景下的有效性与优劣。; 适合人群:具备一定自动化、计算机或航空航天领域基础知识,从事无人机、智能交通、路径规划等相关方向研究的研发人员和研究生。; 使用场景及目标:①为城市空中交通管理系统(UATM)的设计与开发提供理论基础和技术参考;②应用于物流配送、城市巡检、应急救援等多无人机协同任务的路径规划算法设计与仿真验证;③作为相关领域科研工作的技术参考资料,推动多智能体协同决策与控制技术的发展。; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,通过复现仿真结果加深对各类算法原理与实现细节的理解。在学习过程中,应重点关注全局规划与局部避障的结合机制,以及多机协同策略中的冲突消解逻辑。

无刷直流电机BLDC转速电流双闭环+无位置传感器控制仿真【仿真+详解说明报告+参考文献】

内容概要:本文详细介绍了一套针对无刷直流电机(BLDC)的Simulink仿真资源包,核心内容涵盖转速电流双闭环控制与无位置传感器控制技术,重点采用滑模观测器(SMO)实现对转子位置与速度的精确估算,避免了物理位置传感器带来的成本与可靠性问题。资源包提供了多个高质量仿真模型,包括基于模糊PID与传统PID控制策略的对比分析、无感控制结合滑模观测器与双闭环PI控制的综合系统等,全面展示不同控制算法在动态响应、抗干扰能力及稳态精度方面的性能差异。所有模型均基于Matlab/Simulink平台构建,配套详尽的技术说明文档与参考文献,深入解析控制结构设计、观测器原理、参数整定方法及系统稳定性分析,适用于电机驱动系统的研究、教学演示与工程验证。; 适合人群:面向电气工程、自动化、控制科学与工程及相关专业的本科生、研究生、科研人员和工程技术人员,尤其适合从事电机控制、电力电子与运动控制系统研究的专业人士,具备自动控制理论基础和Matlab/Simulink基本操作能力者更易上手。; 使用场景及目标:① 深入学习并掌握无刷直流电机双闭环调速系统的工作原理与无位置传感器控制的关键技术;② 对比研究模糊PID与传统PID在电机控制中的动态性能与鲁棒性差异;③ 开展滑模观测器在非线性系统状态估计中的建模与仿真研究;④ 支持课程设计、毕业设计、科研项目申报及学术论文复现等实际应用场景。; 阅读建议:建议用户结合提供的详解说明报告,逐步运行各仿真模型,重点关注控制器参数调节过程、滑模观测器的设计细节及其收敛性表现,深入分析系统启动、负载突变、转速切换等工况下的响应特性,鼓励在此基础上进行控制算法改进、引入新型观测器或拓展至其他电机类型进行创新性研究。

【顶级EI复现】基于KKT条件与分段解析优化的双有源桥DC-DC变换器软开关协同最小应力闭环控制方法(Simulink仿真实现)

内容概要:本文提出了一种基于KKT条件与分段解析优化的双有源桥DC-DC变换器软开关协同最小应力闭环控制方法,旨在实现高效能、低损耗的电力变换控制。通过构建包含软开关约束与电流应力目标的优化模型,结合KKT最优性条件进行数学推导,对变换器的工作模态进行分段解析处理,精确求解出满足零电压开通(ZVS)且电流有效值最小的最优工作点。在此基础上设计了闭环控制系统,有效提升了变换器在全功率范围内的运行效率与动态响应性能。文中详细阐述了控制策略的理论推导过程、优化求解算法实现及Simulink仿真实验验证,充分展示了该方法在协同优化软开关范围与器件应力方面的优越性。; 适合人群:从事电力电子与电力传动、新能源发电系统、电动汽车及微电网等相关领域的科研人员与工程技术人员,具备一定的电路理论、最优控制理论与仿真建模基础。; 使用场景及目标:①用于高效率双有源桥变换器的先进控制策略研究与设计;②为解决传统移相控制中软开关范围受限与功率器件电流应力高的问题提供优化思路;③适用于车载充电机、直流配电系统、可再生能源并网等对高功率密度与高效率有严苛要求的应用场景。; 阅读建议:建议结合Simulink仿真模型深入理解控制算法的具体实现流程,重点关注KKT条件在非线性约束优化中的应用逻辑以及分段解析策略的设计思想,同时可通过对比传统单移相控制(SPS)或双重移相控制(DPS)方法,直观体会本方法在效率提升与应力抑制方面的综合优势。

无人机【扩展卡尔曼滤波器从IMU和GPS数据计算无人机的姿态】使用不变扩展卡尔曼滤波器对微型无人机状态估计进行传感器融合(Matlab代码实现)

内容概要:本文系统介绍了基于不变扩展卡尔曼滤波器(Invariant Extended Kalman Filter, IEKF)的微型无人机状态估计方法,重点实现IMU与GPS数据的传感器融合,以精确估计无人机的姿态、位置和速度等关键状态信息。相较于传统EKF,IEKF充分利用系统内在的几何结构特性,具有更强的数值稳定性和更优的误差收敛性能,能够有效抑制非线性系统中的估计漂移问题。文章详细阐述了IEKF的理论推导过程,包括状态预测、协方差更新与观测校正环节,并提供了完整的Matlab代码实现,便于读者复现算法并深入理解其工作机制。该方法显著提升了无人机在复杂动态环境下的导航精度与鲁棒性,适用于对高可靠性状态估计有较高要求的无人系统应用。; 适合人群:具备控制理论、非线性滤波、惯性导航或机器人状态估计基础,从事无人机导航、自主系统开发及相关研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①深入理解IEKF在非线性系统状态估计中的优势及其相对于传统EKF的改进机制;②掌握IMU与GPS多传感器融合的基本架构与实现流程;③通过Matlab代码实践完成从理论建模到算法仿真的全过程,为构建高性能飞控系统或开展先进滤波算法研究奠定技术基础。; 阅读建议:建议结合非线性系统估计与李群理论背景知识进行学习,重点关注IEKF的状态演化模型设计与误差协方差更新逻辑,务必动手运行并调试所提供的Matlab代码,通过仿真实验对比不同工况下的滤波性能,从而深化对算法本质的理解与应用能力。

基于ADMM的车辆路径问题与时间窗口(VRPTW)的问题分解方案(Matlab代码实现)

内容概要:本文系统介绍了基于交替方向乘子法(ADMM)的车辆路径问题与时间窗口(VRPTW)的分解求解方案,并提供了完整的Matlab代码实现。该方法通过引入ADMM这一经典的分布式优化算法,将原本复杂的全局耦合优化问题分解为多个可并行求解的子问题,借助拉格朗日乘子协调各子问题间的约束一致性,从而实现对大规模VRPTW问题的高效求解。文中详细阐述了问题建模过程、ADMM迭代框架的设计原理、收敛性保障机制以及关键参数的设置策略,突出体现了分布式优化在物流路径规划中的可扩展性优势,适用于城市配送、电商物流等实际场景中的路径优化需求。; 适合人群:具备运筹学、优化理论基础及Matlab编程能力,从事物流优化、智能交通、供应链管理或分布式算法研究的高校研究生、科研人员及相关领域工程师。; 使用场景及目标:①解决带时间窗约束的大规模车辆路径问题(VRPTW);②学习并掌握ADMM在组合优化问题中的分解建模与协调求解机制;③实现面向分布式计算架构的路径优化算法,提升求解效率与系统可扩展性; 阅读建议:此资源强调算法实现与工程应用的结合,建议读者在理解VRPTW经典数学模型的基础上,深入剖析ADMM的增广拉格朗日函数构建与变量更新流程,并通过调试Matlab代码掌握算法收敛性分析、罚参数调优及性能评估方法,还可进一步拓展至其他分布式优化场景进行对比研究。

大模型智能体LLM急速入门

大模型智能体LLM急速入门

红外弱小目标检测:IPI算法解读及MATLAB复现

参考文献:[1]C. Gaoet al., “Infrared Patch-Image Model for Small Target Detection in a Single Image,” vol. 22, no. 12, pp. 4996–5009, 2013. 本文整理????论文笔记,并附MATLAB实现代码。 一、阅读笔记 1. 摘要 IPI算法是单帧检测算法; 利用背景的非局部子相关性(non-local self-correlation ofbackground),将目标检测转..

小草莓的魔法笔记 1万+

SAP PPDS启发式排产实战:从零配置到自定义规则开发(附ABAP代码示例)

本文详细介绍了SAP PPDS启发式排产的实战应用,从基础配置到自定义规则开发的全流程。通过ABAP代码示例,展示了如何实现多目标优化、实时响应和约束可视化,帮助企业提升订单交付率、减少设备闲置时间。文章还包含开发环境准备、标准模板解析、自定义开发步骤及性能优化技巧,适合制造业数字化转型的实践参考。

seed的博客 183

UFS Host Controller工作流程

contentsUFS架构图HCI接口架构传输请求接口(Transfer Request Interface)UFS 主机控制器寄存器接口(host controller Interface)UTP 层数据传输Host Software与Host Controller的交互Host Controller初始化配置与控制CRYPTOCFG 配置过程 该文档描述了UFS Host Controller的主要运作流程以及在开源内核代码hisi平台中的host controller的接口函数设计 文档大部分内容参

Frank_sample的专栏 1万+

学习 Bootstrap 5 之 Tables

学习 Bootstrap 5 之 表格表格 (Tables)1. 创建表格(1). 使用原生的表格标签(2). 使用Bootstrap 5 的提供的表格标签类(3). 原生与Bootstrap创建出来的表格的对比2. 表格样式(1). 表格样式的效果(2). 表格样式的使用1). 用于 <table> 标签2). 用于 <thead> <tbody> <tfoot> 标签 表格 (Tables) 1. 创建表格 (1). 使用原生的表格标签 <tabl

qq_37354060的博客 2130

Icarus Verilog和GTKwave使用简析

本简要介绍Icarus Verilog和GTKwave的使用,使用iverilog(Icarus Verilog)编译仿真verilog而使用GTKWave查看仿真数据波形下载安装 基本使用 iverilog使用 GTKWave使用 iverilog常用选项 使用库 注意

husipeng86的专栏 1万+

RADIOML 2018.01A数据集在自动调制识别中的实战应用指南

本文提供了RADIOML 2018.01A数据集在自动调制识别(AMR)任务中的完整实战指南。内容涵盖从数据集介绍、数据获取与解包、高效预处理流程,到构建PyTorch数据管道、模型设计(如1D CNN、ResNet)以及训练调参策略。重点阐述了如何利用该数据集训练鲁棒的AI模型,以应对复杂信道环境和低信噪比挑战,并给出了详细的性能评估方法。

plant的博客 172

SOI技术解析:绝缘体上硅的结构优势与应用场景

本文深入解析了SOI(绝缘体上硅)技术的核心结构、性能优势与应用场景。SOI通过在硅衬底与器件层之间引入绝缘的埋氧层,实现了优异的电隔离,从而显著降低芯片功耗、提升工作频率并增强抗干扰能力。该技术已广泛应用于5G射频前端、高性能计算、汽车电子及MEMS传感器等关键领域,是推动半导体性能持续提升的重要技术路径。

jj890的博客 402

YOLOv13改进策略【Neck篇】| GSConv 轻量卷积,Slim-Neck 减参数还不掉点

Neck 篇的第二篇继续"替换式"改进,这次的对象是 Neck 里的下采样卷积。GSConv 出自《Slim-neck by GSConv: a better design of lightweight detector》(2022),它的出发点:DWSConv(深度可分离)轻但"信息混不进通道",标准卷积重但表达好——GSConv 用GConv(分组卷积)混通道 + DWConv 补空间 + Channel Shuffle 打散,两全其美。

qq_53329130的博客 30

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

上一篇: 17、算法概念、正确性证明与图灵机模型解析
下一篇: 步态可视化的五种方法
tensorflowjs6
博客等级 码龄3年 154粉丝 1495原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值