iotdb时序库在火电设备锅炉场景下的实践【原创文字,IoTDB社区可进行使用与传播】

本文主要是介绍iotdb时序库在火电设备锅炉场景下的实践【原创文字,IoTDB社区可进行使用与传播】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一.概述

1.1 说明

本文章主要介绍iotdb数据库在电站锅炉工业场景下,对辅助智能分析与预警的使用介绍。

【原创文字,IoTDB社区可进行使用与传播】

1.2 项目背景

随着人工智能算法在电力领域的发展,以及燃煤锅炉设备精细化调整需求的增加,利用大数据算法开展锅炉关键设备全参数预测和预警,实现基于机理的设备工况分析和性能分析,开展设备健康状态评价和故障诊断研究,进而为深度调峰操作调整提供指导,为运行监盘提供预警,为检修维护提供参考。

此过程中面临诸多痛点:

设备种类繁多、协议众多、数据类型众多

时序数据特别是高频数据,数据量巨大

海量时序数据下的读写速度无法满足业务需求

现有时序数据管理组件无法满足各类高级应用需求

而选取IoTDB作为智能运维平台的存储数据库后,能稳定写入多频及高频采集数据,覆盖钢铁全工序,并采用复合压缩算法使数据大小缩减10倍以上,节省成本。IoTDB 还有效支持超过10年的历史数据降采样查询,帮助企业挖掘数据趋势,助力企业长远战略分析

1.3 iotdb

Apache IoTDB(物联网数据库)是一体化收集、存储、管理与分析物联网时序数据的软件系统。 Apache IoTDB 采用轻量式架构,具有高性能和丰富的功能,并与Apache Hadoop、Spark和Flink等进行了深度集成,可以满足工业物联网领域的海量数据存储、高速数据读取和复杂数据分析需求。

具有它具有以下特点:

1.体量轻

2.性能高

3.易使用的特点

二 案例介绍

2.1 项目案例

2.1.1 数据测点

数据采集层负责分别从采集点采集数据,目前3#、4#机组每分钟采集约5.2万个测点的实时生产数据,每分钟计算约10万次。

2.1.2 架构图

1.边缘侧:为推送给平台测区域的部分,一般是某具体电厂使用的系统或者博望推送数据的服务器机器。

2.平台接入测:这台服务器部署工业处理X平台,在X平台配置测点,资产树等信息;使用网络通信框架mina和其他电厂系统进行数据对接,将接入到的数据进行解码并安装配置好的测点信息,推送到x平台上;实时数据存储到iotdb中。

2.1.3 功能接口案例

1工况预警页面,通过查询iotdb数据库,显示磨煤机工况预警统计信息,如下图:

2.iotdb连接线程池工具类,如下图:

3.对应的iotdb核心代码 :

2.1.4 其他案例场景iotdb的sql用法

1.命令启动iotdb服务

#启动 (前台启动)

sbin/start-server.sh

#nohup后台启动,输出启动日志到nohup.log文件

nohup sbin/start-server.sh >> nohup.log  2>&1 &

#nohup后台启动,不输出启动日志

nohup sbin/start-server.sh >/dev/null 2>&1 &

#停止

sbin/stop-server.sh

2).iotdb导出脚本语句

 sh export-csv.sh -h 127.0.0.1 -p 6667 -u root -pw root -td /root/export-data0328  -f 30KYQ20AA00CT001A_M.csv  -q "select 30KYQ20AA00CT001A_M from root.iot_point.tenant_system where time >= 2022-03-25 05:00:00 and time <= 2022-03-25 06:00:00"


3).查看 iotdb 库中测点 30MMJ10FC10CT303A 正常数据。

a)sql语句

select 30MMJ10FC10CT303A as 30MMJ10FC10CT303A from root.iot_point.tenant_systemorder by time desc limit 10

b)截图如下:

 c.观察后这里将测点 30MMJ10FC10CT303A 的模拟值设置:

将前一个时刻值设置 78.5001

将当前时刻值设置 73.5001

时间间隔为:60s

计算: (78.5001-73.5001)/60=0.0833

2.1.5 注意事项

在执行dml命令添加数据的时候,insert into xxxx values(y) ;xxxx只能到设备层,values里面只能有列名。如下图所示:

这篇关于iotdb时序库在火电设备锅炉场景下的实践【原创文字,IoTDB社区可进行使用与传播】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1022623

相关文章

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

k8s按需创建PV和使用PVC详解

《k8s按需创建PV和使用PVC详解》Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收... 目录1.按需创建 PV(使用 StorageClass)创建 StorageClass2.创建 PV

Redis 基本数据类型和使用详解

《Redis基本数据类型和使用详解》String是Redis最基本的数据类型,一个键对应一个值,它的功能十分强大,可以存储字符串、整数、浮点数等多种数据格式,本文给大家介绍Redis基本数据类型和... 目录一、Redis 入门介绍二、Redis 的五大基本数据类型2.1 String 类型2.2 Hash