小 T 导读:酷哞哞与 TDengine 结缘于 2019 年,在其工业互联网设备上云解决方案中,选择了 TDengine 作为数据平台,以满足海量工业数据存储和分析的需求。本篇文章解读了 TDengine 在此方案中的具体应用。
互联网和传统工业的融合将是新一轮制造业发展的制高点,企业数字化转型与工业互联网的发展是重要趋势。我们凭借丰富的行业经验和深度研发,成功研制出一套工业互联网设备上云的整体解决方案。在该方案中,通过主流的 PLC 协议,我们实现了众多设备的互通互联;除此之外,数据存储服务可以解决大量数据存储和分析的难题;应用开发服务则可以利用无代码编程解决用户开发成本高、技术栈复杂、链路长等一系列问题。总而言之,从数据采集,到存储展示、运维监控,再到应用发布等模块,我们完成了工业设备全域一体化的管理方案。
TDengine 作为数据存储平台,解决了我们海量工业数据存储和分析的大难题。
作为一个 OT 数仓类的平台,存储时序数据的数据库最好要满足这几个特点:高吞吐量、低消耗、强写入,满足工业场景的大数据量查询。机缘巧合,在 2019 年,正是我们创业的初期,听到了涛思数据创始人陶建辉老师关于 TDengine 的讲座,一些理念与我们不谋而合。
于是我们没有做过多的选型,直接选择了 TDengine。
一、TDengine 的应用情况
三年过后的今天,我们发现自己的选择十分正确,TDengine 为我们创造了很多价值;而且 TDengine 这个产品本身也是蒸蒸日上,已经成为时序数据库领域的佼佼者。
我们以单副本模式落地了数据库服务,机器配置为 8C 处理器 + 16GB 内存 + 500GB 机械硬盘,备份用其他方式完成。由于我们暂时没有分组聚合查询的需求,所以没有使用超级表。
当前环境下有 3797 张表,总数据量大概有 10 多亿条。实际存储量占用大概为 5G 左右
由于 PLC 通信协议种类繁多,即便有的设备会有部分协议开源,但是开放的只有通讯的方式和协议,所以驱动还是需要自己去实现的。而且一些通讯协议又有很多分支:比如 modbus 协议就包含了 modbusTCP、modbusRTU 以及 modbusASCII。此外,使用 modbus 通讯的不同设备之间,有的支持的功能码和字节序还不同,所以数据采集这里还是比较复杂的。
在数据采集时,我们优先使用 modbus 和其他我们已有的协议驱动接入,如果遇到不支持的协议,那么定制化开发驱动是难免的。在采集到数据后,数据的走向如下:
- 由我们的底层边缘网关系统将设备的数据采集起来后发送给后端 Java 服务。
- Java 服务将收到的数据实时地存放在内存中。
- 由 Java 服务最快 1 秒一次将数据消费,并通过 TDengine 的 insert 语句将数据存放到数据库中。
二、落地效果
对于数据的实际使用,我们通过数据的变量 ID(即表名)查询出变量数据通过 ECharts 图形框架展示在前端页面上,比较常用的查询 SQL 就是降采样查询,全部都是毫秒级返回结果。
后续,我们计划对 TDengine 的使用进行改造,随着设备量和用户需求的多样化,我们会使用 TDengine 的超级表和多副本等更加核心的功能来增强我们产品的能力。
三、写在最后
中国制造业总体水平处于 2.0 向 3.0 过渡的阶段,老旧设备多,数字化水平低。
工业互联网的设备数字化率正走在逐年创新高的路上,工业互联网的市场规模也正在井喷式发展,增长率喜人。因此,随着国家的产业政策逐渐落地,我们有信心和 TDengine 一起,把握时代给予的机会,一起为中国工业的信息化、自动化和智能化做出我们的贡献。
关于作者
冷艳霞,酷哞哞科技创始人。四川酷哞哞科技有限公司是一家集工业大数据采集、云平台于一体的新型科技公司。致力于为各大中小型制造企业服务,切实为企业解决痛点、难点,实现企业由自动化工厂向数字化工厂转型,最终实现智能化。
想了解更多 TDengine 的具体细节,欢迎大家在GitHub上查看相关源代码。