Oracle数据库进程体系结构概述

news2026/4/3 21:09:42
Oracle数据库进程体系结构概述Oracle属于多进程体系架构它由多个后台进程组成每个后台进程完成特定的维护任务进程之间互相协助最终共同完成数据库所需的维护任务。本文讲述的内容1、进程类型 2、Oracle两种服务客户端进程的模式 3、客户端进程概述 4、连接和会话 5、服务器进程概述 6、后台进程概述 1强制性后台进程 进程监视进程 (PMON) 监听器注册 (LREG) 系统监视进程(SMON) 数据库写入进程(DBWn) 日志写入进程(LGWR) 检查点进程(CKPT) 可管理性监视进程(MMON and MMNL) 恢复进程(RECO) 2可选后台进程 归档进程 作业队列进程 CJQ0 和 Jnnn 恢复写进程(RVWR) 闪回数据存档进程 FBDA 空间管理协调进程 (SMCO) 调度器进程(Dnnn) 和共享服务进程 (Snnn) 3从属进程 I/O 从属进程 并行查询从属进程进程类型客户端进程运行应用程序或 Oracle 工具。Oracle进程运行 Oracle 数据库代码包括下列子类型1、后台进程与数据库实例同时启动并执行一些维护任务如执行实例恢复、清理进程、将重做缓冲区写入磁盘等。2、服务器进程基于客户端请求执行相应的工作。例如这些进程解析 SQL 查询、将查询放入共享池、为查询创建并执行查询计划、将数据从数据库缓冲区高速缓存或从磁盘读入缓冲区。3、从属进程为后台进程或服务器进程执行额外任务。Oracle两种服务客户端进程的模式专用服务器进程一个客户端进程由一个专用的服务器进程来服务11专用服务。对于专用服务器连接客户端连接与一个且仅与一个服务器进程相关联。在 Linux 上连接到一个数据库实例的 20 个客户端进程有相应的 20 个服务器进程为其提供服务。每个客户端进程直接与其服务器进程进行通信。在会话期间此服务器进程专用于其客户端进程。服务器进程将特定于进程的信息和 UGA 存储在其PGA 中共享服务器进程多个客户端进程由一个专用的服务器进程来服务N1专用服务。对于共享服务器连接客户端应用程序通过网络连接到一个调度器进程而不是一个服务器进程。例如 20 个客户端进程可能会仅连接到一个单一的调度器进程。调度器进程接收来自已连接客户端的请求并将它们放入大池中的请求队列。第一个可用的共享服务器进程从队列承接一个请求并处理。处理完毕后共享服务器进程将结果放回调度器响应队列。调度器进程会监视此队列并将结果传回客户端。与专用服务器进程类似共享服务器进程也有其自己的 PGA。但是会话的 UGA 位于 SGA 中以便任何共享服务器进程可以访问其中的会话数据。客户端进程概述当用户运行一个应用程序如 ProC 程序或 SQLPlus时操作系统会创建一个客户端进程 有时称为用户进程来运行用户应用程序。客户端应用程序具包含链接到Oracle 的库文件和数据库进行通信所需的 API。连接和会话连接是在客户端进程和数据库实例之间的一条物理通信路径。通信路径使用可用的进程间通信机制或网络软件来建立。通常连接在客户端进程和服务器进程或调度器进程之间产生。也可以其他方式例如与Oracle 连接管理器产生这里不讨论。会话是数据库实例内存中的一个逻辑实体表示登录到数据库的某个当前用户的状态。例如当用户使用密码通过了数据库身份验证时会为此用户建立一个会话。会话的持续时间从用户通过数据库验证开始直到用户断开连接或退出数据库应用程序。在单个连接之上可以建立 0 个、 1 个、或多个会话。这些会话相互独立一个会话中的事务提交并不会影响其他会话中的事务。例如在一个会话中生成一个 SQL 语句执行统计信息的自动跟踪会在一个连接中创建两个会话。服务器进程概述Oracle 数据库创建服务器进程以处理连接到实例的客户端进程的请求。客户端进程总是通过单独的服务器进程与数据库进行通信。服务器进程可以执行一个或多个下列任务1、解析并运行通过应用程序发出的 SQL 语句包括创建和执行查询计划2、执行 PL/SQL 代码3、将数据块从数据文件读入数据库缓冲区高速缓存 将已修改的块写回磁盘是 DBWn 后台进程的任务4、返回结果信息以便应用程序可以进一步处理后台进程概述多进程 Oracle 数据库会使用某些后台进程跟随实例一起启动。这些后台进程执行操作数据库所需的维护任务同时多用户同时访问和操作下最大化数据库的性能。每个后台进程都有其单独的任务但又与其他进程相互协作。例如 LGWR 进程将重做日志缓冲区中的数据写入到联机重做日志。当已填充的日志文件将被存档时 LGWR 通知另一个进程来归档该文件。数据库实例启动时Oracle 数据库将自动创建后台进程。实例可能会有许多后台进程但并不是所有这些进程在每种数据库配置中都存在。三类后台进程强制性后台进程可选后台进程从属进程强制性后台进程简单理解为数据库启动所必须存在的进程。包含如下进程监视进程 (PMON)监听器注册 (LREG)系统监视进程(SMON)数据库写入进程(DBWn)日志写入进程(LGWR)检查点进程(CKPT)可管理性监视进程(MMON and MMNL)恢复进程(RECO)进程监视进程 PMON进程监视器 PMON 监视其他的后台进程并在某个服务进程或调度进程异常终止时执行进程恢复。PMON 负责清理数据库缓冲区高速缓存并释放客户端进程以前还在使用的资源。例如 PMON 重置活动事务表的状态、 释放不再需要的锁、并从活动进程列表中删除其进程 ID。监听注册进程 (LREG)12版本引入替PMON分担了注册信息到监听器的工作以前版本这个工作由PMON完成负责将实例和调度进程的信息注册到 Oracle 网络监听器。当实例启动时 LREG 轮询监听器以确定它是否正在运行。如果监听器正在运行则 LREG将有关参数传递给它。如果监听器未运行则 LREG 定期尝试联系它。系统监视进程 SMON系统监视进程 SMON 负责各种系统级清理职责。分配给 SMON 的职责包括如有必要在实例启动时执行实例恢复。在 Oracle RAC 数据库中一个数据库实例的 SMON 进程可以为另一个失败的实例执行实例恢复。在实例恢复期间由于读文件或表空间脱机错误而跳过的已终止事务由 SMON 进行恢复。当表空间或文件重新联机时SMON 将恢复该事务。清理未使用的临时段。例如 Oracle 数据库在创建索引时会分配扩展区。如果操作失败则 SMON 会清理临时空间。合并在字典管理的表空间中的多个连续空闲扩展区。SMON 定期检查是否需要做什么。其他进程在发现需要做什么时也可以调用 SMON 来做。数据库写入进程 DBWn数据库写入进程 DBWn 将数据库缓冲区的内容写入到数据文件中。DBWn 进程将数据库缓存中被修改的缓冲区写入到磁盘中。虽然一个数据库写入进程 DBW0 对于大多数系统来说已经足够但如果系统大量修改数据可以配置额外的写入进程——从 DBW1到 DBW9和从 DBWa 到 DBWj ——来提高写入性能。这些额外的 DBWn 进程在单处理器系统上用处不大。DBWn 进程在下列条件下会将脏缓冲区写入到磁盘当服务进程扫描了额定数目的缓冲区后仍未找到干净的可重复使用的缓冲区时它会通知 DBWn 执行写入操作。DBWn 尽可能以异步方式将脏缓冲区写入到磁盘以便同时能执行其他处理。DBWn 周期性地写出缓冲区以推进检查点该点是重做线程中实例恢复开始的位置。检查点的日志位置由在缓冲区高速缓存中最老的脏缓冲区确定。在许多情况下DBWn 写入的块将遍布整个磁盘。因此该写操作往往要比由 LGWR 执行的顺序写入速度慢。DBWn 进程尽可能进行多块写入以提高效率。多块写入的数据块数量因操作系统而异。日志写入进程 LGWR日志写入进程 LGWR 管理重做日志缓冲区。LGWR 将缓冲区中的一个连续部分写入联机重做日志。通过分离各种修改数据库缓冲区任务将脏缓冲区分散写入到磁盘而将重做缓冲区顺序写入到磁盘提高了数据库性能。在以下的情况下 LGWR 将自上次最后写入以来复制到缓冲区的所有重做条目写入联机重做日志用户提交了事务 。发生了在线重做日志切换。自 LGWR 最后一次写入到现在超过了三秒。重做日志缓冲区已达到三分之一满或包含 1 MB 以上被缓冲的数据。DBWn 必须将修改的缓冲区写入到磁盘。在 DBWn 可以将脏缓冲区写到磁盘之前与该缓冲区更改相关联的重做记录必须先被写入磁盘 预写协议。如果 DBWn 发现一些重做记录尚未写入则它通知 LGWR 将记录写入磁盘并等待 LGWR 完成此工作然后DBWn 才将数据缓冲区写入磁盘。LGWR 与提交Oracle 数据库使用快速提交机制来提高已提交事务的性能。当用户发出COMMIT 语句时事务分配到一个系统更改号 (SCN)。LGWR 将一个提交记录记入重做日志缓冲区连同提交 SCN 和事务的重做条目并立即写入到磁盘。重做日志缓冲区是循环的。当 LGWR 将重做条目从重做日志缓冲区写入到联机重做日志文件时服务进程可以复制新条目并覆盖已写入到磁盘的重做日志缓冲区中的条目。通常 LGWR 的写入速度足够快以确保在缓冲区中总会有可用空间供新条目使用即使对联机重做日志的访问很繁重时也是如此。包含事务提交记录的重做条目的原子写入是确定该事务已提交的唯一事件。Oracle 数据库向已提交事务返回一个成功代码虽然数据缓冲区尚未写入到磁盘。对数据块的相应更改被延迟直到 DBWn 在某个有利的时机将它们写到数据文件。LGWR 处理那些速度非常快或必须协调的操作。它将可从并发操作中受益的操作委托给日志写入器工作进程LGnn这些进程编号为 LG00-LG99。这些操作包括将重做信息从日志缓冲区写入重做日志文件以及将写入完成的消息通知给正在等待的服务器进程。重做传输工作进程TTnn编号为 TT00-TTzz负责将重做信息从当前的联机重做日志和备用重做日志传输到配置为异步ASYNC重做传输的远程备用目的地。注意LGWR 可能会在提交事务之前将重做日志条目写入到磁盘。只有之后提交了事务这些重做条目才会成为永久性的。当事务活动很高时 LGWR 可能会使用组提交。例如某个用户提交其事务导致 LGWR 将事务的重做条目写入到磁盘。在此写操作的过程中其他用户也试图提交。但 LGWR 无法写入磁盘以提交这些事务直到前面的写入完成为止。完成后, LGWR 可以将尚未提交的)等待事务中的重做条目列表在一个操作中全部写入。通过这种方式数据库最小化了磁盘 I/O而最大化了性能。如果提交请求继续维持在一个高的水平则每个 LGWR 写入操作都可能包含多个提交记录。LGWR 和无法访问的文件LGWR 同步写入联机重做日志文件组的所有活动镜像。如果某个日志文件不可访问则 LGWR 继续写入组中的其他文件并在 LGWR 跟踪文件和警报日志中记录一个错误。如果组中的所有文件都损坏或者如果因为尚未存档而不可用则 LGWR 不能继续工作。检查点进程CKPT检查点进程 (CKPT) 使用检查点信息更新控制文件和数据文件头并通知DBWn 将块写入磁盘。检查点信息包括检查点位置、SCN、联机重做日志中的起始恢复位置等等。如图 15-4 所示 CKPT 不会将数据块写入数据文件也不会将重做块写入联机重做日志文件。可管理性监视进程 MMON可管理性监视进程 MMON 执行许多与自动工作负载存储库 AWR) 相关的任务。例如 当某个度量超出其阈值时MMON 会写入信息并拍摄快照捕获最近修改的 SQL 对象的统计信息。MMON 从系统全局区SGA收集内存统计信息对其进行过滤并每隔 60 分钟或您选择的其他时间间隔在 AWR 中创建这些统计信息的快照。它还执行自动数据库诊断监视器ADDM分析并为超过阈值的度量发出警报。可管理性监视器轻量进程 MMNL将 SGA 中的活动会话历史 (ASH) 缓冲区统计信息写入磁盘。当 ASH 缓冲区已满时MMNL 将其写入到磁盘。MMNL 收集会话统计信息例如用户 ID、状态、机器及其正在处理的 SQL并将其存储在活动会话历史ASH缓冲区中该缓冲区是 SGA 中共享池的一部分。具体来说MMNL 每秒对 VSESSION 和 VSESSION_WAIT 视图进行采样然后将该数据记录在 ASH 缓冲区内的 V$ACTIVE_SESSION_HISTORY 视图中。MMNL 不会对非活动会话进行采样。ASH 是内存中的一个循环缓冲区因此在需要时较新的信息会覆盖较早的信息。当 ASH 缓冲区变满或 MMON 拍摄快照时MMNL 会将 ASH 缓冲区中的内容刷新清空到 AWR 中的 DBA_HIST_ACTIVE_SESS_HISTORY 视图中。由于空间资源宝贵MMNL 仅每十个条目中刷新一个。MMNL 还负责计算度量值。恢复进程RECO负责解决分布式数据库系统中因网络或系统故障而挂起的分布式事务在一个分布式数据库中恢复进程 RECO 会自动解决在分布式事务中的故障。一个节点的 RECO 进程会自动连接到可疑分布式事务中涉及的其他数据库。当 RECO 数据库之间重新建立了连接后它会自动解决所有可疑事务从每个数据库事务表中删除任何与可疑事务对应的未决事务行。可选后台进程可选后台进程即是未定义为强制性的后台进程。大多数可选后台进程是特定于任务或功能特性的。例如支持 Oracle 流高级队列 (AQ) 或 Oracle 自动存储管理 (Oracle ASM) 的后台进程只有在启用这些功能时才可用。归档进程ARCn重做日志切换发生后归档进程ARCn 将联机重做日志文件复制到脱机存储。这些进程也可能会收集事务重做数据并将其传送到备用数据库目标位置。仅当数据库处于归档模式下且启用了自动归档时才存在 ARCn 进程。归档进程ARCn仅在数据库处于 ARCHIVELOG 模式且启用了自动归档时才存在在这种情况下ARCn 会自动归档联机重做日志文件。日志写入器进程LGWR在联机重做日志组被归档之前不能重用或覆盖该组。数据库会根据需要启动多个 ARCn 进程以确保已填满的联机重做日志的归档不会落后。可能的进程包括 ARC0-ARC9 和 ARCa-ARCt共 31 个可能的目的地。初始化参数 LOG_ARCHIVE_MAX_PROCESSES 指定了数据库初始调用的 ARCn 进程数量。如果预计归档工作负载很重例如在批量加载数据期间可以增加 ARCn 进程的最大数量。同时也可以有多个归档日志目标位置。Oracle 建议为每个目标位置至少配置一个 ARCn 进程。作业队列进程 CJQ0 和 JnnnOracle 数据库使用作业队列进程来运行用户作业通常使用批处理模式。作业是一种用户定义的被计划运行一次或多次的任务。Oracle 数据库动态管理作业队列进程以使作业队列客户端在需要时能使用更多作业队列进程。当这些新启动的进程处于空闲状态时数据库会释放其资源。作业队列协调器进程CJQ0从数据字典中选择需要运行的作业并生成作业队列工作进程Jnnn来执行这些作业。Oracle Scheduler 会根据需要自动启动和停止 CJQ0。初始化参数 JOB_QUEUE_PROCESSES 指定了可为运行作业创建的最大进程数量。CJQ0 仅根据待运行作业数量和可用资源启动所需数量的作业队列进程。动态作业队列进程可能会在某个给定的时间间隔同时运行大量的作业。事件的顺序如下所job示Oracle 调度器根据需要会自动启动和停止作业协调进程 (CJQ0)。协调进程定期从系统表 JOB$中选择需要运行的作业。被选出的新作业是按时间排序的。协调进程动态派生出作业队列从属进程 (Jnnn) 来运行作业。作业队列进程运行由 CJQ0 进程选出以备执行的某个作业。每个作业队列进程一次运行一个作业直至完成。在进程完成单个作业的执行后它会轮询以运行更多工作。如果没有计划的作业可供执行则它进入睡眠状态且周期性地醒来再次轮询以运行更多工作。如果该进程未找到任何新的作业则它在一个预设的时间间隔后会终止。初始化参数 JOB_QUEUE_PROCESSES 表示在实例上可以同时运行的作业队列进程的最大数目。注意如果初始化参数 JOB_QUEUE_PROCESSES 被设置为 0则不会启动协调进程。Jnnn 进程负责运行由作业协调器分配的作业。当工作进程选择作业进行处理时它们会执行以下操作收集运行作业所需的所有元数据例如程序参数和权限信息。以作业所有者的身份启动一个数据库会话启动一个事务然后开始运行作业。在作业完成后提交并结束事务。关闭会话。当作业完成后工作进程会执行以下操作如果需要重新安排作业。更新作业表中的状态以反映作业是已完成还是计划再次运行。向作业日志表中插入一条条目。更新运行计数并在必要时更新失败和重试计数。执行清理。寻找新的工作。如果没有它们将进入休眠状态。恢复写进程(RVWR)使用闪回数据库时恢复写入器进程RVWR会从系统全局区SGA中的闪回缓冲区读取闪回数据并将其写入闪回日志。也就是说只要拥有所需的闪回日志它就可以将事务从数据库的当前状态回退到过去的某个时间点。闪回数据存档进程 FBDA闪回数据归档进程 FBDA 将跟踪表的历史行归档到闪回数据归档区。当跟踪表中包含 DML 的事务提交时该进程将行的前像存储到闪回数据存档区。它也会保存当前行上的元数据。FBDA 自动管理闪回数据存档的空间、 组织、和保留期等。此外该进程会跟踪被跟踪的事务归档已发生了多久。当修改已跟踪表的事务提交时FBDA 会读取数据库缓冲区缓存中的还原块以及数据文件中的还原段。然后它会筛选出与标记为归档的对象相关的内容并将这些还原信息复制到数据文件中的闪回数据归档表空间中。FBDA 维护当前行的元数据并跟踪已归档的数据量。空间管理协调进程 (SMCO)负责调度各种空间管理任务包括主动空间分配和空间回收。SMCO 动态生成空间管理工作进程Wnnn来执行这些任务。启动后工作进程充当自治代理。完成任务后工作进程会自动从队列中选取另一项任务。在空闲较长时间后该进程会自行终止。Wnnn 工作进程命名为 W001、W002 等代表空间管理以及 Oracle AI 数据库内存选项执行任务。对于空间管理Wnnn 进程在后台执行空间管理任务包括以下内容基于空间使用增长分析为本地管理的表空间和 SecureFiles 段预分配空间。创建和管理临时表空间元数据并回收孤立的临时段中的空间。回收已删除段中的空间。执行快速摄取延迟插入。对于 Oracle AI 数据库内存选项Wnnn 进程执行以下任务为优先级为低/中/高/关键的内存启用对象进行预填充并为内存协调器后台进程IMCO重新填充内存对象。响应引用内存启用对象的查询和 DML为 IMCO 前台进程启动内存填充和重新填充任务。SMCO 和 Wnnn 都可以作为线程或操作系统进程运行。调度器进程(Dnnn) 和共享服务进程 (Snnn)数据库连接模式配置为共享服务器模式时才会有这两个进程。在共享服务器环境中调度器进程Dnnn将多个传入的网络会话请求定向到共享服务器进程Snnn池。您可以为单个数据库实例创建多个调度器进程。Oracle Net 监听器进程建立与调度器的连接。当客户端进程发出需要共享服务器进程的连接请求时监听器会返回调度器的地址以便客户端进程在连接建立后可以直接与调度器通信。调度器将客户端请求放入数据库实例系统全局区SGA的大池中的请求队列里。下一个可用的共享服务器进程拾取该请求并进行处理。请求完成后共享服务器进程将响应放入大池中调用方调度器的响应队列然后响应队列将响应发送给调度器。调度器将完成的请求返回给客户端进程。从属进程从属进程是为其他进程执行工作的后台进程。I/O 从属进程I/O 从属进程 Innn 为不支持异步 I/O 的系统和设备模拟异步 I/O。异步的 I/O 没有传输时间要求使其他进程可以在完成传输之前就可以开始。例如假定应用程序在一个不支持异步 I/O 的操作系统上写入 1000 个块到磁盘。每次写入都是顺序发生的并等待一个写操作已成功的确认。而对于异步磁盘应用程序可以大容量写入数据块并在等待操作系统确认写入完的同时执行其他工作。为模拟异步 I/O由一个进程监督几个从属进程。调用者进程将工作分配给每个从属进程从属进程会等待每个写操作完成并在完成后报告调用者。在真正的异步 I/O 中操作系统会等待 I/O 完成并在完成时报告主进程而在模拟异步 I/O 中从属进程会等待并在完成时报告调用者。数据库支持包括以下不同类型的 I/O 从属进程恢复管理器 (RMAN)的 I/O 从属进程当使用 RMAN 备份或还原数据时可以为磁盘和磁带设备使用 I/O 从属进程。数据库写入从属进程如果计算机只有一个 CPU则数据库使用多个写入进程并不现实此时数据库可以通过多个从属进程来分布 I/O。DBWR 是扫描缓冲区高速缓存 LRU 列表中的块以写入到磁盘的唯一进程。而 I/O 从属进程为这些块执行 I/O。并行查询从属进程在并行执行或并行处理中多个进程同时协作来运行一个单一 SQL 语句。通过在多个进程之间分配工作Oracle 数据库可以更快地运行语句。例如四个进程分别处理一年中四个不同的季度而不是由一个进程处理所有四个季度。并行执行减少了在大型数据库如数据仓库上的数据密集型操作的响应时间。对称多处理 (SMP) 和集群系统能从并行执行获得最大的性能优势因为语句处理可以在多个 CPU 之间划分。并行执行也可以使某些类型的 OLTP 和混合系统受益。在 Oracle RAC 系统中由特定服务的服务配置控制并行执行。具体而言并行进程在已配置服务的多个节点上运行。默认情况下Oracle 数据库只在提供数据库连接服务的实例上运行并行进程。这并不影响其他并行操作如并行恢复或对 GV$查询的处理。并行执行在并行执行中服务进程作为并行执行协调器负责解析查询、分配和控制从属进程、并将输出发送给用户。给定一个 SQL 查询的查询计划协调器将 SQL 查询中的每个运算符分解成一些平行的片断、 并按查询中指定的顺序运行它们最后又将这些执行各个操作的从属进程所产生的部分结果集成起来。例如对一个表上的并行扫描。表被动态划分 动态分区成多个称为颗粒的加载单元。每个颗粒是一个由单个从属进程读取的数据块范围这些从属进程叫做并行执行服务器其名称格式为 Pnnn。数据库在执行时将颗粒映射到执行服务器。当一个执行服务器完成对某个颗粒对应行的读取而此时还有其它颗粒要读取时该执行服务器从协调器获取另一个颗粒。此操作将继续直到读取完整个表。执行服务器向协调器发送执行结果协调器再将这些片断合并成最终所需的全表扫描结果。分配给单个操作的并行执行服务器的数量是操作的并行度。在同一 SQL 语句中的多个操作都具有相同的并行度。本文参考官方文档https://docs.oracle.com/cd/E28271_01/server.1111/e25789/toc.htm

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…