关于tdengine:TDengine-在-TCL-空调能源管理平台的实践

3次阅读

共计 2143 个字符,预计需要花费 6 分钟才能阅读完成。

作者:许海军

小 T 导读:格创东智科技有限公司成立于 2018 年,孵化于中国 500 强企业 TCL,是我国出名的工业互联网平台服务商。公司依靠 TCL 团体 40 年工业场景和制作基因积淀,基于“面向工业现场”的研发方向和“连贯、协同、共享”的倒退理念,深度交融人工智能、大数据、云计算、物联网等前沿技术,为智能工厂和制造业园区打造的数字化能源管理计划,可广泛应用于多个垂直行业,运行监控、能效治理、智能剖析、运维治理、能源洽购、碳排放治理等数十个功能模块,实现欠缺的能源管理价值闭环,建设数字化能源 & 碳计量体系,智慧化用能及碳管理系统,打造涵盖企业碳追踪、碳计量、碳治理、碳中和的一站式解决方案。

TCL 空调能源管理平台对工厂电、水、天然气、油等指标进行实时采集、动静监测,并以工夫维度、厂家、车间、生产线类型、生产线、设施等维度进行剖析、节能计量、计费、成本核算、进行行业对标、生成剖析报告等,实现企业能源精细化治理,促成节能降耗;实时监控用户的用能平安数据,及时向平安管理人员发送报警信息,领导其发展隐患治理,为帮忙企业施行用能平安及能源管理提供信息化服务。

G-Things 是咱们的利用智能平台产品家族的物联网平台,咱们先来看一下在该平台上的数据流转状况。

工业设施会将数据上报到平台数据接入网关,而后接入网关负责解析报文,并过滤掉非法数据报文,之后再将数据下发到 Apache Kafka 消息中间件,由平台实时处理、长久化服务进行生产,长久化服务会把最新数据写入 Redis,并将数据长久化到时序数据库。对于平台存储架构,设计上反对 OpenTSDB、ClickHouse、TDengine 等时序数据库切换,咱们要依据我的项目理论状况来选型。

一、存储计划选型

咱们看一下能源行业数据的个性:

  • 数据的时序性 :设施源源不断地产生数据,这些数据会带着工夫戳上报到平台
  • 数据流量稳固 :上报频率比较稳定,采集频率在 30 秒一次
  • 数据是数值类型 :是一些应用累计量、电流、电流、压力之类的数据
  • 数据不存在变更 :数据是记录某一时刻的采集表记数据,上报无需更新或删除;
  • 数据的聚合及剖析基于工夫维度、空间维度 :工夫维度有年、月、周、日、时,最短 15 分钟统计一次,空间维度有厂家、车间、生产线类型、生产线、设施等
  • 数据量大 :按一个工厂 4 万表记计算,每 30 秒钟一笔数据,一天采集的数据会超过 1 亿条

基于能源行业的数据个性,咱们要在平台反对的 OpenTSDB、ClickHouse 和 TDengine 这 3 个时序数据库存储引擎中作出抉择。上面是一个比照:

  • OpenTSDB:依赖 HBase、HDFS 和 ZooKeeper 等组件,硬件资源要求高、老本高,在查问时间跨度较大时,性能骤降,另外对聚合剖析查问反对不好。
  • ClickHouse:在数据存储、跨时间段查问及数据聚合剖析查问等方面,都满足咱们的所有选型要求,然而运维老本太高,扩大过于简单,应用的资源较多。
  • TDengine:在数据存储、数据分析查问等方面都满足咱们的需要,并且集群版也开源了,反对横向扩大,占用资源少,在客户无限的资源条件下,是存储引擎最优的抉择。

通过以上比照,咱们抉择了将 TDengine 作为本人的存储引擎。

二、TDengine 数据库建模

TDengine 有两个很独特的翻新,一个是“一个数据采集点一张表”,一个是“超级表”。所以在设计数据模型时,就要思考业务模型怎么映射到超级表和具体的表。

先来看超级表。
依据 TDengine 数据库的个性,咱们将电表、水表、石油气表、氧气表,对每个类型的数据采集点创立一个超级表。以创立电表为例:

再来看一般表。
每个数据采集点须要独立建表。与规范的关系型数据库一样,一张表有表名,Schema,但除此之外,还能够带有一到多个标签。

三、理论利用总结

我的项目上线半年以来,始终安稳运行。

在 TCL 空调能源管理我的项目中,咱们应用的硬件资源显著缩小,同选用 ClickHouse 集群作为存储的 TCL 电子工业物联网平台比照,两个我的项目的数据规模差不多,TCL 空调能源管理我的项目数据库服务器缩小了一半。

咱们以组态视图的形式实现了各零碎经营参数可视化监控与实时查问,实现了残缺的能源数字化治理解决方案,进步了经营管理决策的效率。 通过电、水、石油、天然气应用剖析,对工厂能源构造优化和节能降耗,实现降能耗 5% 左右,预计每年为 TCL 空调实现降本收益上千万元。

在应用 TDengine 的过程中,咱们也总结出一些教训。

比方,TDengine 提供最初一条记录的缓存,通过 last_row 函数能够疾速获取实时数据。平台在应用 TDengine 之前,用 Redis 来缓存最新的一笔数据,而大量的写入 Redis 对性能会有肯定的影响,当初用 TDengine cache 代替 redis 缓存,能够完满解决这个问题。

另外,在应用过程中,TDengine 的技术专家也提供了很多反对。TDengine 有本人的技术交换微信群,十分沉闷,很多技术问题都有涛思数据的专家亲自回答,响应十分疾速。

作者简介:

许海军,目前负责 TCL AIoT 平台整体技术架构开发,次要从事工业互联网、大数据系统开发,曾参加广东示范级工业互联网平台建设等工作。


想理解更多 TDengine 的具体细节,欢送大家在 GitHub 上查看相干源代码。

正文完
 0