Storm资源调度策略:提升大数据处理集群效率

Storm资源调度策略:提升大数据处理集群效率

关键词:Storm、资源调度、大数据处理、集群效率、反亲和性调度、动态资源调整、拓扑结构

摘要:在大数据实时处理场景中,Storm作为经典的流计算框架,其资源调度策略直接影响集群的吞吐量、延迟和可靠性。本文将从Storm的核心组件入手,用“工厂生产线”的比喻通俗解释资源调度的底层逻辑,结合具体案例和代码示例,详细讲解默认调度策略与优化策略(反亲和性、容量感知、动态调整)的实现原理,并给出实战指南与未来趋势分析,帮助开发者通过调度策略优化提升集群效率。


背景介绍

目的和范围

随着电商大促、金融风控、物联网监控等场景对实时数据处理需求的激增,Storm作为轻量级、高吞吐的流计算框架被广泛使用。但许多开发者在使用中遇到集群资源利用率低(部分节点CPU空闲,部分节点过载)、任务延迟高(关键任务被非关键任务“抢资源”)、故障恢复慢(同类任务集中在同一节点导致连锁故障)等问题。本文将聚焦Storm的资源调度策略,覆盖从基础概念到实战优化的全流程,帮助读者掌握通过调度策略提升集群效率的核心方法。

预期读者

  • 大数据开发工程师(需了解Storm基础使用)
  • 集群运维工程师(关注资源利用率与稳定性)
  • 对实时计算感兴趣的技术爱好者(需基础的分布式系统概念)

文档结构概述

本文先通过“工厂生产线”类比引入Storm核心组件,再拆解资源调度的底层逻辑;接着讲解默认调度策略与三大优化策略的原理,结合数学模型与代码示例;然后通过实战案例演示如何配置调度策略;最后分析实际应用场景与未来趋势。

术语表

核心术语定义
  • Topology(拓扑):Storm中的实时计算任务,类似工厂的“生产线”,由Spout和Bolt组成。
  • Spout:拓扑的“原材料入口”,负责从数据源(如Kafka、日志文件)读取数据并发送到流中。
  • Bolt:拓扑的“加工车间”,负责处理数据(过滤、聚合、数据库写入等)。
  • Worker(工作进程):运行拓扑组件(Spout/Bolt)的JVM进程,类似工厂的“车间”。
  • Executor(执行器):Worker内的线程,对应Spout/Bolt的一个并发实例,类似车间里的“机器”。
  • Task(任务):Executor的最小执行单元,实际处理数据的“操作工人”(一个Executor可包含多个Task)。
缩略词列表
  • Nimbus:Storm的主节点,负责资源分配与任务调度(类似工厂的“厂长”)。
  • Supervisor:Storm的从节点,负责启动/监控Worker(类似工厂的“车间主任”)。

核心概念与联系

故事引入:用“工厂生产线”理解Storm拓扑

假设我们要开一家“实时蛋糕加工厂”,目标是把“原料数据流”(如鸡蛋、面粉)变成“蛋糕成品数据流”。这个工厂的运作逻辑和Storm的拓扑执行非常相似:

  • 生产线(Topology):整个蛋糕加工流程的设计图,包含“原料接收”(Spout)、“搅拌”(Bolt1)、“烘烤”(Bolt2)、“包装”(Bolt3)等步骤。
  • 车间(Worker):工厂里的独立厂房,每个车间运行生产线的一部分(比如车间1负责搅拌+烘烤,车间2负责包装)。
  • 机器(Executor):车间里的具体设备,比如车间1有2台搅拌机器(对应Bolt1的2个Executor),每台机器每小时处理100份原料。
  • 操作工人(Task):机器旁的工人,实际执行搅拌动作(一个机器可能配2个工人轮班,即一个Executor包含2个Task)。

厂长(Nimbus)需要决定:把哪些车间(Worker)分配给哪条生产线?每个车间放多少台机器(Executor)?机器如何分布在不同厂房(物理节点)?这就是“资源调度”的核心问题——如何分配车间、机器和工人,让工厂效率最高(吞吐量最大、故障影响最小)。

核心概念解释(像给小学生讲故事一样)

核心概念一:Topology(拓扑)
Topology是Storm的“任务蓝图”,就像蛋糕工厂的生产线设计图。它由Spout(原料入口)和Bolt(加工步骤)通过数据流(Stream)连接而成。例如:一个“实时订单分析”的Topology可能包含:Spout从Kafka读取订单数据→Bolt1过滤无效订单→Bolt2统计每小时销量→Bolt3将结果写入数据库。

核心概念二:Worker(工作进程)
Worker是运行Topology的“车间”,每个Worker是一个JVM进程,由Supervisor(车间主任)在物理节点上启动。一个Topology可以占用多个Worker(车间),每个Worker可以运行多个Executor(机器)。例如:一个Topology可能申请3个Worker(3个车间),每个Worker运行2个Executor(2台机器)。

核心概念三:Executor(执行器)
Executor是Worker内的线程,对应Spout或Bolt的一个并发实例。它就像车间里的“机器”,负责执行具体的处理逻辑。例如:Bolt1(搅拌步骤)有4个Executor(4台机器),意味着同时有4个线程在处理搅拌任务。每个Executor可以包含多个Task(工人),但默认情况下Task和Executor是1:1的(一台机器配一个工人)。

核心概念之间的关系(用小学生能理解的比喻)

  • Topology与Worker的关系:Topology(生产线设计图)需要多个Worker(车间)来落地执行。就像蛋糕工厂的生产线设计图需要3个车间同时运作,才能提高产量。
  • Worker与Executor的关系:Worker(车间)是Executor(机器)的“容器”。一个车间可以放多台机器(比如车间1放2台搅拌机器、1台烘烤机器),但机器数量不能超过车间的容量(由Worker的内存/CPU限制决定)。
  • Executor与Task的关系:Executor(机器)是Task(工人)的“运行载体”。一台机器可以有多个工人轮班(比如Executor包含2个Task,24小时不间断工作),但工人的数量由Topology的并发度(parallelism_hint)决定。

核心概念原理和架构的文本示意图

Topology(生产线) ├─ Spout(原料入口) → Stream(数据流) → Bolt1(加工步骤1) │ └─ 由Nimbus分配Worker(车间)运行Executor(机器) ├─ Bolt1 → Stream → Bolt2(加工步骤2) │ └─ 每个Worker(车间)内的Executor(机器)包含Task(工人) └─ ...(其他Bolt)

Mermaid 流程图:Storm资源调度流程

Nimbus: 厂长

接收Topology提交

计算资源需求: 需要多少Worker/Executor

查询Supervisor节点状态: 各节点剩余CPU/内存

选择调度策略: 默认/反亲和性/容量感知

分配Worker到Supervisor节点

Supervisor启动Worker进程

Worker启动Executor线程

Executor运行Task处理数据


核心算法原理 & 具体操作步骤

Storm默认调度策略(DefaultScheduler)

默认情况下,Storm的调度逻辑可以总结为“先到先得,尽量分散”:

  1. 资源统计:Nimbus首先收集所有Supervisor节点的可用资源(CPU、内存、可用端口)。
  2. 计算需求:根据Topology的parallelism_hint(每个Spout/Bolt的并发度)计算总需要的Executor数量,再根据worker.max.tasks.per.worker(默认无限制)计算需要的Worker数量(例如:总Executor=8,每个Worker最多跑4个Executor → 需要2个Worker)。
  3. 分配Worker:将Worker尽量均匀分配到不同的Supervisor节点(避免集中),优先选择资源剩余多的节点。
  4. 分配Executor:在Worker内部,将Executor按Spout/Bolt类型分配(例如:Worker1跑Spout的2个Executor+ Bolt1的2个Executor)。

举个栗子:一个Topology有1个Spout(parallelism=2)和2个Bolt(Bolt1 parallelism=3,Bolt2 parallelism=3),总Executor=2+3+3=8。假设worker.max.tasks.per.worker=4(每个Worker最多跑4个Executor),则需要2个Worker。Nimbus会选择2个不同的Supervisor节点,每个节点启动1个Worker,每个Worker运行4个Executor(比如Worker1跑Spout的2个+ Bolt1的2个,Worker2跑 Bolt1的1个+ Bolt2的3个)。

优化调度策略:反亲和性调度(Anti-Affinity)

问题背景:默认调度可能导致同一Topology的关键组件(如Spout和下游Bolt)集中在同一节点,当节点故障时,整个Topology崩溃。反亲和性调度通过“强制分散”解决这个问题。

核心逻辑:要求同一组件的Executor分散到不同节点(或不同机架)。例如:Spout的4个Executor必须分布在4个不同的Supervisor节点上。

实现方式:通过配置topology.worker.anti.affinity.groups指定反亲和性组。例如:

Configconfig=newConfig();// 将Spout的Executor分散到不同节点config.put(Config.TOPOLOGY_WORKER_ANTI_AFFINITY_GROUPS,Collections.singletonList("spout_group"));// 在Topology定义中标记Spout属于spout_grouptopologyBuilder.setSpout("spout",newMySpout(),4).addAffinityGroup("spout_group");

优化调度策略:容量感知调度(Capacity Scheduler)

问题背景:默认调度不区分任务优先级,可能导致“大任务”抢占资源,关键任务延迟高。容量感知调度通过“资源预留”和“动态分配”解决这个问题。

核心逻辑

  1. 资源池划分:将集群资源划分为多个池(如“高优先级池”占40%,“低优先级池”占60%)。
  2. 任务分类:提交Topology时指定优先级(如topology.priority=1为高优先级)。
  3. 动态分配:高优先级任务优先从高优先级池获取资源,低优先级任务使用剩余资源;若高优先级池空闲,低优先级任务可借用,但高优先级任务提交时需归还。

数学模型:设总CPU核心为C,高优先级池占比r(如0.4),则:

  • 高优先级可用CPU:C_high = min(C * r, 剩余资源)
  • 低优先级可用CPU:C_low = C - C_high

优化调度策略:动态资源调整(Dynamic Reallocation)

问题背景:实时任务的流量波动大(如电商大促期间流量激增10倍),静态分配资源会导致“平时资源浪费,高峰时过载”。动态资源调整通过“实时监控+弹性扩缩”解决这个问题。

核心逻辑

  1. 指标监控:通过Storm Metrics(或集成Prometheus)收集每个Executor的延迟、吞吐量、CPU/内存使用率。
  2. 触发条件:当某Bolt的延迟超过阈值(如500ms)或CPU使用率超过80%时,触发扩缩容。
  3. 资源调整:Nimbus重新计算需要的Executor数量(如从3个扩到6个),并在空闲节点启动新的Executor;流量下降时释放多余资源。

代码示例(伪代码)

# 监控模块实时获取Bolt的延迟defmonitor_bolt_latency(bolt_id):latency=get_metrics(bolt_id,"latency")returnlatency# 动态调整逻辑whileTrue:latency=monitor_bolt_latency("bolt1")current_executors=get_current_executors("bolt1")iflatency>500:# 延迟过高,扩容new_executors=current_executors*2adjust_parallelism("bolt1",new_executors)eliflatency<100andcurrent_executors>2:# 延迟过低,缩容new_executors=current_executors//2adjust_parallelism("bolt1",new_executors)time.sleep(60)# 每分钟检查一次

数学模型和公式 & 详细讲解 & 举例说明

资源分配的目标函数

Storm调度的核心目标是最大化资源利用率(避免节点空闲)和最小化任务延迟(关键路径的Bolt延迟最低)。数学上可表示为:

优化目标 = min ⁡ ( α ⋅ 最大节点负载 + β ⋅ 关键路径延迟 ) \text{优化目标} = \min \left( \alpha \cdot \text{最大节点负载} + \beta \cdot \text{关键路径延迟} \right)优化目标=min(α最大节点负载+β关键路径延迟)

其中:

  • α \alphaαβ \betaβ是权重参数(如α = 0.6 \alpha=0.6α=0.6β = 0.4 \beta=0.4β=0.4)。
  • 最大节点负载 = max ⁡ ( 节点已用CPU 节点总CPU , 节点已用内存 节点总内存 ) \text{最大节点负载} = \max \left( \frac{\text{节点已用CPU}}{\text{节点总CPU}}, \frac{\text{节点已用内存}}{\text{节点总内存}} \right)最大节点负载=max(节点总CPU节点已用CPU,节点总内存节点已用内存)(负载越接近1,节点越忙)。
  • 关键路径延迟 = ∑ Bolt处理时间 + 数据流传输时间 \text{关键路径延迟} = \sum \text{Bolt处理时间} + \text{数据流传输时间}关键路径延迟=Bolt处理时间+数据流传输时间(关键路径是Topology中最长的处理链)。

反亲和性调度的约束条件

反亲和性调度要求同一组的Executor不能分布在同一节点,数学约束为:

∀ i ≠ j , 节点 ( E x e c u t o r i ) ≠ 节点 ( E x e c u t o r j ) ( 当 E x e c u t o r i , E x e c u t o r j ∈ 反亲和组 ) \forall i \neq j, \text{节点}(Executor_i) \neq \text{节点}(Executor_j) \quad (\text{当} Executor_i, Executor_j \in \text{反亲和组})i=j,节点(Executori)=节点(Executorj)(Executori,Executorj反亲和组)

举例:反亲和组有4个Executor,则必须分配到至少4个不同的节点。


项目实战:代码实际案例和详细解释说明

开发环境搭建

  1. 集群准备:3台CentOS 7服务器(IP: 192.168.1.101/102/103),安装Java 8、Zookeeper 3.6(Storm依赖Zookeeper协调)。
  2. Storm安装:下载Storm 2.4.0,解压到/opt/storm,修改conf/storm.yaml
    nimbus.seeds:["192.168.1.101"]# 主节点IPsupervisor.slots.ports:[6700,6701,6702,6703]# 每个Supervisor节点提供4个Worker槽位(端口)worker.max.heap.size.mb:2048# 每个Worker最大堆内存2GBtopology.worker.anti.affinity.groups:["spout_group"]# 启用反亲和性组
  3. 启动集群:在主节点启动Nimbus(storm nimbus),所有节点启动Supervisor(storm supervisor)和UI(storm ui,访问http://192.168.1.101:8080)。

源代码详细实现和代码解读

我们以一个“实时订单统计”Topology为例,演示反亲和性调度的配置:

publicclassOrderTopology{publicstaticvoidmain(String[]args)throwsException{TopologyBuilderbuilder=newTopologyBuilder();// 定义Spout(从Kafka读取订单),并发度4,属于反亲和组"spout_group"builder.setSpout("order-spout",newKafkaSpout(),4).addAffinityGroup("spout_group");// 关键配置:标记反亲和组// 定义Bolt1(过滤无效订单),并发度3builder.setBolt("filter-bolt",newFilterBolt(),3).shuffleGrouping("order-spout");// 定义Bolt2(统计每小时销量),并发度3builder.setBolt("count-bolt",newCountBolt(),3).fieldsGrouping("filter-bolt",newFields("shop_id"));Configconfig=newConfig();config.setDebug(false);config.setNumWorkers(4);// 申请4个Worker(车间)// 提交Topology到集群StormSubmitter.submitTopologyWithProgressBar("order-topology",config,builder.createTopology());}}

代码解读与分析

  • 反亲和组标记addAffinityGroup("spout_group")告诉Nimbus,这个Spout的所有Executor必须分散到不同节点。
  • Worker数量setNumWorkers(4)指定使用4个Worker,每个Worker对应一个节点(因为Spout有4个Executor,反亲和调度要求每个Executor在独立节点)。
  • 分组策略shuffleGrouping(随机分发)和fieldsGrouping(按字段分发)影响数据流的传输路径,间接影响资源使用(如fieldsGrouping确保同一店铺的订单由同一个Bolt处理,减少状态同步开销)。

验证调度效果

  1. 访问Storm UI(http://192.168.1.101:8080),进入“order-topology”的“Workers”页面。
  2. 观察“Host”列,应看到4个Worker分别运行在4个不同的Supervisor节点(假设集群有4台节点)。
  3. 模拟节点故障(关闭其中一个Supervisor),观察Storm是否自动将故障节点的Worker迁移到其他节点(反亲和调度会重新分配,确保Spout的Executor仍分散)。

实际应用场景

场景1:电商大促实时推荐(需要动态资源调整)

  • 需求:大促期间订单流量激增10倍,平时的资源分配(如3个Worker)会导致Bolt延迟从200ms升至2000ms。
  • 调度策略:启用动态资源调整,监控Bolt的延迟,当延迟超过500ms时自动扩容(如从3个Executor扩到6个),大促结束后缩容。

场景2:金融实时风控(需要反亲和性调度)

  • 需求:风控任务的Spout(从多个数据源读取交易数据)和关键Bolt(风险规则校验)必须高可靠,避免单点故障。
  • 调度策略:将Spout和关键Bolt标记为反亲和组,确保它们的Executor分布在不同机架,即使一个机架断电,任务仍能运行。

场景3:企业日志分析(需要容量感知调度)

  • 需求:同时运行“实时监控”(高优先级)和“历史报表”(低优先级)两个Topology,避免历史报表抢占监控资源。
  • 调度策略:划分资源池(监控池占70%,报表池占30%),监控任务优先使用监控池资源,报表任务使用报表池资源,确保监控任务延迟稳定。

工具和资源推荐

监控工具

  • Storm UI:内置的Web界面,查看Topology状态、Worker分布、Executor指标(延迟、吞吐量)。
  • Grafana+Prometheus:通过storm-exporter收集Storm指标(如worker_cpu_usagebolt_latency),用Grafana可视化。
  • ELK(Elasticsearch+Logstash+Kibana):收集Worker日志,分析任务失败原因(如OOM、网络超时)。

社区资源

  • 官方文档:Apache Storm Documentation(必看,包含配置参数、API详解)。
  • GitHub项目:storm(源码学习,查看调度策略的实现逻辑)。
  • 邮件列表:storm-user@apache.org(遇到问题时提问,社区专家会解答)。

未来发展趋势与挑战

趋势1:云原生与容器化

随着Kubernetes(K8s)成为云基础设施的事实标准,Storm正在支持K8s调度(如storm-k8s)。未来资源调度将更灵活:

  • 弹性扩缩:基于K8s的Horizontal Pod Autoscaler(HPA),根据流量自动调整Worker数量。
  • 资源隔离:通过K8s的Namespace和ResourceQuota,实现更细粒度的资源池划分。

趋势2:AI驱动的智能调度

引入机器学习模型预测流量峰值和任务负载,提前调整资源:

  • 流量预测:用LSTM模型预测未来1小时的数据流速率,提前扩容Bolt的Executor。
  • 负载建模:通过历史数据训练模型,预测不同调度策略下的集群性能(如反亲和性调度的延迟降低多少)。

挑战:多框架混合调度

企业中通常同时运行Storm、Flink、Spark Streaming等多种流计算框架,如何统一调度集群资源(避免框架间资源竞争)是未来的关键问题。可能的解决方案是引入全局资源管理器(如YARN、K8s),对所有框架的任务统一分配资源。


总结:学到了什么?

核心概念回顾

  • Topology:实时计算的“生产线蓝图”,由Spout(原料入口)和Bolt(加工步骤)组成。
  • Worker/Executor/Task:分别对应“车间”“机器”“操作工人”,是资源分配的基本单位。
  • 调度策略:默认调度(分散分配)、反亲和性(避免单点故障)、容量感知(优先级隔离)、动态调整(弹性扩缩)。

概念关系回顾

资源调度的本质是“给Topology的生产线分配车间、机器和工人”,目标是让工厂(集群)效率最高。不同调度策略解决不同问题:反亲和性提升可靠性,容量感知保障优先级,动态调整应对流量波动。


思考题:动动小脑筋

  1. 场景题:假设你负责一个“实时新闻推荐”的Storm集群,新闻流量在每天18:00-20:00(下班时间)激增,其他时间平稳。你会选择哪些调度策略?如何配置?

  2. 技术题:反亲和性调度要求同一组的Executor分散到不同节点,但集群只有3个节点,而反亲和组需要4个Executor。这时Storm会如何处理?(提示:查看Storm的错误日志)

  3. 开放题:假设你要设计一个“AI驱动的Storm调度器”,你会收集哪些指标(如CPU、延迟、流量)?用什么机器学习模型(如决策树、神经网络)?为什么?


附录:常见问题与解答

Q1:配置了反亲和性调度,但Worker仍集中在同一节点,可能是什么原因?
A:可能是集群节点数量不足(如反亲和组需要4个Executor,但只有3个可用节点),或supervisor.slots.ports配置的Worker槽位不够(节点无法启动足够的Worker)。

Q2:动态调整资源时,任务处理会中断吗?
A:Storm的动态调整(adjust_parallelism)是“平滑扩容”,新Executor启动后,旧Executor会继续处理未完成的数据,完成后退出,因此不会丢失数据,但可能短暂增加延迟。

Q3:容量感知调度如何划分资源池?
A:通过storm.scheduler.capacity配置文件定义资源池(如pool1: {cpu: 40%, memory: 50%}),提交Topology时通过topology.pool指定所属池。


扩展阅读 & 参考资料

  • 《Storm实时数据处理:原理、实战与运维》(作者:张利兵)—— 系统讲解Storm的架构与实践。
  • Apache Storm Scheduler Documentation —— 官方调度策略详解。
  • Kubernetes Integration with Apache Storm —— Storm与K8s结合的实践文章。

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

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

相关文章

2026年真空防爆烘箱厂家实力推荐:专业定制工业级防爆烘箱,高效安全烘烤设备源头工厂精选 - 企业推荐官【官方】

2026年真空防爆烘箱厂家实力推荐:专业定制工业级防爆烘箱,高效安全烘烤设备源头工厂精选 在新能源、高端化工、航空航天及新材料等战略性新兴产业高速发展的背景下,工业生产对热处理工艺的安全性、精密性与可靠性提…

Qt UDP通信:缓冲区大小设置技巧

概要 // 设置接收缓冲区为 2MB udpSocket.setSocketOption(QAbstractSocket::ReceiveBufferSizeSocketOption, 2 * 1024 * 1024); QVariant rcvBuf udpSocket.socketOption(QAbstractSocket::ReceiveBufferSizeSocketOption); 1.Qt UDP通信&#xff1a;设置缓冲区大小技巧 …

sdkman同时存在多个jdk的方式

项目级自动切换(强烈推荐) 进入旧项目目录:cd legacy-project sdk use java 8.0.402-tem然后执行:sdk env init会生成一个:.sdkmanrc 内容类似:java=8.0.402-tem 以后你只要:cd legacy-project sdk env SDKMAN …

2026年10款免费降ai率工具实测:还有免费ai查重!从降ai到aigc免费降重,总有一款适合你

降ai这件事&#xff0c;现在绝对是每个写论文的人心里的“刺”。2025年了&#xff0c;查重系统升级贼快&#xff0c;稍微不注意&#xff0c;你的心血就会被判定为机器生成。市面上号称能免费降ai率的神器五花八门&#xff0c;但说实话&#xff0c;很多都是坑。 为了搞定论文降…

论文AIGC率高怎么降?2026最新10个免费降ai率工具测评(附3个免费降低ai率方法)

又到了一年一度被毕业论文支配的恐惧时刻&#xff0c;要我说今年比以往更刺激。以前是愁论文写不出来&#xff0c;现在是好不容易用AI辅助搞定了初稿&#xff0c;结果检测后一片刺眼的红&#xff0c;直接打回重做&#xff0c;功夫全白费&#xff01; 现在学校对论文AIGC基本是…

英特尔掌门陈立武力荐极摩客,国产迷你主机凭什么?

CES 2026&#xff0c;Intel正式推出代号为“Panther Lake”的全新酷睿Ultra 3系列处理器。作为Intel首款采用18A先进制程工艺的消费级产品&#xff0c;该系列被视为企业重塑市场竞争力的关键之作。桌面AI超算领跑者极摩客&#xff08;GMKtec&#xff09;携第二代旗舰产品EVO-T2…

救命神器!10款一键生成论文工具测评:研究生开题报告全攻略

救命神器&#xff01;10款一键生成论文工具测评&#xff1a;研究生开题报告全攻略 学术写作新选择&#xff1a;2026年10款一键生成论文工具深度测评 在科研日益数字化的今天&#xff0c;研究生群体面临的研究任务愈发繁重&#xff0c;从开题报告到论文撰写&#xff0c;每一步都…

论文AIGC率高怎么降?2026最新10个免费降ai率工具测评(附不花一分钱降ai率技巧)

又到了一年一度被毕业论文支配的恐惧时刻&#xff0c;要我说今年比以往更刺激。以前是愁论文写不出来&#xff0c;现在是好不容易用AI辅助搞定了初稿&#xff0c;结果检测后一片刺眼的红&#xff0c;直接打回重做&#xff0c;功夫全白费&#xff01; 现在学校对论文AIGC基本是…

亲测好用8个AI论文写作软件,继续教育学生轻松搞定毕业论文!

亲测好用8个AI论文写作软件&#xff0c;继续教育学生轻松搞定毕业论文&#xff01; AI 工具如何成为论文写作的得力助手 在当前的学术环境中&#xff0c;越来越多的学生和科研工作者开始依赖 AI 工具来提升论文写作的效率。尤其是在继续教育领域&#xff0c;许多学生需要兼顾工…

12种智能写作工具测评:数学建模论文高效重现与专业格式优化指南

还在为论文写作头痛&#xff1f;特别是数学建模的优秀论文复现与排版&#xff0c;时间紧、任务重&#xff0c;AI工具能帮上大忙吗&#xff1f;今天&#xff0c;我们评测10款热门AI论文写作工具&#xff0c;帮你精准筛选最适合的助手。 aibiye&#xff1a;专注于语法润色与结构优…

12款AI辅助论文工具测评:数学建模论文高效复现与格式精细调整方案

还在为论文写作头痛&#xff1f;特别是数学建模的优秀论文复现与排版&#xff0c;时间紧、任务重&#xff0c;AI工具能帮上大忙吗&#xff1f;今天&#xff0c;我们评测10款热门AI论文写作工具&#xff0c;帮你精准筛选最适合的助手。 aibiye&#xff1a;专注于语法润色与结构优…

论文AIGC率高怎么降?2026最新10个免费降ai率工具测评(亲测降至5%以下!附方法)

又到了一年一度被毕业论文支配的恐惧时刻&#xff0c;要我说今年比以往更刺激。以前是愁论文写不出来&#xff0c;现在是好不容易用AI辅助搞定了初稿&#xff0c;结果检测后一片刺眼的红&#xff0c;直接打回重做&#xff0c;功夫全白费&#xff01; 现在学校对论文AIGC基本是…

跟着Datawhale动手学Agent - TASK4: 大作业-实现一个Agent

参考链接 动手学Agent应用开发: https://www.datawhale.cn/activity/483 大作业感想 深刻感觉到没有需求创造需求的无力感,原来实现Agent对我来说最困难在于第一步,如何定位产品。显然本次的大作业时间仓促 结课感想…

12款智能写作软件深度评估:数学建模论文快速还原与专业排版解决方案

还在为论文写作头痛&#xff1f;特别是数学建模的优秀论文复现与排版&#xff0c;时间紧、任务重&#xff0c;AI工具能帮上大忙吗&#xff1f;今天&#xff0c;我们评测10款热门AI论文写作工具&#xff0c;帮你精准筛选最适合的助手。 aibiye&#xff1a;专注于语法润色与结构优…

论文AIGC痕迹太重怎么降?2026最新10个免费降ai率工具测评(还有免费ai查重福利)

又到了一年一度被毕业论文支配的恐惧时刻&#xff0c;要我说今年比以往更刺激。以前是愁论文写不出来&#xff0c;现在是好不容易用AI辅助搞定了初稿&#xff0c;结果检测后一片刺眼的红&#xff0c;直接打回重做&#xff0c;功夫全白费&#xff01; 现在学校对论文AIGC基本是…

凭据获取——windows单机凭据获取

windows单机凭据获取 https://www.cnblogs.com/blue-red/p/18397796 lsass进程是个特殊的进程,lsass是Windows系统的安全机制,我们登录系统输入的密码会保存在lsass进程内存中,它经过wdigest和tspkg两个模块,使用可…

超算AI任务调度:架构师的动态资源分配策略

超算AI任务调度&#xff1a;架构师如何用动态资源分配破解“算力堵车”&#xff1f; 关键词 超算任务调度、动态资源分配、AI工作负载、算力优化、调度算法、资源虚拟化、实时监控 摘要 当AI大模型训练&#xff08;如GPT-4、AlphaFold&#xff09;撞上超算中心的“算力堵车”&a…

论文AIGC率高怎么降?2026最新10个免费降ai率工具测评(拒绝智商税!附降低ai率方法)

又到了一年一度被毕业论文支配的恐惧时刻&#xff0c;要我说今年比以往更刺激。以前是愁论文写不出来&#xff0c;现在是好不容易用AI辅助搞定了初稿&#xff0c;结果检测后一片刺眼的红&#xff0c;直接打回重做&#xff0c;功夫全白费&#xff01; 现在学校对论文AIGC基本是…

基于NASA C-MAPSS数据的剩余机械寿命RUL预测,Python代码(添加了非常详细中文注释),线性回归LR、支持向量回归SVR、随机森林回归RF、xgboost模型

1.运行效果&#xff1a;基于NASA C-MAPSS数据的剩余机械寿命RUL预测&#xff0c;Python代码&#xff08;添加了非常详细中文注释&#xff09;&#xff0c;线性回归LR、支持向量回归SVR、随机森林回归RF、xgb_哔哩哔哩_bilibili 2.环境库 如果库版本不一样&#xff0c; 一般也可…

国内外免费降ai率工具有哪些?这10个神器不花一分钱降AI,堪称论文必备,建议收藏!

刚从论文苦海里“渡劫”上岸的25届毕业生&#xff0c;必须告诉大家&#xff1a;千万别手动降ai&#xff01; 上个月我的论文初稿AIGC率高达85%&#xff0c;差点当场昏过去。为了降低ai率&#xff0c;我花光生活费&#xff0c;把市面上主流的降ai率工具踩了个遍&#xff0c;总算…