JVS低代码与物联网2.4版更新解读:多协议接入与流程引擎优化
2026/9/10 13:34:30 网站建设 项目流程

1. 这次2.4更新,到底改了什么

项目里用JVS挺长时间了,从早期的低代码版本一路跟到现在的物联网套件,说实话每次更新我都会第一时间拉到测试环境过一遍。这次2.4版本虽然叫“更新说明”,但改动范围比想象中大,不光是修修补补,低代码和物联网两条产品线都有实打实的功能变化。如果你正在选型低代码平台,或者已经在用JVS做企业内部系统,这篇内容应该能帮你快速判断要不要升、升级后怎么用。

先说结论:2.4版本的核心动作可以归纳成三条主线。第一条是低代码侧的表单建模和流程引擎做了交互重构,重点解决“配置复杂、上手门槛高”的问题;第二条是物联网侧的设备接入链路由单协议支持扩展到了多协议适配,同时在物模型、规则引擎、告警通道这几个环节补了不少细节;第三条是底层稳定性优化,包括数据同步机制、权限控制粒度、消息通知可靠性,这些不太容易被看到,但实际运维的时候能感受到差别。

我这边团队同时维护着两套基于JVS搭建的系统,一套是内部的工单审批平台,另一套是接了几十台环境监测设备的物联网数据看板。所以这次更新我关注的点会比较具体:工单流程里的会签节点有没有变顺手,物模型配置能不能批量处理,设备断线重连的逻辑是否比之前稳。接下来的内容就按这两个方向拆开讲,顺便把升级过程中踩到的坑也整理出来。

1.1 本次更新涉及的模块范围

先给一张模块清单,让大家对2.4版本的改动范围有个整体认知。

模块所属产品线主要更新内容
数据建模低代码字段类型扩充、公式字段、级联选择器增强
列表页配置低代码列权限细化、查询条件自定义、批量操作优化
流程引擎低代码会签/或签节点优化、消息通知增强、超时提醒
数据权限低代码角色权限细分、字段级权限控制
设备接入物联网MQTT/HTTP/TCP/Modbus多协议支持、网关管理
物模型物联网属性/事件/服务定义、批量导入导出、影子设备
规则引擎物联网设备触发、定时触发、场景联动、脚本过滤
可视化大屏物联网新增图表组件、组件联动、数据刷新策略优化
告警中心物联网短信/邮件/Webhook多通道、告警升级策略

这个表格基本就是2.4版本的更新地图。后面我会挑几个重点模块详细说,日常用不到的部分就一笔带过,不浪费大家时间。

1.2 两条产品线为什么要同期更新

低代码和物联网同时发版,表面上看着像巧合,实际上背后有产品逻辑。JVS的低代码平台本身提供了数据建模和流程编排能力,物联网套件则负责设备数据的采集和处理,两者天然有对接需求。比如一个厂房环境监测系统,设备数据通过物联网模块接入,经过规则引擎处理后写入低代码平台的数据模型,最终在业务表单里展示,整个过程跨了两个模块。

2.4版本的低代码侧重点在于让“业务人员也能配置系统”,而物联网侧重点在于让“设备数据能更顺畅地流进业务系统”。两条产品线同期更新,其实是在打通内部数据链路。我在实际使用中最明显的感受是,物模型里的属性值可以自动同步到低代码平台的数据模型中,不需要写接口、不需要中间表,配置一下映射关系就行,这个功能之前是要写脚本才能实现的。

2. 低代码部分:从表单建模到流程审批的细节变化

低代码平台最核心的价值就是“快速搭出能用的系统”。2.4版本在这块做了不少体验优化,我挑几个自己项目里已经在用的功能拆开讲。

2.1 数据建模:字段类型更丰富,公式字段省了不少事

我最早用JVS搭工单系统的时候,字段类型只有文本、数字、日期、下拉框这些基础类型,遇到稍微复杂一点的业务就得靠“多个字段+外部计算”去实现。2.4版本在数据建模这块补了几类很实用的字段类型:

  • 关联记录字段:可以直接引用另一个模型的数据,不用再手动维护外键关系。
  • 子表单字段:一张工单对应多个备件明细,这种一对多的场景终于可以在一个表单里搞定。
  • 公式字段:支持在模型里直接配置计算公式,比如“总价 = 单价 × 数量”,配置后表单页面会自动计算,不需要在后端单独写逻辑。
  • 级联选择字段:省市区、分类层级这种联动场景,以前要用脚本去监听控件变化,现在直接在字段配置里设置父子关系就行。

我实际用得最多的是公式字段。以前做库存管理系统的时候,每次入库出库都要在业务逻辑里重新算库存余量,现在直接在“库存余量”字段里配一条公式“期初库存 + 入库总量 - 出库总量”,数据模型层面就解决了。配置路径是“数据建模 → 字段管理 → 新建字段 → 选择公式字段”,往下拉能看到参与计算的字段列表,选择后填写表达式,保存即可。

这里有个容易踩的坑:公式字段引用其他字段时,尽量只引用同一个模型里的字段,跨模型引用虽然也能实现,但性能会明显下降,列表页加载速度变慢。我试过在工单模型里引用客户模型的字段来算“客户信用等级权重”,配置完成后列表页每次刷新都要等两三秒,后台看SQL日志发现做了关联查询,后来改成本地冗余字段才解决。

2.2 列表页与按钮权限:操作体验更顺手,权限粒度更细

列表页是业务人员每天都要面对的功能,这次更新主要优化了几个细节:

一是查询条件支持自定义布局。以前查询条件只能按顺序堆在顶部,字段多了以后非常乱,现在可以把常用条件固定到第一行,不常用的折叠起来,类似电商网站的筛选逻辑。

二是列表按钮的显隐权限和字段级权限解耦了。之前按钮权限挂在角色上,字段权限也挂在角色上,想实现“同角色不同人看到不同字段”基本做不到。2.4版本把权限模型重新梳理了一遍,按钮权限、数据范围权限、字段级权限可以分开配置。比如客服组的人都能点“导出”按钮,但普通客服导出时只能导出自己名下工单,主管可以导出全量数据。

三是批量操作增强。以前批量操作只有删除和状态变更,现在可以自定义批量处理功能,比如批量指派负责人、批量修改优先级。配置方式是在列表页设计器里“操作按钮 → 新建批量操作 → 选择处理逻辑”。

权限这块我提醒一句:字段级权限虽然好用,但一定要先在测试环境里验证再上生产。我遇到过的情况是,在角色配置里勾选了“隐藏工单金额字段”,结果导出功能不受这个限制,导出的Excel里还是带了金额列。这是2.3版本的旧问题,2.4说是修复了,但我建议还是自己在测试环境导出一次确认。

2.3 流程引擎:会签逻辑优化,消息通知终于不“装死”了

流程引擎算是个老模块,这次更新的重点在于节点处理和通知机制。

会签节点新增了“按比例通过”的策略。以前会签只有两种模式:所有人通过才算通过、任一人通过就算通过。实际业务中经常有“5个人里面3个人同意就行”的需求,以前只能用条件分支去模拟,很不优雅,现在直接在节点配置里选择“按比例通过”,填写通过比例即可。

消息通知方面,2.4版本支持了节点级通知模板和超时自动提醒。节点级通知模板的意思是,不同审批节点可以配置不同内容的通知文案。以前是全局一条模板,申请人在“张三”节点收到的话术和“李四”节点收到的一模一样,现在可以针对不同节点单独写。超时提醒更加实用,比如“如果审批节点超过24小时未处理,自动给审批人发送一条催促消息,同时抄送给发起人”。

消息通道也做了扩展,除了站内信和邮件,新增了飞书、钉钉和企业微信的Webhook接入。配置方式在“系统设置 → 消息通道”里,把Webhook地址填进去,通知消息就会通过对应平台推送。我们团队最常用的是飞书机器人,审批进度直接推到群里,比邮件提醒及时多了。

流程引擎升级后有个细节要注意:历史流程实例中的节点类型如果和新版有冲突,可能会在流程图中显示异常。我升级后跑了一遍历史数据,发现一个用旧版“会签节点”发起的流程实例,在流程图里显示成了“条件分支”,但没有影响实际流转,官方论坛里也有人反馈类似现象。遇到这种情况不用慌,流程记录里的审批履历还是完整的,等这个实例走完后重新发起新流程就正常了。

3. 物联网部分:接入、规则、大屏三条线都有动作

物联网套件在2.4版本里的更新内容比低代码更多,毕竟JVS物联网模块还处在快速迭代期。我从设备接入、物模型、规则引擎、大屏和告警这几个维度说。

3.1 设备接入链路:多协议支持,网关管理更完整

以前JVS物联网主要走MQTT协议,一般单片机设备通过MQTT上报数据,平台侧订阅topic来接收。2.4版本把接入层重做了一遍,目前支持MQTT、HTTP、TCP和Modbus四种协议。

具体来说:

  • MQTT:支持TLS加密、遗嘱消息、保留消息,设备连接认证支持证书和Token两种方式。
  • HTTP:设备通过REST接口上报数据,适合一些不支持长连接的低功耗设备。
  • TCP:提供自定义TCP报文解析框架,可以配置报文头、长度、CRC校验位等。
  • Modbus:针对工业设备的接入,支持Modbus TCP和RTU协议,可以直接通过网关管理下挂设备。

据我了解,JVS的物联网模块本身是基于Netty框架开发的,增加协议支持其实是在Netty的ChannelInitializer里增加不同的解码器。如果你有定制化需求,比如设备上报的数据经过AES加密,官方提供的协议适配没法直接用,可以在Netty的handler链路里加一层自定义解密逻辑,开发成本不算高。

网关管理是这次新增的功能模块。网关在物联网架构里承担协议转换和边缘计算职责,比如一堆走Modbus协议的传感器先汇聚到网关,网关再通过MQTT把汇总数据上报到平台。2.4版本支持在平台侧注册网关、查看网关上挂载的子设备列表、监控网关在线状态。我这边用了一个开源的Modbus网关做测试,配置过程挺顺利的,在“设备管理 → 网关列表 → 添加网关”里填网关编号和所属项目,子设备会被自动发现并绑定。

3.2 物模型与规则引擎:配置效率提升,自动化玩法更多

物模型是JVS物联网模块的核心概念,用“属性、事件、服务”来描述一个设备能提供什么数据、能做什么事情。

2.4版本新增了物模型的批量导入导出功能,支持JSON和Excel格式。以前一个设备有十几个属性,我只能手动在页面里一个一个加,属性多了非常痛苦。现在可以直接在Excel里维护好属性清单,然后导入到平台,十分钟搞定。导出的JSON格式也方便做版本备份和环境迁移。

关于属性定义,以下是JVS物模型属性的一种基本JSON格式,方便理解数据结构:

{ "properties": [ { "id": "temperature", "name": "温度", "dataType": "float", "unit": "℃", "readWrite": "read-only", "min": -20, "max": 80 }, { "id": "fan_status", "name": "风机状态", "dataType": "enum", "enumValues": ["off", "on", "auto"], "readWrite": "read-write" } ] }

规则引擎在2.4版本里新增了设备联动和定时触发两种场景模式。设备联动的意思是,当某个设备上报的数据满足条件时,自动触发另一个设备的操作。以前想实现“温度超过40度自动打开风机”,要么靠设备端逻辑,要么写脚本轮询,现在直接在规则引擎里配一下就行:

  • 触发条件:设备A的属性“温度”> 40
  • 执行动作:调用设备B的服务“打开风机”

定时触发则更适合周期性操作,比如每天早上八点执行一次设备自检、每小时的半点同步一次数据快照。规则引擎里也支持简单脚本过滤,可以在触发条件和执行动作之间加一层数据处理逻辑,比如对上报的数据做阈值计算后才决定是否触发后续动作。

影子设备这个功能我也提一嘴。所谓影子设备,就是平台侧保存一份设备最新状态的缓存,即使设备离线,平台侧也能读到“设备最后一次上报的数据”。2.4版本优化了影子数据的同步逻辑,离线时的设备状态查询速度比之前快了不少。这个能力做线上调试的时候特别好用,不用翻数据库看原始报文。

3.3 可视化大屏和告警中心:监控数据更直观,告警能送对地方

大屏方面,2.4版本主要新增了轮播图和在线地图组件。轮播图适合展示多页图表数据,在线地图则可以绑定设备经纬度,直接在地图上看到设备分布和设备状态。组件联动也做了增强,可以配置点击某个图表时同步过滤其他图表的数据范围,比如点击“华东区域”柱状图,旁边的设备在线率饼图就会自动只显示华东区域的数据。

数据刷新策略增加了几种模式:全局定时刷新、组件级定时刷新、数据主动推送。大屏如果展示的是实时环境数据,建议开启数据主动推送,设备数据更新后,页面数据自动刷新,延迟能控制在几秒内。定时刷新适合报表类数据,减少不必要的请求次数。

告警中心是2.4版本改动比较大的模块。以前告警规则只能配置“设备属性超过阈值后触发告警”,现在支持以下几种触发方式:

  • 属性阈值触发:温度超过设定值、电量低于设定百分比等。
  • 设备离线触发:设备心跳超时后触发告警。
  • 事件上报触发:设备主动上报某个事件,比如“非法开门”、“急停按钮被按下”。
  • 规则引擎联动触发:规则引擎执行动作时判断是否需要生成告警。

告警通道除了站内消息,还扩展了短信、邮件、Webhook。通道配置在“告警中心 → 通道配置”里,短信通道需要接入第三方的短信服务商,邮件通道需要配置SMTP,Webhook通道直接填接口地址即可。

告警升级策略是我比较喜欢的功能。可以配置告警的升级路径,比如“告警产生后15分钟内未被处理,则通知告警人的上级”,有效减少了告警被淹没在消息堆里的情况。规则实现也简单,在告警策略里添加升级规则,选定时间阈值和升级通知人即可。

4. 从2.3到2.4的升级与配置实操

聊完功能,讲一讲具体怎么迁移。升级这种事,准备工作做得越充分,后面出幺蛾子的概率越低。

4.1 升级前检查清单

我两次升级一次没踩大坑,靠的就是一份固定检查清单。先说这个清单:

  • 备份数据库:低代码平台的数据模型、流程定义、权限配置都存在数据库里,升级前必须做全量备份。
  • 备份配置文件:重点检查application.propertiesapplication.yml,确认数据源地址、Redis地址、文件存储路径等配置。
  • 记录当前版本号:在系统设置里查看当前版本,并确认升级包支持的起始版本。如果跨版本过多,可能要按顺序升级。
  • 准备一个测试环境:千万不要直接在生产环境上升级,先在一套测试环境里完整走一遍升级流程。
  • 检查自定义代码兼容性:如果你用低代码平台写过自定义函数、自定义事件,升级后要回归测试。

JVS支持源码部署和Docker部署两种方式。Docker部署升级比较简单,拉取新版本镜像、重启容器即可。源码部署需要拉取代码、重新编译打包,再替换部署目录下的文件。具体步骤以官方文档为准,我这里只提供一个Docker部署的参考流程:

# 先备份当前数据 docker exec -it jvs-mysql mysqldump -uroot -p jvs_db > jvs_backup_$(date +%Y%m%d).sql # 拉取最新版镜像 docker pull registry.cn-hangzhou.aliyuncs.com/jvs/jvs-server:2.4.0 docker pull registry.cn-hangzhou.aliyuncs.com/jvs/jvs-iot-server:2.4.0 # 用docker-compose重新创建容器 docker-compose up -d

第一次升级完成后,先别急着导入生产数据。先在测试环境执行几个核心场景的冒烟测试,比如新建一个数据模型、配置一个流程、模拟一台设备上报数据,确认这些基础流程都正常后再动生产。

4.2 低代码模块配置示例:工单系统流程搭建

升级后我第一件做的事,是用新版本重新搭建了一个“备件申领流程”。这里展示一下核心配置过程,帮你快速理解新版低代码模块的配置方式。

第一步,数据建模。新建“备件申领单”模型,字段包括:

字段名字段类型是否必填备注
申领人关联记录关联用户模型
所属部门关联记录关联部门模型
备件名称下拉框从备件字典选取
备件数量数字整数,校验大于0
预估费用公式字段备件数量 × 备件单价
申领原因多行文本描述使用场景
加急审批开关加急单走特殊分支

第二步,配置流程。流程节点:提交申请 → 部门主管审批 → 库管员确认 → 结束。在“部门主管审批”节点配置会签策略,选择“按比例通过”,比例设为50%。在“库管员确认”节点配置超时提醒,24小时未处理则自动通知库管员和申领人。

第三步,配置权限。角色“普通员工”只能看到自己发起的申领单,角色“部门主管”只能看到本部门的申领单,角色“库管员”可以看到所有状态为“待确认”的申领单。每个角色对应的数据范围在“权限管理 → 数据范围”里设置。

第四步,发布菜单。把配置好的菜单分配给对应角色,检查列表页、表单页、流程页在对应角色下显示是否正常。

这套配置在新版本里明显比以前顺畅,最主要的原因是级联字段和数据范围权限的配置不用再写脚本,页面点选就能完成。

4.3 物联网模块接入示例:模拟设备上报数据

物联网模块的升级验证,我用的是MQTT模拟器加一个ESP32开发板来测。这里给出一个最简化的接入流程。

MQTT设备接入的校验方式有三种:设备密钥(Token)、证书(TLS)、匿名。测试阶段用设备密钥方式比较方便。在“设备管理 → 产品管理 → 设备列表”里新建设备,生成设备ID和设备密钥。设备端连接配置:

Broker Address: 你的JVS服务器地址 Broker Port: 1883(或8883走TLS) Client ID: 设备ID Username: 设备ID Password: 设备密钥

设备上线后,上报数据的Topic格式为:

device/{设备ID}/report

一条典型的温度上报数据:

{ "temperature": 26.5, "humidity": 60, "fan_status": "on" }

平台侧在“设备管理 → 设备详情 → 运行状态”里可以看到最新上报的属性值。如果看不到,优先检查物模型属性ID和上报JSON的key是否一致。比如物模型里定义的属性ID是temperature,上报数据里写temp,平台解析不了。

规则引擎的验证方法也很直接:配置一条规则“温度大于等于30度,则发送告警并记录一条事件”,然后模拟器把上报数据里的temperature改成31,等一两分钟,看告警中心有没有产生告警。如果没有告警,优先排查规则引擎的启停状态、时间窗口设置、告警通道是否真正发出去。

5. 实战中遇到的坑与排查方法

每个版本都有一堆藏在角落里的坑,2.4也不例外。下面整理我和团队在实际部署使用中遇到的问题,供参考。

5.1 低代码模块常见问题

流程发起了但没人收到待办通知。这个问题大概率出在“流程节点负责人”配置上。2.4版本把“角色”和“人员”分开配置了,如果你只指定了角色,但当前租户下的角色没有绑定具体的用户,待办就发不出去。排查路径:节点配置 → 负责人 → 选择角色 → 确认角色下已有用户。还有一种可能是消息通道配置错误,去“系统设置 → 消息通道”里测试发送,看能否正常收到。

列表页新增按钮点了没反应。升级后如果遇到某个按钮点击无响应,优先按F12看浏览器控制台有没有报错。JVS 2.4的前端部分重新编译过,浏览器缓存可能会把旧的JS文件留在本地,导致前后端版本不一致。清理浏览器缓存或强制刷新(Ctrl+F5)能解决大部分这类问题。

公式字段计算结果不更新。公式字段的值是保存时计算的,如果修改了被引用的字段,但公式字段没有重新计算,检查一下这个公式字段是否勾选了“保存时重新计算”。另外公式里涉及数值精度时建议用ROUND函数包裹,比如ROUND(备件数量 * 备件单价, 2),避免出现小数位过多导致显示异常。

升级后历史流程实例打不开。这个我前面提到过,个别历史流程的XML定义里包含旧版节点类型,新版本解析时会做兼容处理。如果遇到打不开的情况,去“流程管理 → 流程定义”里重新发布一次该流程定义,旧实例通常就能正常打开了。我做回归测试时发布过三次同一流程,没有出现数据丢失。

5.2 物联网模块常见问题

设备在线状态经常误判。JVS判断设备在线主要靠MQTT心跳,如果你把心跳间隔设得比较长,比如超过90秒,平台侧可能默认设备已离线。建议根据设备实际上报频率合理配置心跳时间。对应配置在“设备的运行参数配置”里,单位是毫秒,一般设备数据上报间隔是30秒,心跳间隔设60秒就够。

设备上报了数据,但物模型属性没有更新。先检查数据格式是否符合物模型定义。JVS物联网平台在解析上报数据时对JSON格式要求比较严格,属性的key要与物模型中的id完全一致。其次检查产品是否绑定了正确的物模型。如果绑定的物模型没有重新发布,新的属性定义不会生效。

告警规则配了但没有触发。这种问题九成出在时间窗口或告警级别配置上。JVS告警规则里如果设置了“持续时间大于等于5分钟”,那设备只是瞬间超过阈值不会触发告警,必须持续5分钟才会触发。另外告警级别如果设置为“忽略”,则该规则不会产生任何告警记录。排查时先看“告警记录”里有没有数据,如果没有,说明规则没匹配上;如果有数据但你没收到通知,问题出在通道配置。

大屏组件数据不刷新。大屏数据不自动更新,先看数据源配置里的刷新模式。2.4版本如果选择“定时刷新”,需要在全局定时刷新里设置刷新间隔,最小支持10秒。如果选择“数据主动推送”,需要确认物联网模块的消息推送服务正常启动,可以在服务器上通过WebSocket连接测试确认。

5.3 几条独家避坑建议

最后分享几个我在实际运维中总结的小技巧,不一定都写在官方文档里。

第一,升级前先检查是否有“自定义存储过程”或“自定义SQL”。JVS低代码平台在一些特殊场景下允许用户写自定义SQL实现复杂查询,升级后数据库表结构如果有变化,这些自定义SQL很容易报错。建议升级前把自定义SQL全部列出来,逐条核对涉及的字段名、表名是否还有效。

第二,物联网设备的证书认证一定要在测试环境先验证。TLS证书的过期时间、证书链的完整性,任何一个环节出错都会导致设备无法连接。但这类问题不会在平台日志里显眼地提示,只会看到一条“连接被断开”的记录,排查起来比较费时间。我的做法是做一个定时脚本去检查证书剩余有效期,提前预警。

第三,大屏组件不要全用“实时刷新”。在大屏页面挂十几个实时刷新组件,服务器的压力会成倍增加。我的做法是核心监控数据用“主动推送”,图表类数据用“定时刷新”,并把刷新间隔设置到60秒。这样既保证数据新鲜度,又不会把服务器拖垮。

6. 更新体验与后续建议

2.4版本整体用下来,我的判断是:值得升级,但要按节奏来。低代码模块的体验优化是立竿见影的,特别是公式字段、字段级权限和流程会签策略,这几个功能能有效减少开发人员写脚本的时间。物联网模块的改动幅度更大,设备接入层的能力边界明显拓宽了,从只能接MQTT到支持多协议,这意味着更多传统工业设备可以被纳入平台管理。

对于正在评估JVS物联网模块的朋友,我的建议是不要只看功能列表,一定要实际把设备接进来跑一跑。物联网平台的价值不是看它支持多少种协议,而是看协议接入、物模型定义、规则引擎处理、告警通知这条链路是不是能顺畅跑通。设备端可以先用MQTT模拟器测,再用手头真实的开发板或者网关设备验证一遍,确认链路没有兼容性问题再上生产。

升级到2.4后,我们团队已经连续运行了两个多月,整体稳定。中间遇到过的几次小问题都靠前面提到的排查思路解决了,没有出现需要回滚的情况。如果你的环境比较复杂,比如有大量自定义代码、设备种类比较多,建议把升级时间安排在项目空窗期,多留一点测试时间。

我个人在实际操作中的体会是:JVS这个平台,2.4版本算是把低代码和物联网两条产品线真正打通的一个版本。以前要在低代码里看设备数据,要么开发接口,要么手动同步;现在通过物模型和数据模型的映射关系,设备数据可以直接落到业务表单里。这个能力对于做设备运维、环境监测、能耗管理这类系统的团队来说,能省掉不少接口开发的成本。如果你正打算做一套“设备数据+业务流程”一体化的管理系统,这个版本值得认真研究一下。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询