-->

物联网数据模型

服务器端主要包括查询引擎,用来处理用户的所有请求,并分发到对应的管理组件。

为什么要有物联网数据模型?

物联网数据管理有以下特点和需求:

设备层级管理

物联网设备通常是层次化管理的,如使用“集团-电厂-设备种类-设备号”四层来定位一台物联网设备。

设备组成结构建模

复杂设备可能由多个子系统组成,如一台风力发电机设备由叶片系统、发电机系统组成,叶片系统又包括功率、风速等测点。工业界通常使用嵌套的 BOM 结构对设备组成结构进行描述。

零部件升级替换等动态改变

物联网设备升级、零部件更换频繁,且设备可随时接入,需要一个灵活修改的数据模型。

什么是物联网数据模型?

Apache IoTDB 首次采用树形物联网模型管理时序数据,将设备资产层级和组成结构统一管理。


一个车联网的建模示例如下图右侧所示,左侧为图例。



其主要概念有三个:存储组、设备、物理量、时间序列。
存储组:一组设备,在磁盘上存储在一个目录,不同存储组物理隔离。
设备:一个物理实体,包含一个属性:其物理量是否同时采集,即数据写入时间能否对齐。
物理量(测点、变量、列):在实际场景中检测装置所记录的测量信息。
时间序列:一个设备的一个物理量定位一条时间序列。


模型特征
1.设备信息自然映射:降低理解成本

将设备的属性信息和组成信息映射到一整套树形结构中,将物理世界的设备信息自然映射到信息世界,降低理解成本。

2.适配多样采集模式:节省数据管理成本

IoTDB 是首个融合对齐、非对齐序列模型的时序数据库。针对物理量同时采集的场景,可以用对齐序列模型;针对物理量独立采集的场景,可以用非对齐序列模型。

通过适配不同采集模式,不仅可以减少时间列存储成本,而且能够提升数据读写效率。

3.提供通用设备模版:简化数据信息

部分场景具有大量同类型设备,这些设备的组成结构和物理量命名相同,如下图所示。



为此,IoTDB 提供设备模板功能,对于一批同类型设备,可提前创建树形模板,并挂载到树节点上,此节点下的设备可共享此元数据信息,节省元数据开销。



4.模型易扩展:减少修改成本

树形模型能够方便地增加子节点,不影响原有结构,相比于关系数据库,可大大减少模型扩展成本。用户可动态增加设备和物理量。

5.模型自动创建:无需人工维护

Apache IoTDB 支持端侧定义元数据,元数据可在数据写入时自动创建,无需手动创建元数据。

怎么转换为物联网数据模型?
标签模型

以 InfluxDB 为例的标签数据模型:Measurement,tagkey1=tagv1, tagkey2=tagv2, field1, field2, field3

转化的原则为:measurement - tagv1 - tagv2 - field

如 InfluxDB 的 SQL:insert server,rack=r1,computer=c1,module=cpu temperature=25.8 1

在 IoTDB 中的数据模型为:root.r1.c1.cpu.temperature

在 IoTDB 中对应的 SQL 为:insert into root.r1.c1.cpu(time, temperature) values(1, 25.8)

关系模型

关系模型在一张表中以 Time, tagkey1, tagkey2, tagkey3, field1, field2... 为模型存储时序数据。

与 IoTDB 的物联网数据模型的转换方式与 InfluxDB 类似。

实时库测点模型

以 Pi 系统为例,其管理的测点命名为 a.b.c,在 IoTDB 中可转化为 root.a.b.c。

扫码关注

关注我们

联系我们

Contact Us

* 为必填信息