28、Oracle Exadata 系统管理与特性解析

Oracle Exadata 系统管理与特性解析

1. 硬盘清理调度

在 Oracle Exadata 中,硬盘清理操作会占用存储服务器的 I/O 资源,从而给 Oracle 数据库带来一定的负载。因此,在进行硬盘清理之前,需要检查关键生产数据库的空闲窗口,以确定合适的清理时间。

1.1 查看当前硬盘清理间隔

可以使用以下命令查看各个存储服务器的硬盘清理间隔:

[celladmin@CellServer02 ~]$ cellcli -e list cell attributes name, hardDiskScrubInterval
CellServer02    weekly
[celladmin@CellServer03 ~]$ cellcli -e list cell attributes name,hardDiskScrubInterval
CellServer03    weekly
1.2 停止硬盘清理

若要停止硬盘清理活动,可使用以下命令:

[celladmin@CellServer01 ~]$ cellcli –e alter cell hardDiskScrubInterval=none
[celladmin@CellServer02 ~]$ cellcli –e alter cell hardDiskScrubInterval=none
[celladmin@CellServer03 ~]$ cellcli –e alter cell hardDiskScrubInterval=none
1.3 重新调度硬盘清理

为了避免在高峰时段进行硬盘清理,可以按照以下步骤重新调度:
1. 停止硬盘清理:

CellCLI> ALTER CELL hardDiskScrubInterval=none
  1. 设置硬盘清理开始时间,选择在周末或非高峰时段进行:
CellCLI> ALTER CELL hardDiskScrubStartTime='<Specify the Time>'
  1. 若之前已停止硬盘清理,可将清理间隔改为每两周一次:
CellCLI> ALTER CELL hardDiskScrubInterval=biweekly
1.4 验证设置结果

使用以下命令验证设置结果:

[oracle@exadm01 ~]$ dcli -g celllist.txt cellcli -e list cell attributes name,hardDiskScrubInterval
10.110.12.63: CellServer01     biweekly
10.110.12.64: CellServer02     biweekly
10.110.12.65: CellServer03     biweekly
2. 删除 Oracle Exadata 存储服务器上的跟踪文件

在 Oracle Exadata 存储服务器中,需要定期安排维护任务。可以使用 DCLI 命令行实用程序从 Exadata 计算节点检查所有存储服务器的指标。

2.1 检查指标历史天数

使用以下命令检查各个存储服务器的指标历史天数:

$ dcli -g celllist.txt cellcli -e list cell attributes metricHistoryDays
10.1.1.105: 7
10.1.1.106: 7
10.1.1.107: 7
10.1.1.108: 7
10.1.1.109: 7
10.1.1.110: 7
10.1.1.111: 7
2.2 检查指标目录占用空间

使用以下命令检查指标目录的占用空间:

$ dcli -l root -g cell_group 'du -sm /opt/oracle/cell/cellsrv/deploy/config/metrics'
CellServer01: 139       /opt/oracle/cell/cellsrv/deploy/config/metrics
CellServer02: 140       /opt/oracle/cell/cellsrv/deploy/config/metrics
CellServer03: 140       /opt/oracle/cell/cellsrv/deploy/config/metrics
CellServer04: 140       /opt/oracle/cell/cellsrv/deploy/config/metrics
CellServer05: 139       /opt/oracle/cell/cellsrv/deploy/config/metrics
CellServer06: 139       /opt/oracle/cell/cellsrv/deploy/config/metrics
CellServer07: 139       /opt/oracle/cell/cellsrv/deploy/config/metrics
2.3 检查跟踪文件占用空间

使用以下命令检查跟踪文件的占用空间:

$ dcli -c CellServer01 'du -sm /opt/oracle/cell/log/diag/asm/cell/CellServer01/trace'
CellServer01: 276       /opt/oracle/cell/log/diag/asm/cell/CellServer01/trace
$ dcli -c CellServer02 'du -sm /opt/oracle/cell/log/diag/asm/cell/CellServer02/trace'
CellServer02: 588       /opt/oracle/cell/log/diag/asm/cell/CellServer02/trace
$ dcli -c CellServer03 'du -sm /opt/oracle/cell/log/diag/asm/cell/CellServer03/trace'
CellServer03: 284       /opt/oracle/cell/log/diag/asm/cell/CellServer03/trace
2.4 更改指标保留天数

为避免存储服务器的文件系统利用率过高,可以使用以下命令更改指标的保留天数:

cellcli>alter cell metricHistoryDays=<<RetentionDays>>

例如,将指标保留天数设置为 3 天:

cellcli>alter cell metricHistoryDays=3

设置完成后,使用以下命令验证更改结果:

cellci> list cell attributes metricHistoryDays
exit
2.5 定期清理跟踪文件

可以使用以下两种方式定期清理跟踪文件:
- 方式一:使用 cron 任务

# Grooming Trace files
01 01 * * * $HOME/groomfiles.sh >/dev/null 2>&1
  • 方式二:在 crontab 中设置
[root@ CellServer02 ~]# crontab -l
##################################################
# GROOM DIRECTORIES
##################################################
01 01 1,15 * * /opt/oracle/groomfiles.sh >/dev/null 2>&1
2.6 清理脚本示例

以下是一个清理跟踪文件的脚本示例:

$ cat groomfiles.sh
export adate=`date +"%Y-%m-%d"`
export HOST=`hostname -s`
export TRACE_DIR=/opt/oracle/cell/log/diag/asm/cell/CellServer01/trace
export LOG=/home/oracle/logs/groomfiles.log
export PURGE_TRACE_DAYS=14
echo "Below trace files will be deleted from trace directory" >> $LOG
find ${ALERT_DIR} -type f -name '*.trc' -o -name '*.trm' -mtime +${PURGE_TRACE_DAYS} -exec ls -l '{}' \; >> $LOG
echo "Purge process will be started on `$adate`" >> $LOG
find ${ALERT_DIR} -type f -name '*.trc' -o -name '*.trm' -mtime +${PURGE_TRACE_DAYS} -exec rm -f '{}' \; >> $LOG
echo "Purge process is finished on `$adate`" >> $LOG
3. Oracle Exadata x7-2 的禁止服务 LED 属性

在冗余度降低的集群环境中,关闭 Oracle Exadata 存储服务器可能会导致 Oracle ASM 磁盘组强制卸载,从而影响数据的可用性。为防止人为错误,如误关错误的存储服务器,Exadata 数据库机器 x7 上的存储服务器配备了一个名为“禁止服务”的新 LED。

3.1 禁止服务 LED 的功能

当按下电源按钮时,Oracle Exadata 软件会检查是否可以安全地关闭存储服务器:
- 如果安全,则继续关闭存储服务器。
- 否则,会提醒用户并中止关机操作。

3.2 禁止服务 LED 的最低要求
  • Oracle Exadata 存储服务器软件版本 18.1.0.0.0。
  • Oracle Exadata 存储服务器 x7。
  • Oracle 网格基础设施:
  • 版本 12.1.0.2 2017 年 7 月 BP 版,带有 ARU 21405133。
  • 版本 12.1.0.2 2017 年 10 月 BP 版或更高版本。
  • 版本 12.2.0.1 2017 年 7 月 BP 版,带有 ARU 21405125。
  • 版本 12.2.0.1 2017 年 10 月 BP 版或更高版本。
3.3 检查禁止服务 LED 状态

登录 Exadata 存储服务器,使用以下命令检查禁止服务 LED 的状态:

[celladmin@CellServer01 ~]$ cellcli -e list cell detail | grep -e makeModel -e doNotServiceLEDStatus -e locatorLEDStatus
doNotServiceLEDStatus:      off
locatorLEDStatus:           off
makeModel:                  Oracle Corporation ORACLE SERVER X7-2L High Capacity

如果 doNotServiceLEDStatus 为 on ,则不应为服务关闭存储服务器;如果为 off ,则可以安全地关闭存储服务器。

4. Oracle Exadata x7 的在线闪存磁盘更换

Oracle Exadata 存储服务器中的管理服务器(MS)会监控闪存磁盘的健康状况,如果闪存磁盘出现故障,会自动准备进行更换。

4.1 主动更换正常闪存磁盘

若要主动更换正常的闪存磁盘,可以在登录存储服务器后,使用以下命令:

CellCLI> ALTER PHYSICALDISK <disk_id> DROP FOR REPLACEMENT

对于 Oracle Exadata x7-2 HC 和 Oracle Exadata x7-2 EF 存储服务器,操作步骤相同。

5. Oracle Exadata x7 闪存磁盘的 RAID 0

在 Oracle Exadata x7 中,可以在同一闪存卡的闪存磁盘上创建 RAID 磁盘。管理服务器会自动执行以下操作:
- 发现新的闪存卡后,创建软件 RAID 0。
- 在闪存卡插拔或电源循环后,重新组装软件 RAID。
- 必要时,在系统重启后重新组装软件 RAID。

在 Oracle Exadata x7 之前,物理磁盘、LUN、单元磁盘和网格磁盘之间的关系始终是 1-1-1-N。从 Oracle Exadata x7 开始,使用闪存磁盘的 RAID 0 后,这种关系支持 M-1-1-N。

6. Oracle Exadata x7 的磁盘控制器 CacheVault 闪存模块监控

通常情况下,写入操作先进入 DRAM 缓存,然后磁盘控制器再将数据写回实际存储,这样可以提高写入速度。如果缓存模式为写回模式,则需要备份缓存,以防交流电源故障。

在 Exadata 存储服务器上,管理服务器(MS)一直负责管理和监控 CacheVault 中的电源模块,但之前无法监控闪存模块。Oracle Exadata x7 提供了监控闪存模块的功能,18.1 版本或更高版本的 MS 包含了此新功能,并监控闪存模块的健康状况。

如果闪存模块出现故障,会发出关键警报,可以通过 alerthistory 进行检查:

CELLCLI> cellcli -e list alerthistory 1_1

更换磁盘控制器后,会发出清除警报:

CELLCLI> cellcli -e list alerthistory 1_2
7. Oracle Exadata 数据库机器的 Exafusion 参数

Exafusion 直接到线路协议参数允许数据库进程直接通过 InfiniBand 网络读取和发送 Oracle RAC 消息,绕过了进入操作系统(OS)内核和运行正常网络软件栈的开销,从而提高了 Oracle Exadata 数据库机器上 Oracle RAC 环境的响应时间和可扩展性。该功能仅在 Oracle Exadata Linux 环境中可用,尤其在在线事务处理(OLTP)环境中能显著提高性能。

7.1 Exafusion 参数的先决条件
  • Oracle Exadata 存储服务器软件版本 12.1.2.1.1 或更高版本。
  • Oracle 数据库版本 12.1.0.2.0 BP11 或更高版本。
  • 需要 Mellanox ConnectX-2 和 ConnectX-3 主机通道适配器(HCAs)。
  • 需要 Oracle 企业内核 2 季度更新 5(UEK2QU5)内核(2.6.39 - 400.2nn)或更高版本。
7.2 启用和禁用 Exafusion 参数
  • 启用 Exafusion :将 EXAFUSION_ENABLED 初始化参数设置为 1。
# 启用 Exafusion
EXAFUSION_ENABLED = 1
  • 禁用 Exafusion :将 EXAFUSION_ENABLED 初始化参数设置为 0。
# 禁用 Exafusion
EXAFUSION_ENABLED = 0

需要注意的是,Exafusion 参数不能动态设置,必须在实例启动前进行设置。并且,Oracle RAC 集群中的所有实例必须全部启用或全部禁用该参数。同时,设置 Exafusion 参数需要使用 orarom 用户。

7.3 处理 Exafusion 错误

如果出现以下错误警报日志:

ORA-00600: internal error code, arguments: [ipc_create_que_1], [1], [0], [], [], [], [], [], [], [], []
Incident details in: /u01/app/oracle/diag/rdbms/dbm/dbm1/incident/incdir_181263/dbm1_ora_319306_i181263.trc
Dumping diagnostic data in directory=[cdmp_20171215121403], requested by (instance=2, osid=37555), summary=[incident=133253].

可以按照以下步骤解决:
1. 在两个节点的 /etc/security/limits.conf 文件中添加 orarom 用户。
2. 作为临时解决方案,在 /etc/security/limits.conf 文件中为需要连接数据库并使用 Exafusion 的用户添加 memlock 权限。

以下是 /etc/security/limits.conf 文件的示例配置:

##### BEGIN. DO NOT REMOVE. ADDED BY ORACLE EXADATA DEPLOYMENT ASSISTANT #####
grid         soft         core   unlimited
grid         hard         core   unlimited
grid         soft         nproc  400000
grid         hard         nproc  400000
grid         soft         nofile 400000
grid         hard         nofile 400000
grid         soft         memlock 476038080
grid         hard         memlock 476038080
oracle    soft     core   unlimited
oracle    hard     core   unlimited
oracle    soft      nproc  400000
oracle    hard      nproc  400000
oracle    soft     nofile     400000
oracle    hard     nofile     400000
oracle    soft     memlock 476038080
oracle    hard     memlock 476038080
##### END. DO NOT REMOVE. ADDED BY ORACLE EXADATA DEPLOYMENT ASSISTANT #####
###################################################
orarom       soft        memlock       476038080
orarom       hard        memlock       476038080
###################################################
8. Oracle Exadata 的闪存缓存压缩

从 Oracle Exadata x5 开始,Exadata 存储服务器不再支持闪存缓存压缩功能。不同版本的 Exadata 对闪存缓存压缩的支持情况如下:
| Exadata 版本 | 闪存缓存压缩支持情况 |
| — | — |
| Oracle Exadata x5、x6、x7 | 不支持 |
| Oracle Exadata x7 | 仅支持从 18.1.0.0.0 开始的单元版本 |
| Oracle Exadata v2 到 x4 | 需要获得 Oracle 高级压缩(ACO)许可证才能支持 |

9. Oracle Exadata x4-2/x6-2 的闪存卡更换

在对 Exadata 存储服务器进行维护时,可能需要关闭或重启存储服务器。如果在一个或多个数据库运行时关闭存储服务器,需要验证关闭存储服务器是否会影响 Oracle ASM 磁盘组和数据库的可用性。

9.1 更换闪存磁盘的步骤
  1. 以 celladmin 用户登录 Exadata 存储服务器:
[celladmin@CellServer03 ~]$ cellcli
CellCLI: Release 12.1.2.3.4 - Production on Tue Jul 18 17:26:30 EDT 2017
Copyright (c) 2007, 2016, Oracle.  All rights reserved.
  1. 检查 Cellsrv、MS 和 RS 进程的状态:
CellCLI> list cell detail
  1. 检查如果网格磁盘离线,ASM 是否正常。以下命令列出的网格磁盘的 asmdeactivationoutcome 参数应返回 Yes :
CellCLI> list griddisk attributes name,asmmodestatus,asmdeactivationoutcome

如果一个或多个磁盘的 asmdeactivationoutcome 参数未返回 Yes ,则需要检查相应的磁盘组并恢复该磁盘组的数据冗余。

  1. 停用要关闭或重启的存储服务器上的所有网格磁盘:
CellCLI> alter griddisk all inactive

此操作可能需要 10 到 15 分钟或更长时间,具体取决于活动情况。在关闭存储服务器服务之前,必须确保所有磁盘都已成功离线。

  1. 确认网格磁盘已离线:
CellCLI> list griddisk attributes name,asmmodestatus,asmdeactivationoutcome
CellCLI> list griddisk
  1. 等待 Oracle 支持/Unix 团队关闭或重启存储服务器,并等待他们的确认。确认完成后,继续以下步骤。

  2. 检查 Cellsrv、MS 和 RS 进程的状态:

CellCLI> list cell detail
  1. 存储服务器重新上线后,需要激活网格磁盘。在激活之前,先检查以下命令:
CellCLI> list griddisk attributes name,asmmodestatus,asmdeactivationoutcome
CellCLI> list griddisk
  1. 激活所有网格磁盘:
CellCLI> alter griddisk all active
  1. 验证所有网格磁盘是否已成功上线:
CellCLI> list griddisk attributes name,asmmodestatus,asmdeactivationoutcome

只有当所有网格磁盘的 asmmodestatus 都显示为 ONLINE 时,Oracle ASM 同步才完成。此操作使用快速镜像重新同步操作,不会触发 ASM 重新平衡。每个磁盘将先进入 SYNCING 状态,然后变为 ONLINE 状态。

在整个过程中,会通过 Oracle Exadata 警报收到各个阶段的警报,如闪存磁盘故障、闪存磁盘移除和闪存磁盘更换等。

10. Oracle Exadata 补丁备份占用大量磁盘空间

在应用临时补丁或关键补丁更新(CPU)补丁时,OPatch 会在 $ORACLE_HOME/.patch_storage 目录下占用大量磁盘空间,用于存储受影响的库和模块的备份。

10.1 查看可用选项

使用以下命令查看 opatch util 命令的所有可用选项:

$ opatch util -help
10.2 清理补丁备份

使用以下命令清理补丁备份:

$ opatch util cleanup
10.3 查看清理前的目录情况

以下是清理前目录的示例:

[grid@exadm01 ~]$ du -sh /u01/app/12.1.0.2/grid/.patch_storage
21G     /u01/app/12.1.0.2/grid/.patch_storage
[grid@exadm01 ~]$ ls -lrth /u01/app/12.1.0.2/grid/.patch_storage
total 188K
drwxr-xr-x  4 grid oinstall 4.0K Jul 26  2016 21436941_Aug_13_2015_04_00_40
drwxr-xr-x  4 grid oinstall 4.0K Jul 26  2016 22502518_Mar_29_2016_02_24_50
...
11. Oracle Exadata 的快照克隆功能

在 Oracle Exadata 数据库机器中,可以使用快照数据库为测试和开发环境快速提供高效的数据库快照。快照数据库支持所有 Oracle Exadata 功能,如 Exadata 智能扫描和 Exadata 智能闪存缓存。快照从数据库的共享只读副本开始,随着更改的进行,每个快照将更改的块写入稀疏磁盘组。

11.1 创建稀疏网格磁盘和稀疏磁盘组

可以使用相应的命令创建稀疏网格磁盘和稀疏磁盘组。

11.2 稀疏磁盘组的特点
  • 稀疏文件只能在稀疏磁盘组中创建。
  • cell.sparse_dg 是一个新属性,稀疏磁盘组必须将其设置为 all sparse 。
  • 必须将 compatible.asm 和 compatible.rdbms 设置为 12.1.0.2。
  • 对于 4M AU,使用 16× 扩展大小,每个扩展为 64M。
  • 稀疏磁盘组使用虚拟分配的元数据。

综上所述,Oracle Exadata 系统提供了丰富的功能和管理工具,通过合理配置和管理这些功能,可以提高系统的性能、可用性和数据安全性。在实际使用过程中,需要根据具体的业务需求和环境特点,灵活运用这些功能和工具,以实现最佳的使用效果。

Oracle Exadata 系统管理与特性解析(续)

12. 硬盘清理调度流程总结

为了更清晰地展示硬盘清理调度的步骤,下面用 mermaid 流程图来呈现:

graph LR
    A[查看当前硬盘清理间隔] --> B[停止硬盘清理]
    B --> C[重新调度硬盘清理]
    C --> D[设置清理开始时间]
    C --> E[更改清理间隔为 biweekly]
    D --> F[验证设置结果]
    E --> F
13. 跟踪文件清理时间对比

不同的跟踪文件清理方式在时间设置上有所不同,下面通过表格进行对比:
| 清理方式 | 时间设置 |
| — | — |
| 方式一(cron 任务) | 01 01 * * * $HOME/groomfiles.sh >/dev/null 2>&1 |
| 方式二(crontab 设置) | 01 01 1,15 * * /opt/oracle/groomfiles.sh >/dev/null 2>&1 |

14. Exafusion 启用与错误处理流程

Exafusion 的启用和错误处理是一个较为复杂的过程,以下用 mermaid 流程图展示:

graph LR
    A[检查先决条件] --> B[启用 Exafusion]
    B --> C[实例启动前设置参数]
    C --> D[检查是否出现错误]
    D -- 是 --> E[添加 orarom 用户到 limits.conf]
    E --> F[添加 memlock 权限到用户]
    D -- 否 --> G[正常使用 Exafusion]
15. 闪存卡更换流程详细解析

在 Oracle Exadata x4 - 2/x6 - 2 的闪存卡更换过程中,每个步骤都至关重要,下面对其进行详细解析:
1. 登录与进程检查 :
- 以 celladmin 用户登录存储服务器,这是整个操作的入口。
- 检查 Cellsrv、MS 和 RS 进程的状态,确保服务器的基本运行环境正常。
2. ASM 状态检查 :
- 使用 list griddisk attributes name,asmmodestatus,asmdeactivationoutcome 命令检查网格磁盘的状态。如果 asmdeactivationoutcome 参数未返回 Yes ,则需要恢复磁盘组的数据冗余,这一步是为了保证在磁盘离线时,ASM 能够正常工作。
3. 停用网格磁盘 :
- 执行 alter griddisk all inactive 命令停用所有网格磁盘。由于此操作可能需要较长时间,需要耐心等待并确保所有磁盘都已成功离线。
4. 确认离线状态 :
- 通过 list griddisk attributes name,asmmodestatus,asmdeactivationoutcome 和 list griddisk 命令确认网格磁盘已离线,为后续的服务器操作做好准备。
5. 服务器操作与等待确认 :
- 等待 Oracle 支持/Unix 团队关闭或重启存储服务器,并等待他们的确认。这一步需要与专业团队密切配合,确保操作的安全性和正确性。
6. 重启后进程检查 :
- 服务器重新上线后,再次检查 Cellsrv、MS 和 RS 进程的状态,确保服务器恢复正常运行。
7. 激活网格磁盘 :
- 在激活网格磁盘之前,先检查网格磁盘的状态。然后执行 alter griddisk all active 命令激活所有网格磁盘。
8. 验证上线状态 :
- 使用 list griddisk attributes name,asmmodestatus,asmdeactivationoutcome 命令验证所有网格磁盘是否已成功上线。只有当所有磁盘的 asmmodestatus 都显示为 ONLINE 时,Oracle ASM 同步才完成。

16. 补丁备份清理步骤优化

在清理 Oracle Exadata 补丁备份时,可以按照以下优化步骤进行:
1. 查看可用选项 :
- 使用 opatch util -help 命令查看所有可用选项,了解不同的清理方式和参数。
2. 制定清理计划 :
- 根据服务器的磁盘空间使用情况和补丁备份的重要性,制定合理的清理计划。例如,可以定期清理一些旧的、不再需要的补丁备份。
3. 执行清理操作 :
- 使用 opatch util cleanup 命令执行清理操作。在清理过程中,要注意观察命令的输出,确保清理操作正常进行。
4. 验证清理结果 :
- 清理完成后,使用 du -sh /u01/app/12.1.0.2/grid/.patch_storage 命令查看补丁备份目录的占用空间,验证清理结果。

17. 快照克隆功能的应用场景

Oracle Exadata 的快照克隆功能在实际应用中有多种场景,以下是一些常见的应用场景:
1. 测试环境搭建 :
- 在开发新的应用程序或进行系统升级时,可以快速创建数据库的快照,为测试环境提供与生产环境相同的数据和配置,从而提高测试的准确性和效率。
2. 数据恢复演练 :
- 定期进行数据恢复演练是保障数据安全的重要措施。使用快照克隆功能,可以快速恢复到某个时间点的数据库状态,验证数据恢复方案的有效性。
3. 数据分析与报表生成 :
- 在进行数据分析和报表生成时,可能需要对大量的历史数据进行处理。通过创建数据库快照,可以在不影响生产环境的情况下,对数据进行深入分析和处理。

18. 系统管理的最佳实践总结

为了更好地管理 Oracle Exadata 系统,以下是一些最佳实践总结:
1. 定期维护 :
- 按照一定的时间周期进行硬盘清理、跟踪文件清理和补丁备份清理等维护操作,确保系统的性能和稳定性。
2. 监控与预警 :
- 建立完善的监控系统,实时监控系统的各项指标,如磁盘利用率、CPU 使用率等。当指标超过阈值时,及时发出预警,以便及时处理问题。
3. 文档记录 :
- 对系统的配置、操作步骤和问题处理过程进行详细的文档记录,方便后续的维护和管理。
4. 培训与学习 :
- 定期组织系统管理员进行培训和学习,了解 Oracle Exadata 系统的最新功能和技术,提高管理员的技术水平和管理能力。

通过以上对 Oracle Exadata 系统各个功能和管理方面的详细介绍,我们可以看到该系统提供了丰富的工具和功能,能够满足不同用户的需求。在实际使用中,用户需要根据自身的业务需求和环境特点,合理运用这些功能和工具,以实现系统的最佳性能和数据安全。

相关推荐

结合混合A全局规划与MPC-iLQR执行器噪声和模型不匹配(MATLAB)的差动驱动机器人导航。.zip

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

CPU进程调度可视化含源码

这是一份操作系统课程设计,用Python实现的CPU进程调度模拟器,覆盖先来先服务、短作业优先、时间片轮转、优先级调度四种算法,配甘特图可视化和指标对比。交付物包含实验报告的Markdown、HTML、PDF三件套,汇报PPT,完整Python源码,以及六张运行截图,装好依赖后运行主文件即可打开图形界面。 内容主线围绕四种调度算法展开:在左侧面板录入进程名、到达时间、服务时间和优先级,也可以随机生成一批进程;右侧选择算法并设置时间片参数,点击调度后甘特图按时间比例画出每个CPU运行片段的色带,空闲时段以灰色标注;表格逐进程列出完成时间、周转时间、带权周转时间和等待时间,并汇总三项平均值。点击对比按钮会弹出柱状图窗口,并排展示四种算法的平均周转与平均带权周转,最优算法的柱子以橙色高亮;结果可导出为CSV文件,编码带BOM保证Excel直接打开不乱码。 亮点在于调度逻辑与界面展示完全解耦:算法层只负责按规则挑下一个进程并维护就绪队列,界面层只负责渲染甘特图和指标表,中间靠数据类传递结果。想新增一种调度算法只需在算法文件里加函数并登记,界面代码无需改动。输入处理做了完整防护,到达时间为负、服务时间小于1、优先级超出范围、时间片非法等情况都会弹窗说明原因并拒绝提交,不会让程序崩溃。整个项目除matplotlib外全部使用标准库,离线环境装好Python即可运行,启动自带六个预置演示进程。 适合操作系统课程需要做课程设计的计算机相关专业学生,也适合想通过可视化方式理解四种调度算法差异的自学者。安装好matplotlib依赖后运行入口文件即可打开主窗口,自带演示数据可直接查看甘特图和指标;也可自行修改进程参数和时间片大小,对比不同算法下平均周转时间的变化。

基于.NET8开发,是一套开源、免费、跨平台、企业级在线考试软件,支持x64、x86、Arm64芯片架构的windows和linux操作系统,支持人大金仓、达梦、OceanBase数据库 等数据库

星期八在线考试系统,基于.NET8开发,是一套开源、免费、跨平台、企业级在线考试软件,支持x64、x86、Arm64芯片架构的windows和linux操作系统,支持人大金仓、达梦、OceanBase数据库 及 MySql、SqlServer、PostgreSql、SQLite 等数据库。

中国技术大败局TBL-20261107-238深度解剖报告V2.2 决策迭代版【汽车热管理】基于车速的空调内外循环控制装置:公知技术组合型伪创新专利失效分析

中国技术大败局TBL-20261107-238深度解剖报告V2.2 决策迭代版内容概要:本报告对奇瑞汽车股份有限公司申请的“一种汽车空调内外循环的控制装置及其控制方法”(专利号CN201010100392.0)进行了深度技术解剖与专利失效分析。该专利旨在通过车速信号自动切换空调内外循环,实现低速内循环防尾气、高速外循环引入新风的功能。然而,其技术方案被判定为“控制逻辑型伪创新”,核心逻辑“车速信号→阈值比较→内外循环切换”属于公知技术的常规组合,未提出新的空气质量预测模型、多源信息融合算法或预料不到的技术效果,因而不具备创造性,最终被驳回。报告指出,该专利与奇瑞多项同类专利(如184、186、207、228、231、237号)共同构成“公知信号/逻辑→公知执行器”的系统性低质量专利布局,反映出企业在技术创新路径上的重复性投入与创造性缺失。; 适合人群:企业知识产权负责人(IPR)、研发总监/CTO、投资尽调人员、专利代理机构从业者及技术研发团队。; 使用场景及目标:①识别“公知技术常规组合”类专利的创造性风险,避免无效研发投入;②指导高价值专利撰写,强调多源信息融合、动态优化模型与实证数据支撑;③为投资机构提供技术资产估值与风险甄别依据,区分低壁垒“信号替换”与高壁垒“算法创新”。; 阅读建议:此报告适用于研发与知识产权战略复盘,建议结合模块七“行业启示”与模块八“产业链坐标定位”进行系统性反思,重点关注“判距差”指标与“死海区”定位,推动企业从“功能实现”转向“模型创新”的研发范式升级。

北师大版英语词汇助手练习版-win10-不适用win7

最适合白板下的英语词汇PK工具 【百度网盘APP】北师大版英语词汇助手win10,11版本 3MB 链接:https://pan.baidu.com/s/1VO6vXt-ICCh-kAPstX8LcA  提取码:chen 【百度网盘】北师大版英语词汇助手 win 7,8,10,11可通用 60MB 链接:https://pan.baidu.com/s/15z5YN5GvvAZERqhitQcu1g  提取码:chen

改进差分进化算法及其求解柔性作业车间调度问题(Python代码实现)

内容概要:本文系统探讨了改进差分进化算法在求解柔性作业车间调度问题中的应用,并结合Python代码实现,展示了该算法相较于传统方法在全局搜索能力和收敛速度方面的优势。研究不仅聚焦于算法本身的改进策略,如变异、交叉和选择操作的优化,还深入分析了其在复杂制造环境中应对多目标、多约束调度问题的有效性。文中通过标准测试实例验证了算法性能,并与其他智能优化算法进行了对比分析,体现了其在实际工程应用中的潜力。此外,文档还关联了多无人机路径规划、电力系统状态估计、微电网优化、图像与信号处理等多个前沿技术领域,展现了智能优化算法在跨学科工程仿真与决策支持中的广泛适用性。; 适合人群:具备一定编程基础和工程背景,从事智能制造、自动化、工业工程、电气工程、控制科学与工程、计算机科学及相关领域的科研人员、高校研究生及企业研发技术人员。; 使用场景及目标:①为科研工作者提供可复现的智能优化算法代码框架,支持柔性作业车间调度、多无人机协同路径规划、电力系统优化等复杂工程问题的建模仿真;②辅助完成学术论文复现、课程设计、毕业设计或科研项目开发;③推动智能算法在生产调度、能源管理、交通规划等实际场景中的落地应用。; 阅读建议:建议读者结合文中提供的算法原理与代码实现,动手调试并验证不同参数设置对优化结果的影响,同时可参考荔枝科研社提供的完整资源包进行扩展学习与实践,以加深对算法机制与工程应用的理解。

复现基于改进秃鹰算法的微电网群经济优化调度研究(Matlab代码实现)

内容概要:本文聚焦于“基于改进秃鹰算法的微电网群经济优化调度”研究,提出一种改进的秃鹰优化算法(IBOA)以解决传统智能优化算法在求解过程中易陷入局部最优、收敛速度慢等问题。通过引入自适应权重、动态搜索机制及种群多样性保持策略,显著增强了算法的全局搜索能力和收敛精度。研究构建了包含光伏发电、风力发电、储能系统、可控负荷及电网交互的微电网群多主体协同调度模型,以系统综合运行成本最小化为目标函数,综合考虑功率平衡、设备出力能力、储能荷电状态、爬坡速率等多种实际约束条件。利用Matlab平台进行仿真验证,并与标准BOA、PSO、GA等经典智能算法进行对比,结果表明所提算法在降低系统运行成本、提高可再生能源消纳率及优化调度效率方面具有明显优势。; 适合人群:适用于具备电力系统基础、优化理论知识及Matlab编程能力的高校研究生、科研人员及从事微电网、综合能源系统优化调度相关工作的工程技术人员。; 使用场景及目标:①用于微电网群或多微网系统的经济调度建模与仿真;②开展新型智能优化算法的设计、改进与性能评估;③支撑含高比例可再生能源的配电系统优化运行决策; 阅读建议:建议结合提供的Matlab代码深入理解算法实现细节与调度模型构建过程,重点分析改进策略对优化性能的影响,并可通过替换场景参数或引入其他算法进行横向对比实验,进一步掌握智能优化在能源系统中的应用方法。【复现】基于改进秃鹰算法的微电网群经济优化调度研究(Matlab代码实现)

改进-基于新扩展移相角下的双有源桥DAB变换器仿真(EPS调制、软开关、最小应力优化)(Simulink仿真实现)

内容概要:本文系统阐述了基于新扩展移相角的双有源桥(DAB)DC-DC变换器的先进仿真研究,聚焦于EPS调制策略、软开关技术实现及最小应力优化控制目标的协同设计。通过Matlab/Simulink平台构建双闭环控制系统模型,深入剖析变换器在高频隔离、双向功率传输场景下的动态响应特性与效率优化机制。该仿真方案复现了顶级EI期刊研究成果,具备高学术参考价值,并集成于一套完整的电力电子与新能源系统仿真资源体系中,涵盖微电网、PWM整流器、LLC谐振变换器、储能管理等多个关键技术方向,配套完整的仿真代码、设计文档与理论资料,支持深度学习与二次开发; 适合人群:面向电力电子、电气工程及其自动化、新能源科学与工程等领域的研究生、科研人员以及从事高性能DC-DC变换器研发的工程师,要求具备扎实的电路理论基础、电力电子拓扑分析能力及一定的Matlab/Simulink仿真实践经验; 使用场景及目标:①深入掌握DAB变换器的核心工作原理及其在EPS调制与软开关协同下的最优控制策略;②支撑高水平科研论文的复现、改进与创新性研究;③服务于硕士课题、博士研究或企业级新能源变换器产品的前期验证与算法开发; 阅读建议:建议结合文中提供的Simulink模型与引用的权威文献进行系统学习,重点理解控制架构设计、参数整定方法与优化算法实现路径,同时可横向对比其他电力电子变换器案例,拓展系统级工程思维与科研创新能力。

【储能选址定容】基于多目标粒子群算法的配电网储能选址定容(Matlab代码实现)

内容概要:本文提出了一种基于多目标粒子群优化算法(MOPSO)的配电网储能系统选址定容方法,并配套提供了完整的Matlab代码实现。该方法针对配电网中储能装置的最优位置选择与容量配置问题,构建了一个综合考虑网损最小化、电压偏差改善和投资成本降低的多目标优化模型,采用MOPSO算法进行高效求解,最终获得一组Pareto最优解集,为决策者提供多样化的布局方案选择。研究以标准IEEE 33节点配电系统为算例进行仿真验证,结果表明该方法能够有效协调多个相互冲突的目标,显著提升配电网的经济性、稳定性和供电质量,具有良好的工程应用前景。; 适合人群:适用于电气工程、电力系统及其自动化等相关领域的研究生、科研人员以及从事配电网规划、储能系统设计的工程技术人员;尤其适合具备一定Matlab编程能力并熟悉智能优化算法基本原理的学习者。; 使用场景及目标:①应用于实际配电网中储能系统的科学规划与优化设计,提高系统运行效率与可靠性;②作为多目标智能优化算法在电力系统中应用的教学案例,深入理解MOPSO算法的实现机制及其在复杂工程问题中的建模思路;③支撑学术论文撰写、科研项目申报或课程设计中的算法复现、性能测试与对比分析工作。; 阅读建议:建议读者结合IEEE 33节点系统拓扑结构图与所提供的Matlab代码同步调试,重点掌握目标函数的设计、约束条件的处理以及Pareto前沿的生成过程,进一步可尝试与其他多目标算法(如NSGA-II)进行性能对比,深化对算法特性的理解与应用能力。

基于变频控制的多相交错LLC谐振变换器闭环仿真(Simulink仿真实现)

内容概要:本文档聚焦于电力电子与控制系统领域的仿真研究,核心内容为“基于变频控制的多相交错LLC谐振变换器闭环仿真”的Simulink实现。系统阐述了LLC谐振变换器的开环与闭环控制策略、软开关技术、恒压恒流双竞争控制机制、多相交错结构设计及变频调制原理,通过建模仿真深入剖析高频DC-DC变换器的工作特性与动态响应。文档整合了丰富的科研资源,涵盖双向CLLC、DAB变换器、PWM整流器、微电网优化调度、状态估计(EKF/UKF/PF)等多个前沿方向的仿真案例,形成一个体系完整、技术覆盖面广的综合性技术资料库,适用于高水平科研与工程实践。; 适合人群:电气工程、自动化、电力电子及相关专业的研究生、高校科研人员,以及从事新能源发电、电动汽车、智能电网、工业电源等领域的技术研发工程师。; 使用场景及目标:①开展高频谐振变换器拓扑结构与先进控制策略的深入研究;②完成复杂电力电子系统的建模、仿真与性能验证;③支撑SCI/EI论文撰写、科研项目申报与关键技术攻关;④辅助高校课程设计、研究生课题实践与毕业设计的仿真实验环节。; 阅读建议:建议结合文中提供的网盘资源与微信公众号资料进行系统学习,优先掌握LLC变换器的基本工作模态与谐振原理,再逐步深入闭环控制器设计与参数整定,仿真过程中应重点关注关键波形分析与系统稳定性判据,以全面提升对高频变换器动态特性的理解与工程应用能力。

(Multisim课设资料)最全面函数信号发生器(三角波+正弦波+方波信号+锯齿波仿真设计+报告文档

内容概要:本文档是一份基于Multisim平台的函数信号发生器综合性课程设计资料,系统地实现了三角波、正弦波、方波及锯齿波等多种标准波形的电路仿真设计,配套完整的仿真模型与课程报告。内容围绕模拟电子技术核心,详细阐述各类波形生成电路的工作原理、关键元器件选型、参数计算、模块化电路搭建以及Multisim环境下的仿真验证流程。同时,资料还整合了直流稳压电源、开关电源、滤波器设计等相关电子系统案例,体现出较强的综合实践性与工程应用价值,适用于电子类课程设计的全流程参考。; 适合人群:电子工程、自动化、电气工程及其自动化等专业的本科或研究生,具备电路分析、模拟电子技术基础知识,正在开展课程设计、仿真实验或毕业设计的学生。; 使用场景及目标:①完成“模拟电子技术”“电子线路设计”等课程设计任务;②掌握Multisim软件在波形发生器设计中的实际应用技能;③深入理解多波形信号发生器的电路拓扑结构与工作机理,提升电路仿真、系统调试与技术文档撰写能力。; 阅读建议:建议结合Multisim软件进行同步仿真操作,按照文档中的电路图逐步搭建并调试各子模块,重点关注波形转换的实现条件与参数匹配关系,同时参考配套报告规范撰写自身设计成果,强化理论与实践的融合。

创龙 瑞芯微 RK3588 国产工业开发板—Qt交叉编译环境搭建与GPU图形渲染实战

本文详细介绍了在创龙RK3588国产工业开发板上搭建Qt交叉编译环境并利用GPU进行图形渲染的完整实战流程。文章从环境准备入手,讲解了交叉编译工具链的配置,并提供了命令行与Qt Creator两种编译方法。通过部署运行和自启动设置,确保程序在板卡上稳定运行。最后,通过OpenGL案例实战,展示了如何调用RK3588的GPU进行高效图形渲染,释放其图形处理潜力,适用于工业HMI、智能终端等高要求图形界面开发。

weixin_28278377的博客 449

2026年(新服务器默认密码)最新各大厂商默认凭证大全

本文整理了国内外主流服务器厂商的默认管理接口凭证信息,包括Dell、HPE、浪潮、华为等品牌的管理接口类型、默认用户名/密码和IP地址。特别强调国产服务器在信创环境下的安全风险,指出国内厂商部分型号仍保留固定默认密码(如浪潮admin/admin),而国际厂商多采用随机密码标签。文章提供了新机初始化安全流程建议:查找机箱标签、立即修改默认密码、配置网络隔离、更新固件等。最后提醒运维人员,服务器安全应从首次上电开始重视,管理接口暴露是重大风险点,必须严格执行安全规范。

你好,旧时光! 1696

专治疑难系列 - 解决打印机凭证冲突问题

一、问题描述 二、解决方法 三、问题已解决

Passerby_Wang的博客 2万+

从稳压管到LDO芯片:一张图看懂线性电源的‘内卷’进化史

本文追溯了从稳压管到LDO芯片的线性电源技术进化历程,详细解析了各阶段的技术突破与局限。重点探讨了现代LDO在超低功耗、高精度控制等方面的创新,并提供了实战选型的黄金法则,帮助工程师在电子设备小型化与低功耗化趋势中做出最优选择。

weixin_42525551的博客 204

PHP服务端 苹果支付(IAP)处理

公司做的app需要做IAP订阅支付,开始觉得和微信的支付流程差不多,做起来还是有点麻烦,主要是网上的文章很少,不能拿来主义。自己做完总结一下,希望对小伙伴们有帮助我就很欣慰了。代码写的不好 不要喷我。。。 首先讲一下我的业务逻辑,也就是php服务端需要做什么事情。 先上图: 下面我详细的讲一下每...

山水的博客 1万+

AI工程实战:如何在实际工程中运用Claude Code

本文探讨了利用大型语言模型(LLM)进行复杂工程项目的结构化工作流。核心策略包括:1)规划先行,通过"探索子代理任务"主动分析代码库并澄清需求;2)定制AI行为,要求简洁输出和列出未解决问题;3)将大型任务分解为多阶段计划以管理上下文窗口限制;4)利用GitHub Issues作为外部存储实现跨会话状态持久化。这种"规划-执行"模式将AI从代码生成器升级为项目管理代理,通过与GitHub CLI等工具深度集成,实现了高效的多阶段工程协作。该方法展示了AI辅助编程向流程

老孙 | Ethan Sun 的博客:AI 智能体与 AI 原生软件的工程实践 1089

S32K144后门密钥实战:如何用JLINK脚本绕过复位陷阱更新加密固件

本文详细介绍了在S32K144微控制器上,如何利用JLINK脚本绕过调试器默认复位陷阱,实现通过后门密钥安全更新加密固件的实战方案。针对汽车电子现场维护中常见的“解锁-复位-锁定”循环问题,文章提供了完整的JLinkScript定制方法、批处理工具及故障排除指南,帮助工程师高效完成固件升级。

weixin_29175469的博客 142

Python爬虫实战:携程旅游平台数据爬取(酒店+机票+景点),破解加密与反爬(附完整代码)

携程的反爬机制再复杂,核心逻辑都是“识别非真实用户的请求”,而爬虫的核心就是“让请求看起来像真实用户的行为”。本文的方案从登录态处理、参数加密破解、动态数据抓取,到反爬应对,都是围绕“模拟真实”展开:用Playwright模拟真实浏览器登录,用住宅代理模拟真实用户IP,用随机延迟模拟真实用户的操作频率。掌握了这个核心思路,无论平台的反爬如何升级,都能找到应对方法。当然,爬虫技术是一把双刃剑,合理使用才能发挥其价值。如果你的爬虫项目中遇到了携程的反爬问题,不妨按照本文的步骤试试,大概率能解决问题。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2605

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Camera2Demo

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

上一篇: 创新、标准化与商业成功
下一篇: 11、图论知识详解:从基础概念到高级应用
tensorflowjs6
博客等级 码龄3年 154粉丝 1495原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值