eKuiper 1.8.0,提升规则自治能力与原生分析能力、支持视频流接入处理
11 月, eKuiper 团队转入 1.8.0 版本的开发周期之中,目前已完成了一部分实用的新功能:添加了视频流 source,将边缘流式处理能力扩展到视频流领域,可以处理摄像头的视频流或者网络中的直播视频流;发布了通用的 tfLite 函数,用户只需上传训练好的 Tensor Flow Lite 模型,无需额外编写插件或代码即可在 eKuiper SQL 中调用模型进行流数据的 AI 推断,进一步简化了 AI/ML 处理的难度;针对边缘环境运维不便的特点进一步优化了规则自动化运维的能力,为规则添加了自动重启策略的配置,Portable 插件添加了热更新功能;继续完善了有状态分析函数的支持,增加 WHEN 子句进行按条件计算。
规则自动化运维
部署在边缘端的规则运维相对困难。而边缘端的部署数量通常较大,手工重启规则或重启 eKuiper 也会成为较为繁琐的工作。新的版本中,我们增强了规则的自治和自适应能力。
规则自动重启策略
规则因各种原因出现异常时可能会停止运行,其中有些错误是可恢复的。新的版本中,eKuiper 提供了可配置的规则自动重启功能,使得规则失败后可以自动重试从而从可恢复的错误中恢复运行。
用户可配置全局的规则重启策略,也可以针对每个规则配置单独的重启策略。规则重启配置的选项包括:
重试次数
重试间隔
重试间隔系数,即重试失败后重试时间增加的倍数
最大重试间隔
随机重试延迟,防止多个规则总是在同一个时间点重试,造成拥塞
通过配置重试,可以在出现偶发错误时自动恢复,减少人工运维的需要。
Portable 插件热更新
相比原生插件,Portable 插件更加容易打包和部署,因此也有更多的更新需求。之前的版本中,Portable 插件更新后无法立即生效,需要手动重启使用插件的规则或者重启 eKuiper。新的版本中,插件更新后,使用插件的规则可无缝切换到新的插件实现中,减少运维工作。
增强分析能力
新的版本继续加强了有状态分析函数的能力,同时提供了通用的 AI 分析函数,提升了产品原生的分析能力。
通用 AI 函数
我们提供了 Tensor Flow Lite 函数插件,用于在流式计算中进行实时 AI 推理。这个函数为通用的 AI 函数,可用于处理大部分已预训练好的 Tensor Flow Lite 模型。使用中,用户只需上传或提前部署好需要使用到的模型,无需额外编码即可在规则中使用这些模型。
tfLite 函数接收两个参数,其中第一个参数为模型(扩展名须为 .tflite)的名称,第二个参数为模型的输入。在以下两个例子中,tfLite 函数分别调用 sin_model.tflite 模型和 fizz_buzz_model
.tflite 模型针对数据流中的 data 字段进行实时 AI 计算。
SELECT tfLite(\"sin_model\", data) as result FROM demoModel SELECT tfLite(\"fizz_buzz_model\", data) as result FROM demoModel
函数会在 eKuiper 层面针对输入数据格式进行验证。用户可以通过更多的 SQL 语句对模型的输入和输出做预处理或者后处理。
有条件分析函数
分析函数添加了 WHEN 条件判断子句,根据是否满足条件来确定当前事件是否为有效事件。 当为有效事件时,根据分析函数语意计算结果并更新状态。当为无效事件时,忽略事件值,复用保存的状态值。完整的分析函数语法为:
AnalyticFuncName(<arguments>...) OVER ([PARTITION BY <partition key>] [WHEN <Expression>])
增加了 WHEN 子句之后,分析函数可以实现更加复杂的有状态分析。例如,计算状态的持续时间:
SELECT lag(StatusDesc) as status, StartTime - lag(StartTime) OVER (WHEN had_changed(true, StatusCode)), EquipCode FROM demo WHERE had_changed(true, StatusCode)
其中,lag(StartTime) OVER (WHEN had_changed(true, StatusCode))
将返回上次状态变化时的时间。因此,使用当前时间减去该时间可实时计算出状态的持续时间。
连接生态
eKuiper 可以处理二进制图像数据,但是此前的测试中,图像都是经由 MQTT、HTTP 等偏向文本数据传输的协议来发送。新版本提供了视频流源,增加了一种新的二进制数据源。同时,我们也继续适配新版本的 EdgeX。
视频流源
视频源用于接入视频流,例如来自摄像头的视频或者直播视频流。视频流源定期采集视频流中的帧,作为二进制流接入 eKuiper 中进行处理。
通过视频源接入的数据,可以使用已有的 SQL 功能,例如 AI 推理函数功能等,转换成数据进行计算或输出为新的二进制图像等。
EdgeX Levski 适配
eKuiper 1.7.1 及之后的版本适配了 EdgeX Levski 版本。同时,eKuiper EdgeX source 增加了 EdgeX 新增的 Nats 总线的支持。
产品新面貌
发布流程优化
11月我们优化了产品版本发布的流程。通过优化持续集成的基础设施,我们加快了版本发布的节奏,对于已完成的功能实现尽早交付,方便用户试用和反馈。
例如,11月已完成的 v1.8.0 功能已发布在 1.8.0-alpha.2 版本中,用户可通过 Docker 或 Github 页面进行下载试用。
持续集成同样应用在 1.7.x 版本中,根据用户反馈,我们在11月发布了 3 个 fixpack,修复了一些问题,目前最新的版本为 v1.7.3.
Logo 更新
eKuiper 的产品 Logo 于11月正式更新。新的 logo 更具动感,多段线条构成的向上不断流动的形象,与 eKuiper 作为运行在边缘端的轻量级物联网数据分析和流处理引擎的产品定位更加吻合。新 Logo 整体呈现出向上流动的动态,代表着 eKuiper 可将海量物联网数据从边缘实时移动到云端的能力,也彰显了无限变化和拥抱万物的概念,正如 eKuiper 所具备的灵活敏捷的集成能力,可在各类边缘计算框架上快速集成搭建边缘侧的流式数据解决方案。
即将到来
12月我们将继续进行 1.8.0 版本的开发,主要包括更高性能的静态 Schema 支持以及 Flow Editor 的推进。敬请期待。
版权声明: 本文为 EMQ 原创,转载请注明出处。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
.NET 知名框架 Furion 的定位,v4.8.3 版本发布
.NET 要在国内真正发展起来,必须得有一些追逐梦想的人在做着不计付出的事情,而我希望自己能贡献一份微薄之力。 项目信息 文档地址:https://furion.baiqian.ltd/ 仓库地址:https://gitee.com/dotnetchina/Furion Nuget地址:https://www.nuget.org/profiles/monk.soul 发展事记 2022年 12 月 07 日,Furion 框架在 Nuget 平台总下载突破 500万,比上一次破 400万仅仅用了一个月08天。https://www.nuget.org/profiles/monk.soul 2020 年 2020 年 09 月 01 日,Fur正式写下第一行代码。 2021 年 2021 年 08 月 21 日,Furion在Nuget平台突破100万下载量。 2022 年 2022 年 05 月 28 日,Furion在Nuget平台突破200万下载量。 2022 年 08 月 18 日,Furion在Nuget平台突破300万下载量。 2022 年 10 月 29 日,Furi...
- 下一篇
BudWk 8.0.0 发布,Java 微服务分布式开发框架
项目介绍 BudWk 原名 NutzWk ,是基于国产框架 nutzboot 开发的开源 Java企业级Web开发框架,拥有近十年的开源历史,积累了一大批企业和个人用户,历经V1-V8数次迭代。 V8 在 V7具备的API网关、组件库、认证中心、控制中心等功能基础上,进一步对前后端功能进行升级改造、提升用户体验,同时大大减轻开发工作量,提升开发效率,为产品升级迭代提供极大便利。 框架同时提供微服务单应用及微服务分布式版本供选择,后台集权限体系、系统参数、数据字典、账户安全、行政区划、站内消息、定时任务、CMS、微信等最常用功能,使其具有上手容易、开发便捷、扩展灵活等特性,特别适合各类大中小型定制化项目需求。 演示地址: https://demo.budwk.com 开发指南: https://budwk.com 🎉 本版说明(BudWk v8.x) 功能特点 使用一套注解实现 OpenAPI3 在线文档的自动生成,同时实现表单参数验证功能,一举多得,减少开发量 统一异常拦截处理,业务逻辑判断抛出异常即可被捕获友好输出错误,无需一堆 if else 判断 一套控制类日志注解,轻松记录操...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- 2048小游戏-低调大师作品
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,CentOS7官方镜像安装Oracle11G