资讯详情

TDengine 在中节能风力发电运维系统中的落地实践

作者:潘文彪

中国节能环保集团有限公司控股的现代股份制公司中节能风电有限公司(以下简称节能风电、股票代码:601016)。公司成功中标,示范建设全国首个百万千瓦风电基地启动项目—河北张北单晶河 200 甘肃玉门昌马 200 兆瓦风电特许权项目是中国首个百万千瓦、千万千瓦风电基地的示范者和领导者,在行业内树立了较高的知名度和良好的品牌形象。在建工程安装规模 547.97 千瓦已发展成为张北坝上地区和甘肃河西走廊地区最大的风电开发商之一,是我国风电领域的重要力量。

https://github.com/taosdata/TDengine

一、项目背景

公司作为节能集团在风电领域的专业公司和核心上市平台,具有成熟的风电开发和运维经验,但随着在建风场的逐步增加和各种新传感器的安装,传统的运维方式越来越困难,对数字智能的需求越来越强烈,因此迫切需要基于大量时间数据的数据平台来支持复杂的运维工作。

因此,我们做了大量的时间序列数据研究。然而,选择工作并非一帆风顺。起初,我们尝试了传统的工业控制时间序列数据库,但随着测量点数量的增加,单机架构无法支持,我们在后期也尝试了 InfluxDB 和 OpenTSDB 时序数据库等分布式架构,但性能不符合要求。

巧合的是,我们注意到了一个国内和开源的时序数据库 TDengine,所以我也试过。

二、TDengine 选型测试

我们对我们关注的查询性能进行了以下测试。

1. 单测点历史数据聚合查询

随机选择任何测点,在某一时间段查询测点采集值 count,max,min,avg;比如从 2020-01-01 00:00:00.000 到 2020-02-01 00:00:00.000 的 31 天内的共 535680 条数据记录的 count,max,min,avg。具体查询句为:

select count(*),max(col117),min(col117),avg(col117) from t_QH01 where ts>='2021-08-15 00:00:00.000' and ts<'2021-08-16 00:00:00.000'

实验截图如下:

3 二次查询测试时延如下:

2. 分组聚合查询

在某一时间段内查询测点采集值 count,max,min,avg,比如查询从 2020-01-01 00:00:00.000 到 2020-02-01 00:00:00.000 的 31 记录天内数据 count,max,min,avg。数据库中对应的查询语句为:

select count(*),max(col117),min(col117),avg(col117) from t_QH01 where ts >='2021-08-01 00:00:00.000' and ts<'2021-09-01 00:00:00.000' group by wtcode >>E:/taosTempData/2

实验截图如下:

3 二次查询测试时延如下:

3. 窗口查询操作

在一定时间内查询 1 小时、1 天、10 分组后的时间窗口 count,max,min,avg 聚合结果,如查询从 2020-01-01 00:00:00.000 到 2020-02-01 00:00:00.000 的 31 天内的全部数据记录,按照每 1 小时、1 天、10 划分天天时间间隔后 count,max,min,avg。

数据库中对应的查询语句为:

select count(*),max(col117),min(col117),avg(col117) from t_QH01 where ts >='2021-08-01 00:00:00.000' and ts<'2021-09-01 00:00:00.000' and wtcode ='001' interval (1h) >>E:/taosTempData/3;select count(*),max(col117),min(col117),avg(col117) from t_QH01 where ts >='2021-08-01 00:00:00.000' and ts<'2021-09-01 00:00:00.000' and wtcode ='001' interval (1d) >>E:/taosTempData/4; select count(*),max(col117),min(col117),avg(col117) from t_QH01 where ts >='2021-08-01 00:00:00.000' and ts<'2021-09-01 00:00:00.000' and wtcode ='001' interval (10d) >>E:/taosTempData/5;

实验截图如下:

多批次查询测试时延如下:

经过反复比较测试和应用适配,我们最终选择了 TDengine 时序数据解决方案作为我们的数据平台。

三、TDengine 落地实践

节能风电的整体时序数据流如下图所示:

风场时序数据(主要是风机数据和电气数据)穿透网络闸门,通过站点侧收集程序收集和转发,最终所有数据将收集到集团侧分布式时间数据库、前端实时监控、指标计算,同时将数据发送到大数据分析平台和生产运维平台。

集团中心侧 TDengine 集群在收集所有风场的时序数据、支持前端应用和同步数据等系统方面发挥着重要作用。

TDengine 在众多特点中,最吸引我们的是功能。超级性能使同类风扇的建模、管理和计算过程更加方便快捷,标签特性增加了附属项目、平台容量等维度特性,便于聚合操作过程中的快速筛选或分组。基于时间窗和状态窗的功能也为应用程序构建提供了许多便利,如功率曲线拟合过程中所需的五分钟平均风速和功率计算逻辑,以及基于风扇状态的各种统计分析。

在 TDengine 在使用初期遇到了一些问题,主要涉及集群建设和参数配置数配置。通过与陶思数据技术团队的沟通,这些问题。

后期在数据建模和应用适应方面也走了一些弯路,尤其是数据建模。一开始,我们使用最简单的单列模式,一个测点和一个表。当测点数量较少时,问题并不明显。然而,随着测点数量的不断扩大,这种方法逐渐暴露出应用适应的问题;后来,我们根据不同型号、不同风场建立超级表,基本上可以解决我们的应用问题,但仍存在无效开关量值过大的问题;最后,我们通过单独建模风扇状态等关键开关量来解决。

四、整体效果和未来展望

目前基于 TDengine 我们在数据库中建立了节能风电运维平台,使用后数据存储优势明显,整体压缩比在 7-8 数据查询也实现了二次响应。整体使用效果如下图所示:

未来,我们将考虑在每个风电站的三个区域部署一个单节点 TDengine,它不仅起到收集和转发的作用,还起到时序数据质量控制和实时模型预测的作用;在集团方面,我们将考虑基于 TDengine 构建越来越复杂的计算指标和高级模型;与任务调度引擎和风电行业标准相结合。未来的数据流图如下图所示:

最后,作为中节能风电公司时序数据的核心技术组成部分,为中节能风电公司搭建智能运维平台 3060 为双碳目标提供坚实的基础。

作者介绍:

2019年中节能风电生产运维部数据分析师潘文彪 从节能风电数据分析和数字平台建设开始。


点击查看活动详情,iPhone 13 Pro 等你带回家!

 

标签: 国产热线式风速传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台