写点什么

工业数据治理范式革新:TDengine 虚拟表技术解析

作者:TDengine
  • 2025-04-16
    北京
  • 本文字数:2725 字

    阅读完需:约 9 分钟

小 T 导读:在工业数字化过程中,数据如何从设备采集顺利“爬坡”到上层应用,一直是个难题。传统“单列模型”虽贴合设备协议,却让上层分析举步维艰。TDengine 用一种更聪明的方法打通了这条数据通路:不强求建模、不手动转换,通过“虚拟表”机制,让数据以业务所需的形式自动呈现。本篇文章将带你深入了解 TDengine 如何搭建 OT 到 IT 的桥梁,真正实现设备数据“即采即用”,让工业应用更简单、更高效。


在工业数字化进程中,设备数据采集多采用“KVQT”单列模型(即测点名、变量值、质量戳、时间戳),这与工控传统协议紧密相关。例如,通过 OPC 设备采集时,底层设备上传的数据多为单列模型,而非多列数据模型。这种模式导致数据采集与上层应用之间存在明显割裂,业务与底层数据难以统一。在后续业务查询中,如 30 列宽表查询展示,在使用 SQL 语句场景下,操作极为复杂,需要多次 join 操作,效率低下。

为解决这一问题,TDengine 推出了一种创新的桥接方式。在工业底层数据采集汇聚到上层时,无需特殊建模,而是直接以单列模型进行采集和存储。待数据到达上层应用后,根据业务需求重新创建虚拟表。通过 IO 点表,使用 SQL 语句,可批量创建虚拟子表,从而大幅降低数据采集、建模处理和查询分析的工作量。

工业数据结构演变的挑战

工业控制系统基于国际标准 IEC 62264-1,采用五层架构模型,用于描述工业自动化系统的功能分层。从底层设备通道 IO 采集,到 MES 系统的多列模型,再到 ERP 系统的多列表格展示,数据组织需求随着层级上升而发生变化。



在 I/O 设备层,数据组织基于模拟信号通道,通过传感器,感知温度、压力等被观测量,并转成模拟信号(4~20mA 或 0-5V),传输至过程监控层的 PLC、DCS 系统。在这些系统中,通过 A/D 转换将模拟信号转换为计算机可识别的数字信号。此时,数据组织仍以 IO 通道为基础。

为了实现调度中心的远程监视与控制,SCADA 系统会采集控制器信号,并与计算机中的图形应用绑定,通过数字驱动动画实现现场仿真。SCADA 系统内部已经封装了与测点变量相关的功能模块,如报表、曲线等,可轻松实现日报、月报、对比曲线展示等功能。部分 SCADA 系统也引入了模型概念,但在对外数据转发时,仍以单列模型为主。

进入生产管理层的 MES/MOM 系统后,数据需求转变为宽表多列模型,需要将工单、批次、工艺信息等进行绑定。然而,由于实时库多为单列模型,而 MES 系统建设通常需要多列模型表格,因此只能选择关系数据库。海量的历史数据则从实时库抽取。为解决多库应用不便的问题,许多 MES 厂商引入了支持宽表的时序数据库,但这又面临采集与转换的难题:如何将从 OT 层的 SCADA、控制器或设备采集的单列数据模型存储为 IT 层 MES 系统所需的多列模型?目前的解决方案多为定制开发,将单列数据映射到预定的多列模型表格中,但这带来了高昂的定制开发成本、后期业务变更成本和维护成本,同时也存在数据断线、过期和乱序数据写入导致的数据完整性问题。

在生产车间中,同一条生产线往往需要生产不同产品和批次,并且需要记录温度、电压、电流等数十个工艺参数。这些参数需要与产品类型、批次进行绑定,以便为后续的质量追溯和工艺分析提供数据基础。然而,在传统方法中,操作人员需要通过关系库查询批次起始时间,从实时库的测点变量中获取数据。这种操作方式不仅复杂,而且后期管理难度较大。如果工厂拥有几万甚至几十万个测点,一旦设计不当,后期的应用和运维难度将呈指数级上升。

对于上层业务而言,底层设备的变动不应与其绑定。以矿山场景为例,当采矿的工作面发生变更时,下位采集点位可能并未发生变化,只是工作面标识发生了改变。如果按照传统方式,为一个新的工作面重新建表,未来可能会导致数据库中出现上亿张点位表,这将对数据库以及上层业务应用带来沉重负担。随着数据库点位的扩增,上层应用需要重新映射点位,这一连串的工作不仅会增加工作强度,还容易出现问题,同时也会给历史数据查询带来极大不便。


OT 到 IT 的桥梁——虚拟表

TDengine 提出“虚拟表”这一创新概念,可自由组合不同测点变量,生成所需的表格式,无需为建模和业务应用过度操心。

具体而言,通过工控协议采集设备数据后,无需提前规划表模型(因为大部分 IoT 数据并无统一的数据组织结构)。数据进入 TDengine 后,可根据业务需求,基于实体表创建虚拟表。虚拟表与物化表在除写入以外的应用场景中几乎没有区别,且在便利性和系统扩展性方面远超传统视图功能。

通过可视化配置,TDengine 能够直接将设备数据采集到数据库中。以 OPC 采集为例,TDengine 的 OPC 采集器具备自动点位更新功能,当 OPC Server 端的点位发生变化且满足 TDengine 的过滤条件时,TDengine 可自动同步更新,无需人工手动干预,从而大幅降低运维沟通成本。对于 OPC DA 协议,由于其自身限制,OPC DA 协议数据无法跨路由器或 VLAN 进行通信,且跨计算机部署时需要降低安全配置并手动配置 DCOM,操作复杂且容易出错。相比之下,TDengine 支持 Agent 部署,可实现远程运维管理,基本不受网络环境限制(单向网闸场景除外),极大地简化了运维流程。此外,TDengine Agent 支持断线续传功能,进一步保障 OPC 数据的完整性和可靠性。

以下是 OPC 自动采集数据的示例:



...

当上位应用需查询不同产品的批次信息及对应工艺参数时,需求是明确的,以上述 3 个测点为例,在 TDengine 的操作如下:

  1. 创建虚拟表:

//创建普通表或者超级表,此处以普通表为例create vtable d1(ts timestamp,batchNo.val,Temp.val,Current.val) 
复制代码


//支持创建时以别名方式,将底层采集数据与上位应用结构相互解耦create vtable d1(ts timestamp,batchNo varchar(64)from batchNo.val,Temp float from Temp.val,Current float from Current.val) 
复制代码
  1. 查询虚拟表并拉齐数据:

select last(*) from d1 interval(1s)fill(prev)
复制代码

查询结果如下:

  1. 查询虚拟表原始数据:

Select * from d1
复制代码

其中时间戳为各原始子表时间戳的汇总,查询结果:


TDengine 通过简单创建虚拟表和 SQL 语句,轻松实现了不同测点之间的关系查询。与传统方式相比,TDengine 无需通过视图构建复杂的JOIN语句,也无需提前设计数据模型,从而避免了前期数据接入和转换的繁琐流程,以及后期修改和维护的不便。借助虚拟表,TDengine 让数据组织变得更加简洁、灵活,为上层业务应用分析提供了强大的数据支持,同时显著提升了运维的便捷性和效率。

结语

凭借卓越的性能和强大的功能,TDengine 成功搭建了 OT 与 IT 场景之间的高效过渡桥梁。未来,业务应用将不再受制于 OT 数据与 IT 业务数据格式的差异,数据整合与应用将更加顺畅。随着业务规模的不断扩大,TDengine 的易用性优势将愈发显著,为企业数字化转型筑牢坚实的数据根基,助力企业迈向智能化、高效化的未来发展之路。


用户头像

TDengine

关注

高性能、分布式、支持SQL的时序数据库 2021-11-04 加入

官网:http://www.taosdata.com GitHub:https://github.com/taosdata/TDengine

评论

发布
暂无评论
工业数据治理范式革新:TDengine虚拟表技术解析_数据库_TDengine_InfoQ写作社区