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

TDengine IDMP 产品基本概念

在这里插入图片描述

基本概念

元素 (Element)

IDMP 通过树状层次结构来组织数据,树状结构里的每个节点被称之为元素 (Element)。元素是一个物理的或逻辑的实体。它可以是具体的物理设备(比如一台汽车),物理设备的一个子系统(比如一台汽车的刹车),甚至到一个传感器。它也可以是逻辑的,比如一座工厂、一个集团、一个城市等。

每个元素都有自己的通用描述信息、属性、实时分析、面板、通知等。因为是用树来描述元素之间的关系,因此一个元素还会有父元素和子元素。一个元素可以有 0 到多个子元素、0 到多个父元素,0 到多个属性、0 到多个分析、0 到多个面板、0 到多个看板、一个通知模板。

子元素、父元素 (Child Element/Parent Element)

一个元素可以有 0 到多个子元素。比如一台发电的风机有风轮系统、传动系统、发电系统、偏航系统、控制系统、塔架与基础系统,以及辅助系统。风机的这些系统都是风机的子元素。子元素还可以有子元素,比如风机的发电系统还有发电机、变频器等子元素。一个风力发电厂拥有多台风机,这些风机又都是风力发电厂这个元素的子元素。

除了根节点的元素之外,元素都有父元素。比如风力发电厂是风机的父元素,而风机又是发电系统的父元素。由于元素还可以定义引用,一个元素可以有一到多个父元素。元素引用在高级话题上将被介绍。

属性 (Attribute)

一个元素拥有 0 到多个属性。这些属性可以是配置项、静态标签值,也可以是动态的时序数据,还可以是分析产生的结果数据。在 IDMP 的设计里,一个元素属性的具体值可以直接保存在 IDMP 系统里,也可以通过数据引用不保存在 IDMP 里,而是动态地获得。

对于指标类的属性,用户可以设置极限值、目标值,可以设置显示的物理单位,存储的物理单位,显示的小数点位数,设置它的预测配置。

实时分析 (Analysis)

一个元素有 0 到多个实时分析。实时分析是完全基于 TDengine 的流式计算实现的。流式计算的触发方式包括滑动窗口、事件窗口、状态窗口、计数窗口以及会话窗口,而且一个新写入的数据点也可以触发计算。这些触发是基于该元素的一个或多个属性,并且必须配置为数据引用,类型为 TDengine Metric。具体的计算可以是表达式、时间窗口的聚合计算,或多个元素的聚合计算。计算结果可以写入到元素的一个属性保存起来,还可以产生事件。

事件 (Event)

任何一个元素都有关联的事件,事件是由该元素的分析生成的。事件有开始和结束时间,还包含用户想记录的属性值或流式计算生成的计算结果,便于做事件的分析。事件可以指定严重程度,可以指定是否需要确认。根据通知模板的配置,基于严重程度,还可以发送消息给相应的负责人。

面板、看板 (Panel/Dashboard)

一个元素都可以有 0 到多个看板,一个看板里有一到多个 Panel (面板)。面板也可以独立于看板存在。每个面板是基于一个元素或它的子元素的属性的可视化,包括趋势图 (Trend Chart)、柱状图 (Bar Chart)、饼图 (Pie Chart)、报表 (Table)、统计量 (Stat)、仪表盘 (Gauge)、富文本 (Rich Text) 等。

通知规则 (Notification Rule)

对于事件,可以发送通知提醒用户。通知的内容可以定制,包含用户想包含的任何内容。对于一个元素,通知模板只有一个。但对于不同的事件类型,可以指定发送通知的严重级别。

元素模版 (Element Template)

真实世界里,同一类型的设备或实体有多个,它们有同样的属性、需要做同样的分析、建同样的看板、面板,因此 IDMP 引入元素模板。对于同一类型的元素,先创建模板,然后基于模板再创建具体的元素,这样便于数据的标准化,并且能大幅提高配置的效率。元素模板里包含了属性模板、分析模板、面板模板、看板模板以及通知规则模板。

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

相关文章:

  • 使用 Visual Studio 2022 编译 PortAudio 项目
  • occworld(1):论文解读
  • Ghost备份分区设置分包大小方法
  • 任务发布悬赏查询管理地推抖音快手微信任务赚佣金网站源码功能详解二开
  • 谷歌警告云存储桶劫持攻击
  • 让大模型 “睡觉”:把版本迭代当作人类睡眠来设计(附可直接改造的训练作息表与代码)
  • n沟道增强型mos管
  • B.10.01.6-DDD领域驱动设计:从理论到落地的完整指南
  • Typora上传图片保存到assets目录下
  • 第十四届蓝桥杯青少年组省赛 编程题真题题解
  • stm32项目(24)——基于STM32的汽车CAN通信系统
  • WinForm 复合控件(用户控件):创建与使用指南
  • 深入 FastMCP 源码:认识 tool()、resource() 和 prompt() 装饰器
  • sqli-labs通关笔记-第39关 GET数值型堆叠注入(手工注入+脚本注入两种方法)
  • 数据分析框架从 “工具堆砌” 转向 “智能协同”
  • 大语言模型提示工程与应用:提示工程-提升模型准确性与减少偏见的方法
  • node.js 零基础入门
  • 学习嵌入式第二十四天
  • Kotlin 协程线程切换机制详解
  • M8-11 RFID模块通过RS485转Profinet网关与PLC通信的配置指南
  • 安装NodeJS和TypeScript简要指南
  • 虚拟机远程连接报错解决办法
  • 「iOS」————分类与扩展
  • 书生浦语第五期-L1G4-InternLM 论文分类微调实践(XTuner 版)
  • 代码随想录day60图论10
  • 快速使用selenium+java案例
  • Nginx 性能优化与动态内容处理
  • TOMCAT笔记
  • 七、《Serverless架构:按毫秒计费的成本革命》--从新浪AI推理平台50%效能提升看无服务器本质
  • 前端如何安全存储 API 密钥 —— 两种实用方案