尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
繁易平台除MQTT外第二种方式:HTTP主动上报监测点数据实战指南
1. 先弄清楚这件“第二种方式”要解决什么问题干工业数据对接这几年我越来越觉得把数据从现场设备里采上来不算本事真正麻烦的是怎么把数据干净利落地交到别人手里。前阵子接了个水质监测项目客户点名要用繁易平台现场监测点分布在厂区四个位置pH、浊度、溶解氧、流量这些点位都得实时上送。最初方案全是按MQTT写的设备侧配置、报文结构、订阅链路都定了结果对接方综合管理平台只给了一个HTTP推送接口消息队列一概不通。方案当场就得改——繁易平台对接监测点数据除了MQTT还得走第二种方式也就是HTTP主动上报。这篇把这次实践从选型到落地的完整过程写出来适合正在用繁易平台接数、或者准备接数但下游系统不支持MQTT的朋友。内容覆盖方案对比、网关配置、服务端接收接口设计还有我实际踩过的一些坑。读完后你至少能回答三个问题第二种方式到底怎么搭、报文该长什么样、坏了怎么查。我尽量按项目推进的顺序讲而不是堆名词。1.1 监测点数据对接的经典链路先对齐一下术语。这里说的“监测点”不单指某个传感器而是指一个可以产出数值的数据采集位置。比如某个水泵的压力变送器、某个水池旁的液位计、一套水质多参数仪表甚至一个电表回路都可以算一个监测点。繁易平台要“直接对接监测点数据”核心链路其实分成三段第一段是采集由繁易网关通过串口、网口或者模拟量通道把现场设备里的寄存器值、模拟量信号读上来。第二段是处理网关内部把原始数值按点位映射关系转化成标准工程值比如把16位整型码值换算成实际的pH数值加上时间戳和点位号。第三段是上行把处理好的数据封装成消息通过某种协议投递到目标平台。监控大屏、数据大屏、报表系统全部依赖这最后一跳。大多数人第一次接触繁易对接方案第一反应就是MQTT。为什么因为MQTT在工业领域确实普及轻量、实时性好、断线自动重连几乎成了设备上云的事实标准。繁易网关对MQTT的支持也很成熟配置里填一下Broker地址、订阅主题、QoS级别数据就源源不断发出去。这个方案本身没毛病但有一个隐藏前提你的数据接收方必须能跑MQTT客户端而且网络环境允许1883端口出站。现实里这个前提经常不成立。很多环保、水务、园区综合平台的对外接口只有HTTP有些甚至只提供一个带鉴权的POST地址。还有些内网环境把非标准端口封得死死的MQTT根本出不去。这时候第二种方式的价值就体现出来了——不依赖消息中间件直接用HTTP请求把数据报到处。1.2 为什么好多项目被MQTT卡脖子MQTT被卡脖子通常不是技术问题而是对接协调问题。比如某次对接对方技术负责人说得很明白我们系统只支持HTTP所有外部数据都走统一API网关已经建好的鉴权体系就是OAuth2那套不可能为了一路监测数据专门部署Broker。这种场景你做多少技术论证都没用接入规范是对方定的。另一类情况是网络链路问题。MQTT默认走1883端口很多专网环境或者政企内网策略严格非443端口根本不通。对比之下HTTPS走443是任何防火墙都不会轻易拦的路径。你甚至不用额外申请白名单只要对方提供一个公网或专网可达的HTTPS接口数据就能送达。还有一类情况是开发资源问题。接收端如果是自建Web系统维护一个MQTT订阅服务对团队来说就是长期负担。连接状态监听、掉线告警、消息积压、持久化这些事情做起来都不轻松。但HTTP接口就简单多了——一个Controller一个函数收到JSON解析入库调完即走。对非物联网专业团队来说第二种方式的学习和维护成本低得多。理解了这个背景就能明白标题里那句“除MQTT方式外第二种方式”的真实含义它不是MQTT的替代品而是当MQTT不可用或不合适时一种更贴近Web生态的对接通道。接下来我详细拆解这种方式怎么落地。2. 方案拆解繁易平台第二种对接方式怎么做先说结论繁易平台上除MQTT外最常用的第二种方式就是把监测点数据封装成JSON报文通过HTTP协议主动POST到指定服务器。整个方案分两半网关负责采集和上行服务端负责接收和入库。我先讲整体设计思路再讲为什么这样取舍。2.1 第二种方式的核心逻辑HTTP主动上报这名字听起来很直白但在工业对接里它和普通网页前端发个Ajax请求完全是两码事。工业场景的HTTP上报有几个固定特征让你必须认真对待。第一数据是主动推送不是被动拉取。网关按照设定周期比如每分钟一次主动把当前所有点位的最新值组装成报文POST到服务器。服务器不需要管网关在哪也不需要主动连接现场设备它只负责被动收。这种模式的好处是穿透性好网关只要能访问到目标URL就能上报服务器甚至可以在云上不需要公网IP回连现场。第二报文内容是结构化、自描述的。因为对接方系统很可能会把这份JSON直接消费入库字段命名、类型、时间格式都必须在对接文档里写死。你不要想当然地只发一个数值过去点位标识、采集时间、数据质量码这些元信息一个都不能少。否则下游系统无法区分这个值是哪个监测点的也无法判断数据可信度。第三上报是幂等可重试的。网络抖动、服务器重启、接口超时这些在工业现场都是家常便饭。网关一侧要具备失败缓存和重试机制服务器一侧最好能按设备ID加时间戳去重保证一条数据即便被重复投递也不会重复计算或者重复入库。这两端设计思路我会在第四章专门展开。2.2 网关侧采集与上行的职责分工很多第一次接触繁易的人有个误区以为“平台对接监测点”就是把云端平台的API地址配置一下就行现场采集自然就通了。实际完全不是这样。监测点在车间里、在管廊下、在水池边数据是物理世界里的电信号必须有一层硬件把它数字化。繁易网关就是这层硬件。所以完整方案里网关承担两个职责。采集职责通过Modbus RTU、Modbus TCP、DL/T 645、模拟量通道等协议从传感器或仪表读取原始数据。这里有一个关键动作叫点位映射比如Modbus寄存器地址40001对应“进水pH”40002对应“进水浊度”数据类型是16位无符号整数缩放系数是0.01。网关完成后原始数值就变成了带工程单位的真实值。上行职责把采集到的最新值组合成标准报文推送到目标服务器。繁易网关的上行通道配置里除了MQTT一般都有HTTP相关选项。你需要指定目标URL、请求方式通常是POST、Content-Type统一application/json、超时时间和失败重试次数。高版本的网关固件还支持自定义Header字段方便带Token或API Key鉴权。这里要特别强调一个边界问题网关负责的是“把数据送出去”至于数据到服务器之后怎么解析、怎么存储、怎么上图那是接收端的事。不要指望一台几百块或几千块的计算设备去替你完成数据清洗和业务逻辑。保持边界简单清晰系统才稳定。2.3 方案对比HTTP上报和MQTT到底差在哪把两种方式放在一张表里看选型逻辑就清楚了。对比项MQTT方式HTTP上报方式协议特性长连接、双向实时短连接、请求-响应端口要求通常1883特殊环境受限通常80/443穿透性好接收端复杂度需要维护订阅客户端普通接口即可网络中断表现自动重连、离线消息需Broker配合靠本地缓存和重试机制实时性极高适合毫秒级取决于上报周期分钟级也常见生态对接难度需要MQTT客户端与Web系统天然亲和调试手段需MQTT客户端工具curl、Postman即可模拟从这张表能看出HTTP上报牺牲了一定的实时性但换来了极大的对接便利性。在监测场景里点位数据大多数是秒级或分钟级变化用60秒甚至300秒的上报周期都够用实时性损失完全可接受。于是这个方案的核心技术要点就变成了三件事报文结构怎么定、网关怎么配、服务端怎么写。下面一一细讲。3. 实操从零配通HTTP上报通道这一章我按现场实施的顺序来写你照着做可以少走弯路。我用的网关以繁易常见型号为例不同固件版本菜单名称可能略有差异但逻辑一致。3.1 上游采集先确认监测点能读到数别急着配HTTP。无论上行用什么协议先保证数据能从传感器读到网关。我一般按三步确认。第一步确认设备物理链路。比如Modbus RTU设备必须确认串口参数波特率常见9600或19200、数据位8、校验位无校验或偶校验看设备手册、停止位1。串口接错后面全白搭。繁易网关的采集界面里新建一个设备通道把从站地址、功能码通常03读保持寄存器、寄存器起始地址、寄存器数量填进去系统会尝试读取。第二步建立点位映射。在网关里给这台设备添加变量每个变量对应一个监测点。要填清楚寄存器地址、数据类型16位/32位、整型/浮点、字节序大端/小端、缩放系数和偏移量。比如某些水位计以0.1米为单位读数100代表10.0米那缩放系数就是0.1偏移量为0。第三步在线调试。大多数繁易网关的配置软件支持模拟运行或在线调试模式你可以直接看到某个点位当前读到的原始值和换算后的工程值。如果这里读不到数据或读数明显异常先别碰HTTP回头查物理连接和点位配置。我见过不少项目花了一个星期排查HTTP不上报最后发现是Modbus寄存器地址填错数据压根没采上来。注意地理位置上采集不到和上行推不出去是两个完全不同的问题。排查时必须先分清楚是采集段还是推送段出了问题否则会浪费大量时间。3.2 下行配置在网关里加一条HTTP上行通道采集段确认无误后开始配置上行通道。繁易平台上配置HTTP上报一般涉及下面几个关键项。请求地址。填对方提供的完整URL注意区分http和https带不带路径。如果对方要求带端口也要一并写全。曾遇到过接口地址里包含大写的API路径网关配置里我下意识改成了小写结果直接404这种低级错误值得警惕。请求方式。无特殊说明都用POST。如果对方接口定义了GET之类的特殊要求那基本可以判断对方对接经验不足你需要主动提醒对方监测数据推送场景应该用POST携带请求体而不是把一堆点位数据塞进URL参数里。请求头。Content-Type固定为application/json; charsetUTF-8。如果对方有鉴权要求通常会给一个AccessToken或者要求固定Header字段比如Authorization或者X-Api-Key。繁易网关的HTTP通道配置里一般支持自定义若干Header字段把这些静态Token填进去即可。动态Token沿用场景网关支持脚本字段计算的话可以做但会增加复杂度我建议能静态就静态。上报周期。根据监测需求和服务器承受能力均衡设置。环境监测没特殊要求时60秒一轮很合适既保证了数据密度又不至于给服务器造成太大压力。有些平台要求300秒一个点也照配就是了。失败重试。建议打开失败缓存设置重试间隔。网关本地会暂存发送失败的数据待网络恢复后按时间顺序补传。这个功能极其重要现场网络闪断几十分钟数据不会丢全靠它。注意不要为了图省事关掉失败缓存。这是第二种方式相对于MQTT最容易被诟病的地方——短连接场景一旦断网就等于丢数。开启本地缓存后这个弱点基本被弥补了。3.3 报文设计JSON怎么组织才不返工报文格式是这里头的灵魂。格式没定好服务端解析要返工下游系统对接更麻烦。我建议按“设备批次点位数组”的结构来组织这也是工业数据接入最常见的范式。{ deviceId: FE-TEST-0001, timestamp: 1713000000, dataPoints: [ { pointId: PH_INLET, pointName: 进水pH, value: 7.35, quality: 0, timestamp: 1713000060 }, { pointId: TURB_INLET, pointName: 进水浊度, value: 12.6, quality: 0, timestamp: 1713000060 } ] }逐一说明关键字段deviceId设备ID。对接方用来识别数据来源必须全局唯一且固定不变。建议用网关SN或者对接文档里分配的编号。timestamp报文生成时间。我建议统一用Unix时间戳单位秒避免“2025-04-14 10:00:00”这种带时区歧义和格式歧义的字符串。如果对方系统已经定了字符串格式那就按对方的来但沟通时最好提一句时区问题避免服务器和现场时区不一致导致时间漂移。dataPoints点位数组。数组内每个元素代表一个监测点。pointId是点位标识的字符串value是工程值quality是质量码。质量码0表示正常1表示超限2表示故障3表示无效。这一项常常被忽视但很重要——现场仪表维护时输出无效数据质量码能直接告诉下游“这条数据别用于统计”。关于要不要在每一跳里都重复带timestamp我的做法是报文级timestamp表示“这一批数据是什么时候组包的”点位级timestamp表示“这个点是什么时候采集到的”。若网关的采集和上报之间没有明显延迟点位级时间戳大多相同。但网络异常后补传时两者差异会很大。下游看到点位时间戳是两小时前就知道这是补传数据处理逻辑上可以做区分。这个细节在多级转发场景里尤其重要。4. 服务端对接与关键实现网关配好了报文格式也定了接下来是服务端。大多数对接方系统不会是全新的但接收监测数据这部分往往就是在一套已有的业务系统里加一个接口。这里我给出一个最小可用的接收服务示例以及我认为必须做对的三个关键点。4.1 用Python快速搭一个接收接口假设目标是接收JSON报文校验后写入数据库。用Flask简单实现。from flask import Flask, request, jsonify import json import time app Flask(__name__) # 模拟白名单设备 DEVICE_WHITELIST {FE-TEST-0001, FE-TEST-0002} app.route(/api/monitor/push, methods[POST]) def receive_push(): # 基本条件判断 if not request.is_json: return jsonify({code: 400, msg: Content-Type must be application/json}), 400 body request.get_json() device_id body.get(deviceId) if device_id not in DEVICE_WHITELIST: return jsonify({code: 401, msg: device not allowed}), 401 incoming_ts body.get(timestamp, 0) current_ts int(time.time()) if abs(current_ts - incoming_ts) 300: return jsonify({code: 400, msg: timestamp out of range}), 400 points body.get(dataPoints, []) if not points: return jsonify({code: 400, msg: empty dataPoints}), 400 # 到此视为校验通过进入实际业务处理 process_points(device_id, incoming_ts, points) return jsonify({code: 0, msg: ok}) def process_points(device_id, ts, points): for point in points: # 实际项目中这里执行数据库插入操作 save_to_db(device_id, point[pointId], point[value], point[quality], point.get(timestamp, ts)) def save_to_db(device_id, point_id, value, quality, p_ts): # 演示用替换为真实数据库写入逻辑 print(f{device_id} {point_id} {value} qual{quality} ts{p_ts})这段代码做了四件事限制请求类型、校验设备ID白名单、校验时间戳新鲜度、校验点位非空。这些只是最基础的防护但已经能挡掉大半异常请求。生产环境建议再补一层鉴权比如校验Header中的Token是否有效。提示不要把业务处理放在接收接口里阻塞执行。对接场景中网关重试逻辑很常见如果接口处理超过几秒网关可能因超时重复投递反而加重服务器负担。接收到合法数据后先返回成功再异步落库这种模式更稳。4.2 数据校验、去重与断点补传服务端真正容易出问题的不是接口框架而是数据链路的一致性。我重点说三个容易被忽略的设计。按设备ID加点位ID加采集时间戳去重。网关缓存补传机制打开后可能出现同一批数据投递两次的情况比如第一次请求超时了实际对方已收到网关重试又成功投递了一次。如果不去重数据库里就会多出重复记录。在表结构上给deviceId、pointId、timestamp三列建唯一索引插入时用INSERT IGNORE或者ON DUPLICATE KEY UPDATE这个问题就解决了。时间戳统一成UTC存储。我见过最头疼的对接问题就是时区混用。服务器在北京、网关在东八区、数据库用的UTC、前端展示又转一次一套下来字段含义全乱。我的建议是传输层用Unix秒存储层统一用UTC展示层按业务时区转换。各层职责单一才能避免越转越乱。补传数据的标记要保留。网关补传的数据点位级timestamp会明显早于接收时间。服务端落库时可以额外记录receive_time字段用于后续排查数据延迟问题。这也能帮助判断网络稳定性——如果经常出现大批补传记录说明现场到服务器的网络链路并不理想需要协调网络排查了。4.3 压力不大也要做对的三件事监测点数量有限、上报周期分钟级服务端的并发压力通常不会很大。但有三件事就算压力不大我也强烈建议做对。第一件日志要够用。至少记录接收时间、设备ID、报文长度、处理耗时、返回状态。不需要把整个报文都打进去报文太大刷日志也挺麻烦但关键字段必须有。否则线上出问题你拿什么复盘第二件接口要有健康检查。对接方或者你自己运维时需要一个简单的HEAD或GET接口确认服务存活比如 /health 返回200。这不算对接必需但遇到网关配置了上报却一直没数据时你能先确认服务本身活着而不是对着空气查半天。第三件异常要分级告警。接口返回5xx、设备连续N个周期没有上报、单批次点位数量与预期明显不符这三类情况分别给出不同级别的告警策略。连续N周期无上报通常意味着现场采集链路出了大问题早点发现比什么都强。5. 常见问题与排查实录这章把我实际遇到过的问题按“表现现象-可能原因-解决方法”的方式整理成速查表再挑三个典型案例细说。很多坑不实际踩一遍光看文档是看不出来的。表现现象可能原因解决方案服务器一直收不到数据网关填的URL地址错误或不可达先用curl在服务器本地模拟POST确认接口通收到了但返回401Token或Header鉴权字段错误核对对方文档注意Header名大小写数据到了但是乱码编码格式不一致统一使用UTF-8检查网关侧编码设置时间差了8小时时区未统一或字符串时间无时区改成Unix秒传输入库用UTC高频重复数据网关重试与服务器超时冲突唯一索引去重确认处理超时阈值是否合理部分点位一直缺失点位上报配置或采集映射不全核对点位表确认是否漏配变量5.1 上报失败最常见的五个原因第一个URL配错或基础设施不通。排查方法是绕过网关直接在服务器上用curl带同样报文发一次。如果curl也失败先查网络和防火墙。这个动作应该作为所有排查的第一步它能把“网关问题”和“接口问题”快速切分。第二个鉴权字段没对上。对方文档说Header里加“Authorization: Bearer xxx”你在网关配置里却把整个“Bearer xxx”当成Token。网关可能把自定义Header当成固定字面量原样发送那这样就对了但有些网关配置会区分“Header名”和“Header值”一旦填错位置对方就收到一个没有鉴权头的请求。我的经验是把对方给的鉴权示例原样抓包看一遍比用肉眼看配置更靠谱。第三个内容类型不匹配。对方接口只认application/json网关却默认发了text/plain。很多网关的HTTP通道允许自定义Content-Type但默认值未必是你要的。这个配置项总藏在不起眼的地方排查时专门去看一眼。第四个请求超时时间太短。网关默认超时可能只有5秒而接收接口因为业务处理慢响应超过5秒。网关判定失败触发重试。数据正式入库了重复请求又来了。这种问题如果没有去重机制数据库会被大量重复数据淹没。第五个网关本地缓存满导致旧数据被覆盖。断网太久缓存写满之后要么阻塞新数据写入要么丢弃最旧的数据。无论哪种监控曲线都会出现断档。定期查看网关缓存占用及时发现网络异常是运维侧要做的事。5.2 数据到了但入库不对的排查思路数据成功到达接口却不代表入库结果正确。有一次现场排查接口日志显示每批报文都正常返回成功数据库里value值却始终不变。查到最后发现是数据库连接池满了save_to_db实际抛异常被吞掉数据全被丢进了异常分支。这是一个典型教训接口返回成功只代表业务逻辑被接收了不代表持久化成功。打印日志时一定要区分两个节点接收成功和入库成功。另一个常见情况是值对不上。比如现场读数7.35数据库里存成7。这大概率是数据类型定义问题。网关上传的value如果是浮点数JSON解析时被转成整型小数点直接被截断。服务端定义字段时要用float或decimal不要用int接收。这个坑在数据量大的表里尤其隐蔽因为不是每条都丢只是丢失小数部分。还有一类是点位错位。网关点位映射顺序改了之后报文里的dataPoints数组顺序可能也随之变化而服务端如果按数组下标而不是pointId去关联业务字段就会把pH误存成浊度。这也是我坚持报文里必须带pointId的原因宁可报文长一点也不要在消费端用隐式顺序。5.3 高频上报与存储方案的取舍有些人担心HTTP上报太频繁服务器吃不消。实际监测场景一分钟一包也就几十个点位算下来也就每秒一两笔写入普通关系型数据库毫无压力。真正要操心的是历史数据膨胀。比如一个监测点一分钟一条一天1440条一年52万条如果50个监测点就是2600万条。这种量级如果还按业务主表存储查询会越来越慢。我的建议是默认分成两张表实时数据表和历史归档表。实时表只保留最近一天或一周按时间清理。历史表定期做降采样聚合比如把秒级数据聚合成分钟平均值、小时平均值。报表展示走历史聚合表实时曲线走实时表。这个设计虽然不是这次对接的必选项但数据跑半年之后你会感谢当初做了拆分。另外写入策略上不要实时一条条插入。网关每批报文本身就是一批点位服务端接收后批量插入一次插几十行。批量插入比单行逐条插入性能好一个量级而且对数据库事务也友好。这个小动作成本极低后患极少值得每一个对接方案里都带上。我的实操体会这套方案上线后跑了几个月最大的感受是HTTP上报这第二种方式看着朴素但在对接场景里其实是“最不容易吵架”的方案。对方系统给个URL你这边配好网关联调用curl模拟几组报文通了就完事。不需要对方懂MQTT不需要额外部署消息中间件更不用协调1883端口放行很多界面上的沟通成本直接消失。最后分享一个我积累的习惯新对接一个平台永远先脱离网关做一次纯接口联调。用curl手动构造一份固定报文POST到对方接口确认字段、鉴权、返回码都对再让网关去推真实数据。这样可以区分开“对方接口问题”和“网关配置问题”。如果一上来就让网关推数据两边同时出问题时排查起来相当痛苦。另外报文字段的定义文档哪怕是两三页看似多余的说明也一定要在联调前发对方确认字段单位、时间格式、质量码规则都逐字核对这一步省下的返工时间往往比写整个接收接口还多。
RELATED

相关推荐

登录入口背后:企业级双Token认证架构全解

登录入口背后:企业级双Token认证架构全解

登录入口看起来只是一张表单:账号、密码、登录按钮。但你有没有想过,当用户点击按钮的瞬间,系统背后到底发生了什么?今天我想从登录入口这个最不起眼的缝隙,拆开一套企业级双Token认证系统的完整架构。这套系统用Acces…

📅 2026/10/20 23:24:19
Flutter TabBar Indicator定制指南:从BoxDecoration到自绘动画

Flutter TabBar Indicator定制指南:从BoxDecoration到自绘动画

做过 Flutter 客户端的朋友应该都有同感:TabBar是 Material 组件库中最常用、也最容易被低估的组件。默认的蓝色下划线样式太深入人心,以至于一旦业务方要求“把选中下标换成一条 4px 高的渐变胶囊”“底部指示器做成圆点”“滑块要跟着滑动动画平滑位移…

📅 2026/10/20 23:24:19
插件生态真假怎么判断?别只看架构图,核心工作流覆盖率60%才是关键

插件生态真假怎么判断?别只看架构图,核心工作流覆盖率60%才是关键

判断一个生态真假,别急着翻架构文档。我的经验是先打开插件市场,把目标场景里“必须扩展才能做完”的那条主流程走一遍,数数有多少环节已经有好用的轮子。这个比例过不了 60%,哪怕架构图画得再漂亮,实际用起来也会一脚…

📅 2026/10/20 23:24:19
MORE NEWS

更多资讯

📰

十月AI前端岗面试复盘:流式渲染、状态管理与多模态交互核心考点

1. 十月AI前端岗面试的真实体感十月份这波AI前端岗位的面试,我前前后后跟了将近三周,面了六家,也帮两个朋友做了模拟面,聊下来最大的感受就一句话:岗位变少了,但要求变刁了。以前你会个React、能写业务组件…

📰

四旋翼PID控制论文复现:Simulink建模、参数整定与避坑指南

前阵子遇到一位同学,把他卡了三周的Simulink仿真发给我看:四旋翼无人机PID控制,高度一直往下掉,油门推到顶还是拉不住。我一眼就看出问题不在PID参数,而是他把论文里简化的电机一阶惯性环节直接省了,整个内…

📰

高压高频电源的PID控制:参数整定、离散化与工程实践

这些年做高压高频电源,听到“PID”这个词的频率比听“拓扑”还高。不少同行上来就问:PID三个参数到底怎么调?高压环境能不能直接套用书本上的公式?我一般会反问一句:你先搞清楚高频化之后,控制对象已经变成…

📰

价值引导的结构化采样优化:组合爆炸下的高效候选选择

去年下半年,我被借调到某算法小组支援一个代号为模拟项目X的专项,项目全称就叫价值引导的结构化采样优化。名字绕口,说白了就是一件事:候选方案多到搜索空间完全爆炸时,不要用均匀随机采样去大海捞针,而是先…

📰

企业知识图谱落地实践:从本体设计到架构选型的关键路径

这两年聊企业AI落地,很容易陷入一种分裂感:一边是大模型能力突飞猛进,另一边是企业实际交付的项目还在为“搞不清业务实体之间的关系”发愁。我所在的团队去年花了近一年时间,帮某制造企业搭了一套售后知识体系,核心底…

📰

Unet-SAM提示框融合模型:医生画框即得精准息肉分割

简介:本资源面向医学图像处理方向的深度学习研究者与开发者,聚焦结直肠镜检查中息肉肿瘤的高精度语义分割任务,提供一套融合Selective Attention Module(SAM)提示机制的Unet改进方案。资源包含完整可运行代码、标注数据…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬