Skip to content

批量计算

适用版本:DASS5(当前版本)
前提:已登录 DASSConsole

【说明】:计算模型用于编写算法,仅支持 lua 脚本。系统会根据计算模型的执行周期和运行耗时自动分组,使算法效果最优、资源浪费最小。

执行规律:

  • 模型组之间:计算任务并行执行;
  • 同一组内的计算模型之间:计算任务串行执行,并按优先级顺序依次执行,以保证重要计算模型优先处理。

【入口】:边缘计算 → 批量计算

页面分两部分:计算组管理(新增 / 查询 / 删除)与计算模型管理(新增 / 查询 / 编辑 / 启用 / 禁用 / 删除)。

功能概述

批量计算在计算组下挂计算模型:计算模型用 Lua 脚本编写算法,系统根据模型的执行周期与运行耗时自动分组,使算法效果最优、资源浪费最小。

执行规律:

  • 组与组之间:并行执行;
  • 同一组内的模型之间:串行执行,并按优先级依次执行(数值越小优先级越高),保证重要模型优先处理。

核心价值:适合成批的、跨多测点带逻辑分支的计算(而单点计算只适合一条表达式)。

使用场景

  • 计算逻辑含条件分支 / 循环 / 状态机,一条表达式表达不了;
  • 需要对一批同构测点套用同一套算法;
  • 需要按优先级调度、避免低优先级算法抢占资源。

前置条件

  • 已登录;源测点已存在
  • 具备 Lua 脚本编写能力(计算模型仅支持 lua);
  • 明确每个模型的执行周期(ms)优先级
  • 已规划计算组(同组模型串行,会相互影响执行时机)。

计算组管理

新增计算组

【说明】:新建计算组。

【操作】:

步骤1. 点击【边缘计算】下的【批量计算】菜单,再点击新建计算组的图标。

新建计算组

步骤2. 填写计算组名称(该名称唯一),填写完点击【确定】按钮。

填写计算组名称

查询计算组

【说明】:查询当前列表中存在的计算组。

【操作】:在输入框中输入查询关键字即可。

查询计算组

删除计算组

【说明】:删除不再使用的计算组。

【警告】删除计算组会连带其下的计算模型,请先确认组内模型已无用。

【操作】:选中要删除的计算组,点击【删除】按钮,在二次确认弹框中点击【确定】即可。

选中计算组
点击删除
删除结果

计算模型管理

新增计算模型

【说明】:新建计算模型。

【操作】:

步骤1. 选择列表中的一个计算组,在该计算组下点击【新增】按钮,即可创建新的计算模型。

点击新增

步骤2. 填写计算模型的基本信息,填写完点击【保存】。

配置项说明
优先级计算组中的计算模型按串行方式执行,即按优先级顺序执行。数值越小优先级越高,示例 1
计算周期单位为 ms,示例 1000ms
计算脚本仅支持 lua 脚本

填写模型信息
模型配置

查询计算模型

【说明】:查询当前列表中存在的计算模型。

【操作】:在输入框中输入查询关键字,即可看到对应计算组下的计算模型。

查询计算模型

编辑计算模型

【说明】:编辑计算模型的基本信息,只有模型的输出可编辑

【操作】:选中要编辑的计算模型,点击【编辑】按钮即可编辑,编辑后点击【保存】。

点击编辑
编辑模型

启用计算模型

【说明】:启用后,该计算模型会按优先级顺序执行。

【操作】:点击【启用】图标即可。

点击启用
启用结果

禁用计算模型

【说明】:禁用后,该计算模型不会执行任何算法任务。

【操作】:点击【禁用】图标即可。

点击禁用
禁用结果

删除计算模型

【说明】:删除不再使用的计算模型。

【警告】删除不可恢复,请确认该模型已无其它模型或计算点依赖。

【操作】:选中要删除的计算模型,选择该计算模型归属的计算组,点击计算组,再点击【删除】按钮,在二次确认弹框中点击【确定】即可。

选中模型
点击删除
删除结果

参数说明

层级配置项说明
计算组组名称等用于归类计算模型;同组模型串行执行
计算模型优先级数值越小优先级越高,示例 1
计算周期单位 ms,示例 1000ms
计算脚本仅支持 lua 脚本
启用 / 禁用控制模型是否参与调度

注意事项

允许:计算组的增删查;计算模型的增删改查、启用 / 禁用。

禁止 / 需谨慎

  • ⚠️ 注意 分组是系统自动完成的(按执行周期与耗时),不需要也不建议手动编排分组;
  • ⚠️ 警告 模型启用即开始执行:脚本有错或耗时长会拖慢同组其他模型;
    改脚本的推荐姿势是 先禁用 → 改 → 再启用
  • ⚠️ 注意 同组内按优先级串行,优先级设置不当会让重要模型排队等待;
  • ⚠️ 注意 计算周期设得过小(如远小于实际执行耗时)会造成任务堆积。

示例

新增一个每秒执行的计算模型:

  1. 「边缘计算 → 批量计算」→ 在左侧选择(或先新增)一个计算组
  2. 在该组下点【新增】;
  3. 填写:优先级 1计算周期 1000ms计算脚本(lua,引用已有测点做运算;函数与语法同「单点计算」,见附录《计算函数》);
  4. 点击【保存】;
  5. 验证:在模型列表确认已保存且处于启用状态,观察目标测点的更新值与更新时间是否按周期变化。

常见问题及解决方法

现象原因处置
模型启用了但结果不更新周期未到 / 脚本报错 / 源点无数据先看源点是否在更新,再查脚本
改了脚本不生效运行中的模型未重新加载禁用 → 修改 → 再启用
某个模型一直执行不完脚本死循环或耗时过长禁用该模型后修正;注意同组模型会被它阻塞
计算影响采集实时性周期过小 / 模型过多调大周期、合并逻辑、清理无用模型

相关命令/接口

见**《DASS5 接口与二次开发手册》** → 「4.5 采集测点」(含计算点接口)。

安全声明

⚠️ 警告 批量计算与采集服务共用设备算力:算法过重会直接影响采集的实时性与稳定性,上线前请在测试环境评估负载。