WebSocket 双向通信实战:SCADA 移动端实时操控响应优化

引言:SCADA 移动端的 “延迟烦恼” 与破局之道

在电力调度、水厂监控、智能制造等场景中,SCADA 系统(数据采集与监视控制系统)是当之无愧的 “工业指挥官”—— 它能实时采集设备运行数据(如电网负荷、水泵压力、机床转速),还能远程发送操控指令(如调整阀门开度、启停电机)。如今,随着移动办公的普及,越来越多工程师希望通过手机、平板等移动端使用 SCADA 系统:在巡检时随时查看设备状态,遇到紧急情况当场发送停机指令,不用再跑回中控室。

但传统 SCADA 移动端面临一个致命问题:响应延迟。比如某电厂工程师在手机上发送 “降低发电机负荷” 的指令,要等 3-5 秒设备才会响应;有时管网压力突然超标,移动端要隔 10 秒才能收到报警数据 —— 这种延迟在工业场景中可能引发严重后果:电网负荷波动过大会导致跳闸,水管超压可能引发爆管。

问题根源出在通信方式上。传统 SCADA 移动端大多用 HTTP 协议通信,这种协议像 “发快递”:每次获取数据或发送指令,都要先建立连接、发送请求、等待响应,完成后再断开连接。工业场景中设备数据每秒都在变化,工程师要实时监控就得频繁 “发快递”,不仅浪费网络资源,还会累积延迟。

这时候,WebSocket 双向通信就成了破局关键。它像 “打电话”:一旦建立连接就保持通畅,SCADA 系统能主动把实时数据 “推” 给移动端,移动端发送的指令也能瞬间传到系统,不用反复建立连接。某电力行业调研显示,采用 WebSocket 后,SCADA 移动端的指令响应时间从平均 4.2 秒缩短到 0.3 秒,数据更新延迟降低 90% 以上,紧急操作的可靠性提升至 99.9%。

一、先搞懂两个核心:SCADA 移动端与 WebSocket

要理解 “响应优化”,得先理清两个基础概念 —— 就像学用智能家电前要先懂 “遥控器” 和 “WiFi”,搞清楚 SCADA 移动端的需求和 WebSocket 的特性,才能明白优化的底层逻辑。

1. SCADA 移动端:不只是 “看数据”,更要 “能操控”

SCADA 移动端不是简单的 “数据显示器”,而是要满足 “实时监控 + 远程操控” 的双重需求,这对通信有两个严格要求:

  • 实时性:设备数据(如电压、流量)要秒级更新,不能有明显延迟。比如某水厂的水泵压力突然从 0.8MPa 升到 1.5MPa,移动端必须立刻收到报警,工程师才能及时关小阀门;
  • 可靠性:指令发送后必须 “有去有回”—— 既要确保指令能传到设备,也要收到设备的 “执行反馈”(比如 “阀门已关闭”)。如果指令丢失,可能导致设备误操作,比如本想停机却没收到指令,设备继续运转引发故障。

传统 HTTP 通信很难满足这两点:比如为了实时看数据,移动端要每隔 1 秒发一次 “获取数据” 的请求,网络拥堵时请求会排队,导致数据更新滞后;发送指令时,万一断开连接,指令就会丢失,工程师还不知道设备有没有执行。

2. WebSocket:让通信从 “发快递” 变 “打电话”

WebSocket 是一种专门为 “双向实时通信” 设计的网络协议,它有三个核心特性,完美适配 SCADA 移动端的需求:

  • 长连接:像打电话一样,一旦建立连接就保持打开状态,不用每次通信都重新 “拨号”。SCADA 系统和移动端之间只需要一次连接,后续数据传输和指令发送都在这个连接上完成,省去了反复建立连接的时间(HTTP 每次连接要消耗 0.5-1 秒);
  • 双向主动传输:HTTP 协议中,只有移动端主动 “要数据”,SCADA 系统才会给;而 WebSocket 支持 “双向主动”——SCADA 系统发现设备数据变化(比如压力超标),能主动把数据 “推” 给移动端,不用等移动端来要;移动端发送指令时,也能直接通过连接传给系统,没有中间环节;
  • 轻量高效:WebSocket 传输的数据格式非常简洁,比如一条 “压力 = 1.2MPa” 的信息,用 WebSocket 传只需要几十字节,比 HTTP 节省 60% 以上的数据量。工业现场的网络环境往往复杂(比如车间有电磁干扰、偏远电厂网速慢),这种轻量特性能减少传输拥堵,降低延迟。

举个生活中的例子:用 HTTP 看 SCADA 数据,像你每隔 1 分钟给中控室打电话问 “设备怎么样了”,对方再告诉你;用 WebSocket,就是你和中控室通着电话,设备一有变化,对方立刻告诉你,你有指令也能马上说 —— 效率天差地别。

二、WebSocket 与 SCADA 移动端的适配设计:三步搭建 “实时通信通道”

要让 WebSocket 在 SCADA 移动端落地,不是简单 “换个协议” 就行,需要从 “连接建立 - 数据传输 - 异常处理” 三个环节做适配设计,确保通信稳定、安全、高效。

1. 第一步:安全建立长连接 —— 给 “电话” 加 “身份验证”

工业通信最怕 “非法入侵”:如果黑客破解了连接,可能会伪造指令关停电厂、篡改水质数据。因此,建立 WebSocket 连接时,首先要解决 “身份认证” 和 “安全加密” 问题。

实战中常用的设计方案是:

  • 双重身份验证:移动端先通过账号密码登录 SCADA 系统(第一层验证),系统会生成一个唯一的 “令牌(Token)”;移动端建立 WebSocket 连接时,要把这个令牌一起传给系统(第二层验证),系统验证通过才允许连接。这样即使有人知道 WebSocket 的连接地址,没有令牌也进不来;
  • 加密传输:用 WSS 协议(WebSocket 的加密版本,类似 HTTPS)建立连接,就像给电话加了 “加密线路”,数据传输过程中即使被拦截,黑客也看不到里面的内容(比如指令 “关停水泵” 会变成乱码)。某水厂的实践显示,采用 WSS 后,通信安全事件发生率从每年 3 起降到 0 起。

另外,还要考虑 “连接稳定性”:工业现场网络可能突然断网(比如车间断电导致 WiFi 中断),因此要设计 “自动重连机制”—— 移动端检测到连接断开后,每隔 2 秒尝试重新连接,直到连接成功;重连时会自动带上之前的令牌,不用工程师重新登录。

2. 第二步:定义数据传输格式 —— 让 “对话” 清晰不混乱

SCADA 系统要传输的数据类型很多(比如温度、压力、设备状态),指令也有不同类型(比如启停、调整参数)。如果数据格式混乱,移动端可能读不懂数据,或者系统误解指令(比如把 “开阀门” 当成 “关阀门”)。

实战中推荐用JSON 格式传输数据,它像 “结构化的对话脚本”,清晰定义了 “数据类型 + 内容 + 时间戳”,示例如下:

// SCADA系统推给移动端的设备数据{  "type": "data",  // 数据类型:data(设备数据)、alarm(报警)  "deviceId": "pump-001",  // 设备ID:001号水泵  "timestamp": "2025-08-23 14:30:05",  // 数据采集时间  "content": {    "pressure": 1.2,  // 压力:1.2MPa    "flow": 50,       // 流量:50m³/h    "status": "running"  // 状态:运行中  }}// 移动端发给SCADA系统的指令{  "type": "command",  // 数据类型:command(指令)  "deviceId": "valve-002",  // 设备ID:002号阀门  "timestamp": "2025-08-23 14:30:10",  // 指令发送时间  "content": {    "action": "close",  // 动作:关闭    "param": {      "speed": "slow"  // 参数:慢速关闭    }  }}

这种格式的优势很明显:一是易读,工程师能直接看懂数据和指令内容;二是易解析,移动端和 SCADA 系统都能快速提取关键信息(比如从 “content.action” 里知道要执行 “关闭” 动作);三是可扩展,后续要增加新数据类型(比如 “设备故障代码”),只需在 “content” 里加字段,不用改整体格式。

3. 第三步:设计 “心跳机制”—— 防止 “电话断了不知道”

工业现场的网络可能会出现 “假连接”:看起来连接还在,但数据传不出去(比如 WiFi 信号弱、交换机故障)。如果没发现这种情况,移动端以为能收到数据,其实已经断连;系统以为能收到指令,其实指令根本传不过来 —— 这会导致严重的监控盲区。

解决办法是设计心跳机制:就像打电话时偶尔说 “喂,还在吗”,确认对方还能正常通信。具体实现方案是:

  • 移动端和 SCADA 系统约定,每隔 10 秒互相发送一个 “心跳包”(内容很简单,比如 {"type":"heartbeat","status":"ok"});
  • 如果移动端连续 3 次(30 秒)没收到系统的心跳包,就判定连接断开,自动触发重连;
  • 如果系统连续 3 次没收到移动端的心跳包,会标记该移动端 “离线”,不再给它推数据,避免浪费资源。

某电厂的实践证明,心跳机制能把 “假连接” 的发现时间从原来的 5 分钟缩短到 30 秒,确保工程师不会因为断连而错过关键数据。

三、SCADA 移动端响应优化实战技巧:四大手段降延迟、提可靠性

建立好 WebSocket 通信通道后,还要进一步优化,解决 “数据太多传不过来”“指令优先级低被卡住” 等问题,让响应速度更快、操控更可靠。

1. 技巧一:数据 “按需传输 + 压缩”—— 减少 “通信拥堵”

SCADA 系统每秒会产生大量数据(比如一个电厂有上千个传感器,每秒产生上万条数据),如果把所有数据都推给移动端,会导致网络拥堵,反而增加延迟。优化方案是 “按需传输 + 数据压缩”:

  • 按需传输:移动端可以选择 “关注的设备” 和 “需要的参数”。比如工程师巡检时,只需要看当前负责的 3 台水泵的压力和流量数据,系统就只推这 3 台设备的这两个参数,其他数据不推。某水厂用这种方式后,移动端接收的数据量减少了 85%,延迟从 1.2 秒降到 0.3 秒;
  • 数据压缩:用 Gzip 等压缩算法对传输的 JSON 数据进行压缩。比如一条 1000 字节的设备数据,压缩后只有 200 字节,传输时间缩短 80%。而且现在的手机、平板性能足够强,解压时间只有几毫秒,几乎不影响用户体验。

2. 技巧二:指令 “优先级排序”—— 确保 “紧急指令先到”

SCADA 移动端的指令有轻重缓急:“停机”“关阀门” 是紧急指令,延迟 1 秒都可能出事故;“调整参数”“查看历史数据” 是普通指令,稍微慢一点没关系。如果把所有指令混在一起传输,紧急指令可能会被普通指令 “插队”,导致延迟。

实战中会给指令设置优先级等级(比如 1 级最高,5 级最低),SCADA 系统收到指令后,会按优先级排序处理:

  • 1 级指令(如停机、紧急报警):立刻处理,优先传输,即使网络拥堵也要 “插队”;
  • 3 级指令(如调整阀门开度):正常处理,按接收顺序传输;
  • 5 级指令(如查看历史报表):延迟处理,在网络空闲时传输。

某化工厂的案例显示,设置优先级后,紧急指令的响应时间稳定在 0.2 秒以内,没有再出现 “紧急停机指令被卡住” 的情况。

3. 技巧三:边缘计算 “预处理数据”—— 让移动端 “少算账”

传统方式中,SCADA 系统会把原始数据(比如传感器采集的电压值、电流值)推给移动端,移动端再自己计算出 “功率”“能耗” 等关键指标 —— 这个计算过程会占用手机资源,导致数据显示延迟(比如要等 1 秒才能算出功率值)。

优化方案是引入边缘计算:在靠近设备的 “边缘网关”(比如车间的本地服务器)里提前处理数据,只把计算后的 “结果” 推给移动端。比如网关先根据电压和电流算出功率,再把 “功率 = 50kW” 推给移动端,不用移动端自己计算。

某汽车厂用这种方式后,移动端的数据显示延迟从 0.8 秒降到 0.1 秒,工程师打开设备页面就能立刻看到关键指标,不用等待计算。

4. 技巧四:“指令确认 + 重传”—— 确保 “指令不丢失”

在工业场景中,指令丢失是致命的:比如工程师发送 “关阀门” 指令,结果因为网络波动丢了,阀门没关,导致物料泄漏。解决办法是 “指令确认 + 重传机制”:

  • 指令确认:移动端发送指令后,SCADA 系统收到指令要立刻回复 “已收到,正在执行”;系统执行完指令后,再回复 “执行完成,结果是 XXX”(比如 “阀门已关闭,当前开度 0%”);
  • 重传机制:如果移动端 3 秒内没收到 “已收到” 的回复,就自动重发指令(最多重发 3 次);如果重发 3 次还没收到,就提示工程师 “指令发送失败,请检查网络”。

某电网公司的测试显示,这种机制能把指令丢失率从原来的 2% 降到 0.01% 以下,几乎不会出现 “指令发了没执行” 的情况。

四、真实案例:某水厂 SCADA 移动端的 “秒级响应” 改造

光说技巧不够直观,我们来看一个真实案例 —— 某城市自来水厂有 20 个水泵站、50 个管网监测点,原来用 HTTP 协议的 SCADA 移动端存在 “数据更新慢(5 秒一次)、指令延迟(3-4 秒)、断连后要手动重登” 的问题。2024 年,水厂投入 30 万元采用 WebSocket 改造,1 个月就完成落地,效果显著。

改造前的痛点

  1. 管网压力突然超标时,移动端要 5 秒才能收到报警,工程师赶到现场时,已经有小区出现水管漏水;
  1. 远程发送 “调整水泵转速” 指令,要等 4 秒水泵才响应,期间管网压力波动大,影响供水稳定性;
  1. 巡检时手机 WiFi 断连后,要重新登录系统、重新选择设备,浪费 5-10 分钟。

改造的关键动作

  1. WebSocket 连接设计
  • 用 WSS 协议加密连接,加双重验证(账号密码 + 动态令牌),防止非法入侵;
  • 设计 10 秒心跳包,30 秒断连自动重连,重连时保留之前选择的 “关注设备”,不用重新操作。
  1. 数据传输优化
  • 移动端支持 “按区域选择设备”(比如只看 “城东水泵站” 的 3 台水泵),系统只推选中设备的 “压力、流量、转速”3 个关键参数,数据量减少 90%;
  • 用 Gzip 压缩数据,一条数据从 800 字节压缩到 150 字节,传输速度提升 80%。
  1. 指令优先级与确认
  • 给指令分 3 级:1 级(紧急停机、关阀门)、2 级(调整转速、开度)、3 级(查看历史数据);
  • 实现 “指令确认 + 重传”:移动端发指令后,收到 “已执行” 反馈才显示 “成功”,没收到就自动重发。

改造后的效果

  1. 响应速度大幅提升:数据更新延迟从 5 秒降到 0.2 秒,指令响应时间从 3-4 秒降到 0.3 秒,管网压力报警能 “秒级推送”,工程师处理故障的时间缩短 60%;
  1. 可靠性显著提高:指令丢失率从 2% 降到 0.01%,断连后自动重连成功率 99.9%,巡检时不用反复登录,每天节省 2 小时操作时间;
  1. 成本降低:因故障处理及时,管网漏水率从原来的 1.2% 降到 0.5%,每年节省水费损失 120 万元;同时减少了中控室值班人员(从 3 人轮班减到 2 人),每年节省人力成本 20 万元。

五、落地常见问题与解决办法

虽然 WebSocket 改造优势明显,但很多水厂、电厂在落地时会遇到 “连接不稳定”“数据解析错误” 等问题。我们总结了三个最常见的问题,以及经过实战验证的解决思路。

1. 问题:工业现场网络差,WebSocket 连接频繁断连

工业现场的网络环境复杂(比如车间有大型电机干扰 WiFi、偏远水泵站用 4G 网络信号弱),导致 WebSocket 连接频繁断开,影响使用。

解决办法:

  • 多网络备份:移动端支持 “WiFi+4G/5G” 自动切换,WiFi 断了就立刻切到 4G,确保连接不中断;
  • 降低心跳间隔:把心跳包间隔从 10 秒改成 5 秒,让系统更快发现断连,提前触发重连;
  • 本地缓存数据:移动端在断连时,把收到的最新数据缓存到本地,断连期间工程师还能看历史数据,不会完全 “失明”。某偏远电厂用这个方法后,连接稳定性从 70% 提升到 98%。

2. 问题:移动端解析 JSON 数据出错,显示 “乱码”

有时 SCADA 系统推给移动端的数据是乱码,或者移动端发的指令系统读不懂,这通常是 “数据格式不统一” 或 “编码方式不一致” 导致的。

解决办法:

  • 统一数据格式规范:制定明确的 JSON 格式文档,比如 “deviceId 必须是‘设备类型 - 编号’格式(如 pump-001)”“数值必须带单位(如 1.2MPa)”,开发前让移动端和系统开发团队都确认规范;
  • 统一编码方式:所有数据都用 UTF-8 编码传输,避免因编码不一致导致乱码;
  • 增加数据校验:移动端和系统收到数据后,先检查 “是否有必填字段”(比如 data 类型必须有 timestamp),没有就拒绝解析,并提示 “数据格式错误”。某水厂用这个方法后,数据解析错误率从 5% 降到 0。

3. 问题:担心 WebSocket 太复杂,现有团队不会维护

很多工厂的 IT 团队熟悉 HTTP,但对 WebSocket 不了解,担心改造后不会维护,出问题没人能修。

解决办法:

  • 选择成熟的开发框架:用现成的 WebSocket 开发框架(比如前端用 Socket.IO,后端用 Spring WebSocket),这些框架已经封装了连接、重连、心跳等功能,不用从零开发,降低维护难度;
  • 做针对性培训:邀请框架厂商或第三方技术团队,给 IT 团队做 1-2 天的实操培训,重点讲 “如何查看连接状态”“如何排查断连原因”“如何修改数据格式”,让团队掌握基础维护技能;
  • 找第三方运维支持:和开发厂商签订运维协议,遇到解决不了的问题,厂商能远程协助排查,初期每月上门一次做维护检查。某中小水厂用这个方法,顺利完成了改造后的维护工作。

总结:WebSocket 让 SCADA 移动端 “从能用变好用”

SCADA 移动端的核心需求是 “实时、可靠”,而 WebSocket 通过 “长连接、双向主动传输” 的特性,完美解决了传统 HTTP 通信的延迟问题。从实战角度看,只要做好 “安全连接设计、数据格式规范、响应优化技巧”,就能让 SCADA 移动端实现 “秒级响应”,满足工业场景的远程监控和操控需求。

未来,随着 5G 网络的普及和边缘计算的发展,WebSocket 还会有更多优化空间:比如结合 5G 的低延迟特性,让指令响应时间降到 0.1 秒以内;结合 AI 算法,在边缘网关自动识别异常数据,只把关键报警推给移动端,进一步减少数据量。

对工业企业来说,SCADA 移动端的 WebSocket 改造不是 “技术炫技”,而是降本增效的实用手段 —— 它能让工程师摆脱中控室的束缚,随时随地掌控设备状态,快速处理故障,为工业远程运维、智能巡检提供有力支撑。毕竟,工业智能化的核心不是拥有多先进的设备,而是让每一个环节都能 “实时响应、高效协同”——WebSocket,正是实现这个目标的关键技术之一。

(注:文档部分内容可能由 AI 生成)

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

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

相关文章

SafeEar:浙大和清华联合推出的AI音频伪造检测框架,错误率低至2.02%

本文转载自:https://www.hello123.com/safeear ** 一、🔒 SafeEar:你的声音 “防火墙”,让 AI 伪造音频无所遁形 担心自己的声音被 AI 模仿甚至伪造?SafeEar就是来帮你解决这个难题的!它是由浙江大学和清…

uni-app iOS 日志与崩溃分析全流程 多工具协作的实战指南

在 uni-app 跨平台开发中,iOS 应用的日志与崩溃分析往往是开发者最头疼的问题。 日志分散:uni-app 的 JS 日志、原生插件日志、系统日志分布在不同位置;崩溃难复现:用户反馈的崩溃往往无法在开发机还原;符号化复杂&…

CSS定义网格的列模板grid-template-columns什么意思,为什么要用这么复杂的单词

这个词确实看起来复杂,但其实很好理解。让我来拆解一下:单词分解grid-template-columns grid - 网格template - 模板columns - 列连起来就是:网格模板列 → 定义网格的列模板为什么要用这么长的单词?语义明确:长单词能…

Umi-OCR:Windows7和Linux上可免费离线使用的OCR应用!

工具介绍 Umi-OCR 是一款免费、开源的离线OCR软件,主要由作者 hiroi-sora 用业余时间在开发和维护。 Umi-OCR 内置多国语言库,支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚以及二维码的扫描/生成。 适用平台&#xff1…

30 分钟让 AI 开口查订单:React-Native + Coze 全链路语音对话落地指南

一、前言:为什么你需要“可说话、能查库”的 AI? 聊天机器人在 2025 已不新鲜,但**“张嘴就能查询私有业务数据”**的端到端方案依然踩坑无数: ASR/TTS 选型多、SDK 难对齐大模型与内部 API 安全打通RN 端流式渲染 音频播放并发…

玄机--应急响应--webshell查杀

靶场连接1.黑客webshell里面的flag flag{xxxxx-xxxx-xxxx-xxxx-xxxx}使用命令查找特殊文件//搜索目录下适配当前应用的网页文件,查看内容是否有Webshell特征 find ./ type f -name "*.jsp" -exec grep -l "exec(" {} \; find ./ type f -name &…

Nodejs读取目录下面的文件

需求:给定一个目录,读取该目录下面的所有文件,包括该目录下面文件夹里面的子文件,子子文件......const fs require(fs);const path require(path);// 指定要遍历的目录const directoryPath D:\\;//调用函数入口处readDir(direc…

PPTist,一个完全免费的 AI 生成 PPT 在线网站

PPTist,一个完全免费的 AI 生成 PPT 在线网站 PPTist 是一个完全免费的 AI 生成 PPT 在线网站、PPT 在线演示网站、PPT 在线编辑网站。 它完全免费,无需登录注册,支持 AI 生成 PPT 功能,可以一句话生成 PPT ,支持输入…

C++中操作重载与类型转换

文章目录基本概念调用选择作为成员还是非成员输入和输出运算符算术和关系运算符相等和不等运算符赋值运算符下标运算符递增和递减运算符成员访问运算符函数调用运算符lambda是函数对象标准库定义的函数对象可调用对象与function重载、类型转换与运算符类型转换运算符避免有二义…

Java学习之——“IO流“的进阶流之转换流的学习

在博主的上一篇博文中,详细的介绍了“IO”流中最基本的一些知识,包括基本的常见的字节流和字符流,以及对应的缓冲流,对于“IO”流基础知识相对薄弱的同学可以先去看博主的上一篇博文Java学习之——万字详解“IO流”中基本的字节流…

PMP考试结构、学习框架与基本术语

一、PMP考试整体结构 考试基本信息 考试形式:纸笔考试(中国大陆地区)考试时长:230分钟(约4小时)题目数量:180道题 170道单选题(四选一)10道多选题包含5道非计分的试验题…

浅谈前端框架

在 Web 开发的演进过程中,前端框架扮演着越来越重要的角色。从早期的 jQuery 到如今的 React、Vue、Svelte 等,前端开发模式发生了翻天覆地的变化。本文将从前端框架的定义、核心特性、分类以及主流框架的差异等方面,带你深入理解前端框架。 …

10.3 马尔可夫矩阵、人口和经济

本节内容是关于正矩阵(postive matrices): 每个元素 aij>0a_{ij}>0aij​>0,它核心的结论是:最大的特征值为正实数,其对应的特征向量也是如此。 在经济学、生态学、人口动力系统和随机游走过程中都…

python学习进阶之面向对象(二)

文章目录 1.面向对象编程介绍 2.面向对象基本语法 3.面向对象的三大特征 4.面向对象其他语法 1.面向对象编程介绍 1.1 基本概念 概念:面向对象编程(Object-Oriented Programming, OOP)是一种流行的编程范式,它以"对象"为核心组织代码和数据 在面向对象的世界里: …

VS+QT的编程开发工作:关于QT VS tools的使用 qt的官方帮助

加粗样式 最近的工作用到VS2022QT5.9.9/QT5.12.9,在查找相关资料的时候,发现Qt 官方的资料还是很不错的,特记录下来,要记得抽时间学习下。 Add Qt versions https://doc.qt.io/qtvstools/qtvstools-how-to-add-qt-versions.html B…

【系统分析师】第21章-论文:系统分析师论文写作要点(核心总结)

更多内容请见: 备考系统分析师-专栏介绍和目录 文章目录 一、写作注意事项:构建论文的合规性与专业性 1.1 加强学习 1.2 平时积累 1.3 提高打字速度 1.4 以不变应万变 二、试题解答方法:结构化应对策略 2.1 试题类型分析 2.2 三段式答题框架 2.3 时间分配 三、论文写作方法:…

tailwindcss 究竟比 unocss 快多少?

tailwindcss 究竟比 unocss 快多少? 前言 大家好,我是去年一篇测评 《unocss 究竟比 tailwindcss 快多少?》 的作者 icebreaker。 一晃到了 2025 年,tailwindcss4 也正式发布了,现在最新版本是 4.1.13。 新版本不仅…

算法练习——55.跳跃游戏

1.题目描述给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false 。示例 1&#xff…

Django 项目6:表单与认证系统

目录 1、form 表单 2、session 保存状态 3、Admin 后台 4、Auth 系统 1、form 表单 (1)创建 form.py 文件,并完善 from django import forms# 定义一个表单类 class Register(forms.Form):user forms.CharField(max_length30, label用…

tvm/triton/tensorrt比较

1.tvm的主线感觉更新太慢,文档太落后,在自动驾驶领域不支持Blackwell平台,跨平台其实吹牛的更多。我觉得自动驾驶用不起来。2.性能最快的还是tensorrt/tensorrt_llm这条路,纯cuda路线面临大量cuda算子开发,比如vllm ll…