当前位置: 首页 > news >正文

TDengine IDMP 基本功能(4. 实时分析)

在这里插入图片描述

实时分析

对于物联网、工业场景,实时分析 (Real Time Analysis) 极为重要。IDMP 容许您对每个元素进行实时分析,既可以对一个具体的设备的运行状态进行实时分析,也可以对整个集团的运营指标进行实时分析,以满足不同层次的分析需求。IDMP 的实时分析是完全建筑在 TDengine TSDB-Enterprise 的流式计算基础上的,但通过图形界面进行配置,以降低使用门槛。

实时分析是在 TDengine TSDB-Enterprise 上背景运行的,分析可以产生新的数据,写入到 TSDB,也可以产生事件,IDMP 将通知相关的负责人。创建的分析可以停止,也可以重启。分析本质上就是根据业务的需求,执行一条 SQL 查询语句,查询结果就是分析结果。对于实时分析而言,不是依赖手动执行 SQL 查询,而是依赖定义好的触发方式,自动执行 SQL 查询。TDengine 将触发方式与分析(计算)本身完全解耦分离,让分析具有足够的灵活性。下面对实时分析的创建做较为详细的介绍。

分析的基本配置

创建分析时,您可以配置分析的名字、类别、描述信息,还可以配置是否立即启动,是否对乱序数据进行重新计算。

触发方式

TDengine 提供多种实时分析的触发方式 (Trigger),除周期窗口之外,所有的触发都依赖于元素的属性。这些属性的数据引用必须是 TDengine Metric 类型。也就是说如果属性不是 TDengine Metric 类型,它无法触发周期窗口之外的任何实时分析。TDengine 支持如下触发方式:

  1. 滑动窗口 (Sliding Window):基于采集数据的事件时间,每隔固定的时长进行分析,您可以设置滑动时长。
  2. 周期窗口 (Periodic Time Window):基于 TDengine 的系统时间 (Wall Clock),每隔固定的周期进行分析,您可以设置周期的时长。但您还可以设置偏移的时间量,就是周期结束时,不马上启动分析,而是过设定的偏移量后启动分析。比如要生成日报,周期是一天,但时间偏移是 2 个小时,那么分析就会在 2:00am 启动。周期窗口与其他系统常见的定时分析任务没有区别。
  3. 数据输入 (Data Input):当元素的属性新的数据写入时,触发分析计算。您可以指定具体哪个属性有新的数据写入时触发。
  4. 状态窗口 (State Window):当元素的某个属性的值发生改变时触发分析计算。这个属性的数据类型必须是整型。
  5. 事件窗口 (Event Window):您需要指定事件开始的触发条件以及事件结束的触发条件。触发条件就是一元素属性的计算表达式。计算表达式结果大于 0,表示条件满足,如果小于 0,表示不满足。对于事件开始的触发条件,为防止数据异常抖动,您还可以设置条件满足的持续时长。如果条件满足,但条件满足的持续时长短于指定的持续时长,事件不会触发。
  6. 计数窗口 (Count Window):一个元素的属性在数据库里新增的记录条数达到指定的数字时,触发分析计算。您可以指定具体的属性名,否则这个计数包含所有属性新增的记录条数。
  7. 会话窗口 (Session Window):当一个元素所有属性没有新增的数据持续一段时间后,触发分析计算。

生成事件

当分析计算触发后,您可以设置是否生成事件 (Event)。如果设置生成事件,您可以设置是否需要确认,设置事件的严重程度。关于事件本身的更多介绍,将在事件管理里进行介绍。

具体的分析计算

当触发条件满足后,TDengine 将会启动分析计算 (Calculation)。IDMP 让您指定被计算分析的对象,是否进行时间窗口的聚合,输出结果的时间戳,输出结果的表达式和存储的位置。

计算分析的对象 (Calculation on)

分析计算可以是针对元素本身的属性进行的计算,也可以是针对该元素的子元素进行的聚合计算。当选择子元素聚合时,需要选择子元素模板,还可以设置子元素过滤条件,这个设计主要是便于做子元素采集量的统计分析。

时间窗口聚合 (Rollup on Window)

分析计算可以对一个时间窗口的数据进行聚合。这个窗口的开始、结束时间需要指定。具体进行的聚合计算在结果输出的表达式里指定。

对于周期窗口、事件窗口、状态窗口、会话窗口、计数窗口,他们自身已经定义了窗口,开始时间是 Window Start,结束时间是 Window End。在这个窗口基础上,您还可以指定时间偏移量,便于您个性化自己的窗口设置。

对于滑动窗口,您可以指定 interval。如果窗口结束、启动分析的时间是 T, 那么窗口就是从 T - interval 到 T。

输出结果的时间戳 (Output Timestamp)

对于分析计算结果,需要生成一个时间戳。时间戳怎么生成,可以在这里指定。

对于数据输入、滑动窗口触发类型,计算分析的触发时间就是结果的时间戳,但您还可以指定一个偏移量。

对于其他触发类型,都是窗口触发的,窗口的开始或结束时间可以指定为时间戳,但您还可以指定一个偏移量。

输出属性 (Output Attributes)

计算分析的结果需要保存到元素的属性里,如果创建了事件,计算结果还可以保存到事件的属性里。

点击+,您就可以创建一条新的分析计算。对同一个触发,您可以创建多个分析计算。

点击表达式,您就可以构建您想要做的计算。点击元素属性,您可以决定把结果保存到哪个属性,也可以立即创建新的属性来保存。如果生成事件,您可以点击事件属性,将结果保存到事件属性。

其他

当计算是针对子元素进行时,计算是将符合条件的子元素进行聚合计算。这时有如下两种场景:

  1. 没有选择时间窗口聚合,这个时候是取触发时刻,符合条件的子元素的断面数据的聚合。比如获得某一时刻所有风机的最大发电功率,平均发电功率等。
  2. 选择了时间窗口聚合,这个时候是符合条件的子元素在同一时间窗口的数据聚合。比如获得过去十分钟所有风机的平均发电功率。
    实时分析本身是在 TDengine TSDB-Enterprise 流式计算引擎里进行的,因此它并不消耗 IDMP 的计算资源,但您通过 IDMP 对它进行配置和管理。

关于 TDengine

TDengine 是一款专为物联网、工业互联网等场景设计并优化的大数据平台,其核心模块是高性能、集群开源、云原生、极简的时序数据库。

它能安全高效地将大量设备每天产生的高达 TB 甚至 PB 级的数据进行汇聚、存储、分析和分发,并提供 AI 智能体对数据进行预测与异常检测,提供实时的商业洞察。

http://www.lryc.cn/news/619950.html

相关文章:

  • 【金仓数据库产品体验官】_从实践看金仓数据库与 MySQL 的兼容性
  • Java开发主流框架搭配详解及学习路线指南
  • Pytest项目_day14(参数化、数据驱动)
  • VR中image或者文字一直浮现在眼前
  • Flutter 多模块 + 组件化架构设计实践
  • 使用HtmlAgilityPack+PuppeteerSharp+iText7抓取Selenium帮助文档
  • PCIE 配置空间 拓展能力 定义
  • mac环境下安装git并配置密钥等
  • 20250813测试开发岗(凉)面
  • 19. 重载的方法能否根据返回值类型进行区分
  • 完整源码+技术文档!基于Hadoop+Spark的鲍鱼生理特征大数据分析系统免费分享
  • Java Spring框架最新版本及发展史详解(截至2025年8月)-优雅草卓伊凡
  • 【C#】利用数组实现大数数据结构
  • 云电竞盒子对游戏性能有影响吗?
  • 《Python学习之基础语法1:从零开始的编程之旅》
  • 向量相似度计算与Softmax概率分布对比
  • 2025盛夏AI热浪:八大技术浪潮重构数字未来
  • String里常用的方法
  • el-table合并相同名称的列
  • java中在多线程的情况下安全的修改list
  • 基于C#、.net、asp.net的心理健康咨询系统设计与实现/心理辅导系统设计与实现
  • LCP 17. 速算机器人
  • 老生常谈智能指针:《More Effective C++》的条款28
  • Linux 服务:动态主机配置协议(DHCP)实战指南 —— 服务器部署与跨网段配置
  • 4.0 vue3简介
  • DAY 44 预训练模型
  • SQL 核心操作全解析:从基础查询到关联关系实战
  • 18. parseInt 的参数有几个
  • 多语言文本 AI 情感分析 API 数据接口
  • Python解包技巧全解析