MySQL中trx_mysql_thread_id为0的真相:XA事务与锁等待排查指南
1. 从一次诡异的锁等待说起先讲个真实场景。某天中午线上业务突然出现大量锁等待超时监控面板上一片红色。当时我第一时间看了information_schema.innodb_trx发现有一条事务状态为RUNNING已经跑了快二十分钟锁了三四张表。按常规操作我直接找到它的trx_mysql_thread_id想一把KILL掉。结果KILL发出去客户端返回的是OK但事务还稳稳当当躺在innodb_trx里锁纹丝不动。再查一遍trx_mysql_thread_id赫然写着0。那会儿我第一反应是这事务是不是已经属于一个死掉的连接但即使连接死了InnoDB也应当回滚事务、释放锁。于是开始深挖发现trx_mysql_thread_id 0这个状态背后的门道比想象中要多得多。这篇文章就把我从这个问题出发踩过的坑、查过的源码、试验过的方法完整梳理一遍希望能帮同行省下几个小时的排查时间。适合的人群是一线MySQL DBA、后端开发、以及所有需要处理线上事务锁问题的人。如果你在innodb_trx里看到0这个数字心里发毛这篇文章就是为你准备的。2.trx_mysql_thread_id到底是干什么的2.1innodb_trx表里每个字段的来头在深入“为什么是0”之前先得把这个字段的出身搞清楚。information_schema.innodb_trx是InnoDB暴露给DBA的一扇窗户它记录的是当前InnoDB层所有活跃事务的快照。核心字段包括trx_id事务IDInnoDB内部分配注意它在不同版本下可能是随机数8.0.3以后不再从1开始递增。trx_state事务状态常见的有RUNNING、LOCK WAIT、COMMITTING、ROLLING BACK、PREPARED。trx_started事务开始时间排查长时间事务就看它。trx_mysql_thread_id事务对应的MySQL连接线程ID也就是SHOW PROCESSLIST里的Id。trx_query事务当前正在执行的SQL如果为空说明当前处于空闲状态。trx_rows_locked/trx_rows_modified锁定/修改的行数锁冲突分析里很关键。正常情况下一个由客户端连接发起的事务trx_mysql_thread_id一定等于某个正整数这个数字可以直接对应到performance_schema.threads和SHOW PROCESSLIST中的某一行。也就是说只要事务还活着它的“宿主线程”就一定存在。2.2KILL会真正做什么很多人以为KILL就是直接杀掉事务其实它是在杀线程。MySQL收到KILL命令后本质上是在THD线程描述符上设置一个killed标记等到该线程下次检查这个标记时——通常在命令执行阶段或存储引擎层——才会真正终止正在执行的SQL然后根据事务状态决定提交还是回滚。这里有个极易被忽略的细节如果事务当前不在执行SQL而是处于空闲状态就是那种trx_query为NULL但事务没提交的情况KILL QUERY杀不掉任何东西必须用KILL CONNECTION把整个连接断掉事务才会被回滚。很多DBA习惯性用KILL默认参数遇到空闲事务就误以为“杀不掉”实际上是没选对命令。但回到我们的问题如果trx_mysql_thread_id是0说明InnoDB层认为这个事务没有宿主线程或者宿主线程已经不存在了。这时候你发KILLMySQL在进程列表里根本找不到要杀的目标线程自然对事务本身毫无作用。这就是“kill不了”的直接原因。3. 什么情况下trx_mysql_thread_id会变成03.1 最常见的元凶外部XA事务把trx_mysql_thread_id 0和trx_state PREPARED放在一起看大概率就是外部XAeXtended Architecture事务。什么是外部XA简单说就是一个跨多个资源管理器比如多个MySQL实例、MySQL加消息队列的分布式事务由应用层的协调者统一控制提交或回滚。在MySQL侧的流程是XA START xid在会话里开启一个XA事务。执行业务SQL。XA END xid标记事务SQL执行完毕。XA PREPARE xid事务进入PREPARED状态所有变更已写入InnoDB的redo log并完成持久化但事务既没有提交也没有回滚。协调者最终决定XA COMMIT xid或XA ROLLBACK xid。关键在于第4步之后事务已经和发起它的会话线程解绑了。之后虽然连接还活着但事务不再挂在任何一个THD下面所以trx_mysql_thread_id被置为0。更麻烦的是协调者如果此时宕机了这个事务就永远停在PREPARED状态一直持有锁直到有人手工XA RECOVER看到它并做出决定。3.2 内部XA事务崩溃恢复的遗留产物MySQL内部其实也重度依赖XA机制。最典型的就是binlog与InnoDB之间的两阶段提交。一个事务在InnoDB里提交时需要先写binlog再在InnoDB内部标记提交这个过程对于存储引擎来说是“内部XA”。崩溃恢复时MySQL会扫描binlog和InnoDB的PREPARED事务决定是提交还是回滚。在恢复的过程中你有可能短暂地在innodb_trx里看到trx_mysql_thread_id 0且trx_state PREPARED的记录。正常情况下服务器启动后很快会由内部恢复逻辑处理掉不该长期存在。如果你在运行了很久的实例上持续看到这类记录那就要警惕是不是binlog和InnoDB之间的状态不一致或者某个内部后台线程卡死了。3.3 连接异常断开但事务未回收的临时状态还有一种情况连接因为网络异常、KILL CONNECTION、或者MySQL内部线程被强制终止而断开理论上InnoDB会立刻回滚它未完成的事务。但如果回滚本身很慢——比如事务修改了大量行回滚需要扫描大量undo log——你就会看到一条事务记录trx_mysql_thread_id可能已经归0但trx_state还是RUNNING或者ROLLING BACK。这种场景下线程已经不存在了所以无法KILL但它和XA事务有本质区别这条事务会被InnoDB的崩溃恢复或后台任务持续回滚最终会消失。只是过程中锁可能一直持有需要耐心等或者触发别的手段来处理。3.4 其他边缘情况你还会在极少数情况下看到trx_mysql_thread_id 0的事务伴随trx_state RUNNING但trx_query为空。这通常意味着某个内部线程在InnoDB层开启了一个后台事务比如在线DDL、purge操作、或者全文索引同步。这类事务一般不持有大量业务锁影响面很小但偶尔会在一些特殊场景下阻塞DDL排查时也需要能识别出来。我遇到过最头疼的一个边缘情况某个版本下连接池中的连接被服务端中途断开后客户端不知道继续复用这个连接发起新SQLMySQL端会为这个新SQL创建一个新的线程ID但旧的残留事务并未完全清理导致innodb_trx里出现一个瞬间的trx_mysql_thread_id 0记录。这种多半是版本bug升级小版本后就不再出现。4. 为什么KILL对0线程ID的事务完全无效4.1KILL命令的命中机制从前面的分析可以得出一个结论KILL的底层操作对象是线程THD而不是事务trx。MySQL的KILL语句在语法层面只有两个变形KILL QUERY thread_id只中断线程当前正在执行的查询不断开连接不主动回滚事务。KILL CONNECTION thread_id断开连接并回滚该连接上的活动事务。注意无论如何你都得提供一个非0的thread_id。当trx_mysql_thread_id 0时事务的宿主线程要么不存在、要么不在MySQL的THD列表里。你发KILL 0试试MySQL会直接报错甚至KILL 0在一些版本里误伤其他线程。而KILL一个不存在的正整数ID返回成功但什么都不发生。有人可能会想我通过SHOW PROCESSLIST找到那个连接KILL它总行了吧问题是PREPARED的XA事务已经不再关联连接了就算原始连接还开着杀掉它也只是清掉会话事务仍会在InnoDB里保持PREPARED状态。必须用XA事务自己的恢复协议去处理。4.2 锁的持有者是事务而不是线程还有一个更底层的认知需要纠正锁由事务持有而不是由线程持有。即使线程被杀了未提交事务持有的行锁、表锁也不会立刻消失必须等事务回滚完毕才会释放。这也就是为什么你杀掉一个长时间跑批的客户端连接后锁等待可能还会持续一会儿。理解了这一点就能明白为什么KILL线程对trx_mysql_thread_id 0的PREPARED事务无效——因为根本没有线程可以杀而事务本身又处于PREPARED状态不会自动回滚。4.3 特殊情况下KILL可能触发的“伪成功”有一种特殊场景容易让人误判你看到了trx_mysql_thread_id 0虽然KILL无效但如果你针对整个实例执行SHUTDOWN或者触发崩溃恢复这些事务就可能被处理掉。比如在XA PREPARED状态下重启实例InnoDB在崩溃恢复中会把PREPARED事务独立出来再配合binlog状态决定提交或回滚。所以有些DBA在KILL不掉的时候会选择重启实例虽然不是推荐做法但确实能够清掉一部分内部遗留事务。不过对外部XA事务单纯重启并不保证能清掉因为协调者不参与的话PREPARED状态可能恢复后依然存在。有经验的DBA会把重启当作一种“试试看”的手段而不是根治方案。5. 实战排查三件事必须按顺序做5.1 第一步准确识别事务类型先把information_schema.innodb_trx里所有trx_mysql_thread_id 0的记录拉出来看关键字段组合SELECT trx_id, trx_state, trx_started, trx_mysql_thread_id, trx_query, trx_rows_locked, trx_rows_modified FROM information_schema.innodb_trx WHERE trx_mysql_thread_id 0;主要看三组特征trx_state PREPARED优先怀疑外部XA事务。trx_state RUNNING且trx_started特别新可能是连接异常断开后的回滚残留。trx_state RUNNING且trx_query为NULL可能是内部后台事务。如果确认是PREPARED下一步立刻执行XA RECOVERXA RECOVER;输出结果里会有formatID、gtrid_length、bqual_length和data四个字段。data就是事务ID也就是当初XA START时指定的xid。在意外的分布式事务中间件场景下这串字符通常包含业务标识、全局事务ID和分支ID能和innodb_trx.trx_id对上。5.2 第二步分析锁影响范围光知道有残留事务还不够还得知道它在锁什么、挡住了谁。用这条SQL把锁等待关系拉出来SELECT r.trx_id AS waiting_trx_id, r.trx_mysql_thread_id AS waiting_thread, b.trx_id AS blocking_trx_id, b.trx_mysql_thread_id AS blocking_thread, b.trx_query AS blocking_query FROM performance_schema.data_lock_waits w JOIN information_schema.innodb_trx r ON w.REQUESTING_ENGINE_TRANSACTION_ID r.trx_id JOIN information_schema.innodb_trx b ON w.BLOCKING_ENGINE_TRANSACTION_ID b.trx_id;如果发现大量waiting_thread是正常业务线程而blocking_thread是0那基本可以断定所有业务卡在同一个不知道是谁的事务手上。此时还能继续下钻看具体锁了哪些表、哪一行SELECT OBJECT_NAME, INDEX_NAME, LOCK_TYPE, LOCK_MODE, LOCK_STATUS, LOCK_DATA FROM performance_schema.data_locks WHERE ENGINE_TRANSACTION_ID 要查的事务ID;这一步的作用不只是确认而是为了判断处理优先级。如果残留事务持有的锁覆盖了核心业务表就要立刻处理如果只是锁了一些辅助表且业务能容忍可以考虑等协调者恢复不一定暴力回滚。5.3 第三步根据类型选择处理方式处理方式完全不同按类型来外部XA残留事务唯一的正规方案是用XA命令收尾XA COMMIT xid字符串; -- 或者 XA ROLLBACK xid字符串;具体提交还是回滚取决于协调者记录的全局状态。如果协调者已经明确这个全局事务失败就回滚如果未能确认那就需要结合业务一致性要求做判断。在我的经验里协调者宕机恢复后绝大多数残留事务都是因为协调者侧丢失了状态最终选择回滚的比例更高。如果遗留很多且不确定可以写一个小脚本循环处理但要极度小心绝不能把正在正常参与分布式事务的PREPARED事务也回滚了。判断依据是trx_started时间——如果这个事务只是几秒前PREPARED的协调者大概率还活着只是正常处理中如果等了好几分钟甚至更久还挂着才需要人工介入。连接断开导致的回滚残留不需要特殊处理耐心等它自己回滚完。你可以在后台持续观察SELECT trx_id, trx_state, trx_started, TIMESTAMPDIFF(SECOND, trx_started, NOW()) AS elapsed_sec FROM information_schema.innodb_trx WHERE trx_mysql_thread_id 0;如果trx_state最终变成ROLLING BACK或直接消失说明回收正常。如果长时间停留在RUNNING且trx_started已经过了很久可能需要查一下回滚进度必要时通过实例层面的手段介入。不过这种极端情况在正常配置下很少见。内部后台事务先别急着手术刀。可以参考trx_query和表的特征判断来源比如全文索引同步、purge等。处理策略是排查对应的后台任务是否卡死而不是贸然对事务本身动手否则可能引发其他连锁问题。6. 一个完整的模拟故障复盘6.1 故障现象与快速定位某项目就叫模拟项目X吧用了一套分布式事务中间件业务侧是订单服务和库存服务各连一个MySQL实例。某天下午订单服务突然大面积超时监控显示数据库活跃连接数飙升大量锁等待。我第一时间连上实例执行了最基础的排查SQLSELECT trx_id, trx_state, trx_started, trx_mysql_thread_id, trx_query FROM information_schema.innodb_trx ORDER BY trx_started ASC;结果排在最前面的三条全是一模一样的特征trx_state PREPAREDtrx_mysql_thread_id 0trx_query为NULLtrx_started都在十分钟以前。再看performance_schema.data_lock_waits后面阻塞了一连串正常业务事务。这时候基本可以断定有XA事务在PREPARED之后没有收尾。6.2 顺藤摸瓜找到根源用XA RECOVER列出所有PREPARED事务后我发现事务ID字符串里都包含同一个全局事务ID的前缀。去分布式事务中间件的日志里搜这个全局事务ID发现协调者在发起第一个分支事务的XA PREPARE之后、第二个分支事务PREPARE完成之前就宕机了。由于协调者的状态机没有持久化到外部队列重启后它把这个全局事务当成了从未发生过遗留的分支自然没人负责提交或回滚。从数据库侧看这几条事务锁定了订单表的核心索引范围导致所有对该范围的写操作都阻塞。正常业务连接不断重试压力持续堆积系统雪崩。6.3 应急处置与事后优化紧急恢复的时候我根据事务ID在日志里确认了业务状态这个全局事务对应的业务请求在协调者日志里标记为“未完成、可丢弃”。于是选择回滚XA ROLLBACK 全局事务ID;由于PREPARED事务修改的行数很少回滚瞬间完成锁立刻释放业务在几分钟内恢复正常。之后为了保证不再发生类似问题我在协调者侧加了两道保险一是强制全局事务状态在执行关键阶段前先持久化二是开发了定时巡检针对innodb_trx中trx_mysql_thread_id 0且trx_state PREPARED的记录做自动告警超过阈值直接触发人工确认。这次复盘给我最大的教训是分布式事务的协调者一旦漏掉恢复流程数据库侧的残留事务比任何代码bug都难查。因为SQL层面看不出它属于哪个应用、哪个接口只有靠事务ID字符串里的业务标识去反推。7. 常见误区与避坑清单7.1 误区一看到0就觉得是bugtrx_mysql_thread_id 0并不总意味着故障。正常的XA PREPARE事务、崩溃恢复瞬间、以及某些内部后台任务都会出现这个值。关键要结合trx_state和trx_started判断。真正需要警惕的是这个状态持续太久、且持有大量锁。7.2 误区二用KILL解决一切KILL不是万能的。对于PREPARED状态KILL线程无效是必然的。此时正确操作是遵循XA协议用XA COMMIT或XA ROLLBACK收尾。如果手里没有协调者信息也不要盲杀先查日志确认全局事务的真实状态。7.3 误区三重启大法好重启MySQL确实可能清掉一部分遗留事务但对外部XA事务不一定奏效。因为PREPARED状态的信息写进了redo log恢复时如果binlog里找不到对应事务的提交记录它依然会以PREPARED状态存续。而且在没有处理好协调者状态的情况下重启可能会把问题从数据库层转移到应用层得不偿失。7.4 实操避坑清单根据我自己的经验整理一份可以直接贴在工位上的清单日常监控除了看trx_running时间还要单独做一个针对trx_mysql_thread_id 0且trx_state PREPARED的查询阈值建议5分钟。分布式事务中间件的全局事务ID里一定要带上可检索的业务标识否则数据库侧定位无从下手。使用XA时协调者的状态机必须可靠持久化而且最好有自动恢复机制不能依赖运维手工介入。如果遇到大量PREPARED事务堆积先挑锁影响面最大的处理别按时间顺序一个个来。开发环境模拟一次XA故障是很有价值的训练至少要让团队知道XA RECOVER和XA COMMIT/ROLLBACK命令怎么用而不是到线上才第一次见到。不要把trx_mysql_thread_id 0的事务直接等同于“孤儿事务”就删库跑路。理解它的生命周期再决定干预手段。8. 另一条排查路径从performance_schema逆推如果innodb_trx里的信息不够用可以借助performance_schema做更细的逆推。threads表记录了所有MySQL线程其中有一列PROCESSLIST_ID如果某个线程对应的事务是PREPARED且已脱离连接它的PROCESSLIST_ID可能为NULL或被置0。一个实用的查询是找出所有线程ID为NULL但仍在执行某些内部操作的线程SELECT THREAD_ID, PROCESSLIST_ID, PROCESSLIST_USER, PROCESSLIST_HOST, PROCESSLIST_DB, PROCESSLIST_COMMAND, PROCESSLIST_STATE FROM performance_schema.threads WHERE PROCESSLIST_ID IS NULL AND PROCESSLIST_COMMAND DAEMON;这个查询能帮你把内部后台任务和外部连接区分开避免在排查时把内部线程和残留事务搞混。有一次我就遇到过这样的情况一个后台线程异常导致内部事务长期不结束innodb_trx里显示trx_mysql_thread_id 0。用这个查询定位到具体线程后发现是某个版本的在线DDL流程有缺陷升级后问题消失。另外如果想知道某个PREPARED事务是在哪个连接上发起的可以查看binlog里对应时段的XA事务记录判断是否真的有外部协调者介入。binlog里XA事务是单独格式记录的配合mysqlbinlog解析基本能还原出整个分布式事务的时间线和操作内容。9. 监控与预防让0线程ID问题不再发生预防永远比处理更重要。针对trx_mysql_thread_id 0场景我在实际项目中沉淀了一套监控模型分为三个层级第一层指标监控。定期采集innodb_trx中PREPARED事务的数量和最长持续时间。用Prometheus或任何你熟悉的监控工具都可以关键是阈值要合理。我给项目定的规则是PREPARED事务数连续超过3个或单个PREPARED事务持续时间超过5分钟立刻告警。第二层日志关联。在应用层协调者的日志里每次执行XA PREPARE之前打印全局事务ID、分支事务ID、目标数据库实例信息。一旦数据库侧出现残留事务直接日志反查业务状态。没有这层准备线上遇到PREPARED残留就只能靠猜。第三层应急演练。每年至少做一次XA故障演练。模拟协调者宕机、模拟PREPARED事务堆积、模拟锁等待雪崩让值班DBA和开发团队都走一遍处置流程。纸上谈兵没有用真的出问题的时候大多数人连XA RECOVER的输出长什么样都记不清。在我个人看来trx_mysql_thread_id 0这件事本身并不可怕可怕的是它对许多人来说是个“知识盲区”。第一次遇到时我花了将近三个小时才搞清楚来龙去脉期间还被KILL的假成功误导过。如果当时有人能提前告诉我XA PREPARED会脱离线程或者崩溃恢复会短暂出现这类事务后面那些弯路基本可以省掉。最后再分享一个小技巧如果你判断某个0线程ID事务已经可以安全回滚但XA ROLLBACK又提示事务不存在先去看一下trx_state是否已经自动变成COMMITTING或ROLLING BACK。有些版本下多个连接同时发起XA恢复命令可能导致竞争事务已经被另一个会话处理掉了。遇到这种情况重新查一遍innodb_trx确认即可不必慌张。处理这类问题的核心原则永远是先识别再分析最后再动手顺序一旦乱了很容易把线上环境越搞越糟。

相关新闻

医院六大医疗信息系统集成实战:HIS、LIS、PACS、EMR、RIS、CDR数据流与接口详解

医院六大医疗信息系统集成实战:HIS、LIS、PACS、EMR、RIS、CDR数据流与接口详解

简介:本资源是一份面向医院信息科人员、医疗IT从业者及卫生信息管理专业学习者的系统性入门资料,全面梳理当前主流医疗信息化系统的核心定位、功能模块与协同关系,助力快速建立行业知识框架并支撑系统选型、实施或运维工作。文档为单文件Word…

2026/10/11 20:33:20 阅读更多 →
HTML5游戏开发实战:从零实现拉杆子过关小游戏

HTML5游戏开发实战:从零实现拉杆子过关小游戏

简介:这是一份面向前端初学者与网页小游戏爱好者的HTML5拉杆子过关小游戏源码,基于HTML、CSS与JavaScript实现,可直接嵌入个人网站、游戏站或教学演示页面,帮助读者理解轻量级网页游戏的交互逻辑与关卡设计思路。压缩包共3个文件&…

2026/10/11 20:33:20 阅读更多 →
SpringBoot JDBC连MySQL实战:配置、连接池与避坑

SpringBoot JDBC连MySQL实战:配置、连接池与避坑

简介:面向准备使用SpringBoot连接MySQL的Java开发者,这套资料提供了从零搭建JDBC数据访问层的完整方案。压缩包内包含可直接运行的SpringBoot演示项目,工程中通过控制器、实体类与启动类配合建表脚本和多种配置文件,完整演示了驱动…

2026/10/11 20:33:20 阅读更多 →

最新新闻

PgQue 监控实战:5 个必须告警的队列健康指标 + 如何揪出卡住的消费者

PgQue 监控实战:5 个必须告警的队列健康指标 + 如何揪出卡住的消费者

【免费下载链接】PgQue PgQue – Zero-bloat Postgres queue built on top of on battle-proven Skypes PgQ. One SQL file to install, pg_cron to tick https://pgque.dev 项目地址: https://gitcode.com/gh_mirrors/pg/PgQue 点击查看 免费下载 PgQue 是一个零膨…

2026/10/11 22:49:35 阅读更多 →
农行银企直联全链路实战:从密钥申请到转账对账的Java避坑指南

农行银企直联全链路实战:从密钥申请到转账对账的Java避坑指南

简介:这份资源面向使用 Java 对接农业银行银企直联的开发者,聚焦企业财务系统与银行系统之间的电子数据交换场景,帮助解决转账、余额查询、支付等业务自动化处理中的接口开发与安全控制问题。压缩包共 20 个文件,约 23KB&#xff…

2026/10/11 22:49:35 阅读更多 →
从需求到建库:工厂物资管理数据库系统设计实战

从需求到建库:工厂物资管理数据库系统设计实战

简介:《工厂物资管理数据库系统》是一份面向高校数据库课程设计、毕业设计及物资管理项目初学者的完整设计报告。文档围绕工厂物资采购、入库、领用、库存盘点与报废处理全流程,按设计任务说明、需求分析、概念模型设计、逻辑模型设计、物理模型设计和数…

2026/10/11 22:49:35 阅读更多 →
Java实现人体姿态识别与动作评分:ONNX Runtime与DTW实战指南

Java实现人体姿态识别与动作评分:ONNX Runtime与DTW实战指南

简介:基于Java的人体姿态识别与动作评分系统,以动态捕捉画面中人体关键点为入口,在双侧肩、肘、髋、膝八个关节处同步生成角度数据,并融合姿态评估、实时语音提示和训练后多维分析,可服务于运动康复、体态矫正等专业场…

2026/10/11 22:49:35 阅读更多 →
从多智能体到提示注入:awesome-ai-agent-papers 5大核心分类全解析

从多智能体到提示注入:awesome-ai-agent-papers 5大核心分类全解析

【免费下载链接】awesome-ai-agent-papers A curated collection of AI agent research papers released in 2026, covering agent engineering, memory, evaluation, workflows, and autonomous systems. 项目地址: https://gitcode.com/gh_mirrors/aw/awesome-ai-…

2026/10/11 22:49:35 阅读更多 →
Vscode插件推荐——智能切换输入法(Smart IME)与TaoToken配置实践

Vscode插件推荐——智能切换输入法(Smart IME)与TaoToken配置实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 22:48:31 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →