作者:手机用户2502904767_602 | 来源:互联网 | 2023-09-16 18:48
目录1、工业时序数据的定义及作用2、工业时序数据的典型特点3、工业时序数据库与传统数据库的比较4、工业时序数据库基本要求4、工业时序数据处理面临的挑战5、时序数据处理工具(系统)需
目录
1、工业时序数据的定义及作用
2、工业时序数据的典型特点
3、工业时序数据库与传统数据库的比较
4、工业时序数据库基本要求
4、工业时序数据处理面临的挑战
5、时序数据处理工具(系统)需具备的功能
7、时序数据处理流行工具
8、工业时序数据的应用
8.1 智慧工厂智能应急指挥和融合通信调度
8.2 设备智能运维
随着工业物联网的快速发展,工业企业在生产经营过程中会采集大量的数据,并进行实时处理,这些数据都是时序的,具有显著的特点,如带有时间戳、数据源唯一、结构化、少有或几乎没有更新等。
1、工业时序数据的定义及作用
时序数据是指按时间顺序记录的数据列。在同一数据列中的各个数据必须是同口径的,要求具有可比性。时序数据可以是时期数,也可以时点数。
时序数据管理主要通过对时序数据的采集、存储、查询、处理和分析帮助企业实时监控企业的生产与经营过程。
时序数据在应用上特点也很明显,比如数据往往只保留一定时长,需要做降频采样、插值、实时计算、聚合等操作,关心的是一段时间的趋势,而不是某一特定时间的值等。
工业企业为了监测设备、生产线以及整个系统的运行状态,在各个关键点都配有传感器、采集各种数据。这些数据是周期或准周期产生的,采集频率高的或低的,采集的数据一般会发送至服务器,进行汇总并实时处理,对系统的运行做出实时监测或预警。
工业时序数据常常被长期保存下来,用以做离线数据分析,具体应用包括:
分析故障,看主要的设备故障是什么;
分析产能,看如何优化配置来提升生产效率;
分析能耗,看如何降低生产成本;
分析潜在的安全隐患,以降低故障时长。
2、工业时序数据的典型特点
与各种信息管理系统的数据相比,工业时序数据具有鲜明的特点,具体如下表:
表1 工业时序数据的典型特点序号 | 特点 | 描述 |
1 | 数据是时序的,一定带有时间戳 | 联网设备按设定的周期或受外部事件触发,源源不断地产生数据,必须记录每个数据点是在哪个时间点产生的,以便对时序数据进行计算和分析。 |
2 | 数据是结构化的 | 网络爬虫的数据、微博、微信的海量数据都是非结构化的,可以是文字、图片、视频等。但物联网设备产生的数据往往是结构化的,而且是数值型的,比如智能电表采集的电流、电压就可以用4字节的标准的浮点数来表示。 |
3 | 数据极少有更新操作 | 联网设备产生的数据是机器日志数据,一般不容许而且也没有修改的必要。很少有场景,需要对采集的原始数据进行修改。但对于一个典型的信息化或互联网应用,记录是一定可以修改或删除的。 |
4 | 数据源是唯一的 | 一个物联网设备采集的数据与另外一个设备采集的数据是完全独立的。一台设备的数据一定是这台设备产生的,不可能是人工或其他设备产生的,即一台设备的数据只有一个生产者,数据源是唯一的。 |
5 | 数据写多读少 | 对于互联网应用,一条数据记录往往是一次写,很多次读,如一条微博或一篇微信公众号文章,一次写,但有可能会有上百万人读。但对物联网设备产生的数据一般是计算、分析程序自动读,且计算、分析次数不多,只有分析事故等场景,才会主动看原始数据。 |
6 | 用户关注的是一段时间的趋势 | 对于一条银行记录,或一条微博、微信,每一条对用户都很重要。但对于物联网数据,每个数据点与数据点的变化并不大,一般是渐变的,大家关心的更多是一段时间。如过去5分钟,过去1小时数据变化的趋势,一般对某一特定时间点的数据值并不关注。 |
7 | 数据有保留期限 | 采集的数据一般都有基于时长的保留策略,如仅仅保留一天、一周、一个月、一年甚至更长时间,为节省存储空间,系统最好能自动删除。 |
8 | 数据的查询分析往往是基于时间段和某一组设备的 | 对物联网数据的计算和分析,一定是指定时间范围的,不会只针对一个时间点或者整个历史进行。而且往往需要根据分析的维度,对物联网设备的一个子集采集的数据进行分析,如某个地理区域的设备,某个型号、某个批次的设备,某个厂商的设备,等等。 |
9 | 除存储查询外,往往需要实时分析计算操作 | 对于大部分互联网大数据应用,更多的是离线分析,即使有实时分析,但实时分析的要求并不高,如用户画像可以在积累一定的用户行为数据后进行。但对于物联网应用,对数据的实时计算要求往往很高,因为需要根据计算结果进行实时报警,以避免事故的发生。 |
10 | 流量平稳、可预测 | 给定物联网数量、数据采集频次,就可以较为准确地估算出所需要的带宽和流量、每天新生成的数据大小。 |
11 | 数据处理的特殊性 | 与典型的互联网相比,还有不一样的数据处理需求。如要检查某个具体时间点、设备采集的某个量,但传感器实际采集的时间不是这个时间点,这时往往需要做插值处理。还有很多场景需要基于采集量进行复杂的数学函数计算。 |
12 | 数据量巨大 | 以智能电表为例,一台智能电表每隔15分钟采集一次数据,每天自动生成96条记录,全国就有接近5亿台智能电表,每天生成近500亿条记录。5年之内,物联网设备产生的数据将占世界数据总量的90%以上。 |
3、工业时序数据库与传统数据库的比较
表2 工业时序数据库与传统关系型数据库的对比比较项目 | 时序数据管理系统 | 关系型数据库 |
数据类型 | 处理随时间变化的数据,数据大部分为数值型数据,具有较强的时效性 | 处理永久、稳定的数据,主要维护数据的完整性和一致性,难以满足有严格时间限制的应用需求 |
表结构 | 以时间序列对数据进行存储,存储数据在全局范围内唯一且固定 | 以二维表格对数据进行存储和访问,表格可灵活扩展,表与表之间存在联系,并可自定义关系 |
读写速度 | 100 000 000(次/秒) | 3 000(次/秒) |
数据压缩 | 有损压缩和无损压缩 | 无 |
数据访问方式 | 根据需求编写高效接口(API) | 通常使用结构化查询语言(SQL) |
支持最大测点规模 | 单机支持1000万个测点 | 单机不超过10万个测点 |
4、工业时序数据库基本要求
综合对于时序数据特点的分析,归纳总结对于时序数据库的基本要求[2]:
- 能够支撑高并发、高吞吐的写入:如上所说,时序数据具有典型的写多读少特征,其中95%-99%的操作都是写。在读和写上,首要权衡的是写的能力。由于其场景的特点,对于数据库的高并发、高吞吐写入能力有很高的要求。
- 交互级的聚合查询:交互级的查询延迟,并且是在数据基数(TB级)较大的情况下,也能够达到很低的查询延迟。
- 能够支撑海量数据存储:场景的特点决定了数据的量级,至少是TB的量级,甚至是PB级数据。
- 高可用:在线服务的场景下,对可用性要求也会很高。
- 分布式架构:写入和存储量的要求,底层若不是分布式架构基本达不到目标。
图1 工业时序数据库基本要求
4、工业时序数据处理面临的挑战
传统时序数据库局限于车间级的可编程逻辑控制器,而非企业级。企业级的时序数据处理,首先是基于数据架构和数据模型的。数据架构决定采集哪些时序数据(which),如何处理(how),用于哪些业务场景(where),用于时序数据采集的规划与设计开发;数据模型用于解析时序数据的数据结构。
数字化工厂产生的时序数据量是巨大的,时序数据处理面临相当的技术挑战。以数控机床加工生产为例,由于工业行业的要求,需要将包括报警在内的各种工况数据存储起来。假设企业每个厂区具有2000个监测点,5秒一个采集周期,全国一共200个厂区。这样粗略估算起来每年将产生惊人的几十万亿个数据点。假设每个点0.5KB,数据总量将达PB级别(如果每台服务器的硬盘容量是10TB,那么总共需要100多台服务器)。而且,数据不仅要快速写入存储,还要支持快速查询,实现可视化的展示,帮助管理者分析决策;并且也能够用来做大数据分析,发现深层次的问题,帮助企业节能减排,增加效益。因此,结合时序数据的特点,亟需解决的关键技术问题如下:
高并发、高吞吐量的写入能力:如何支持每秒钟上千万数据点的写入,这是最关键的技术能力。
数据高速聚合:如何支持以秒级的速度对上亿数据进行分组聚合运算?如何在大数据量的基础上,高效地查询并聚合满足条件的原始数据?(统计的原始值可能因为时间比较久远而不在内存中,因此这可能是一个非常耗时的操作)
提高压缩率,降低存储成本:如何降低海量数据存储的成本,这需要时序数据库提供高压缩率。
多维度的查询能力:时序数据通常会有多个维度的标签来刻画一条数据,如何根据几个维度进行高效查询是必须要解决的一个问题。
图2 通用大数据处理工具在工业时序数据中面临的挑战
5、时序数据处理工具(系统)需具备的功能
图3 物联网平台与大数据平台的关系
图4 覆盖端-边-管-云的全景式能力矩阵
图5 时序数据流向图
图6 数据采集到应用的端到端物联网平台
时序数据处理应用于智慧城市、物联网、车联网、工业互联网领域的过程数据采集、过程控制,并与过程管理建立一个数据链路,属于工业数据治理的新兴领域。需具备如下功能:
表3 工业时序数据处理工具(系统)需具备的功能序号 | 功能 | 描述 |
1 | 必须是高效的分布式系统 | 工业互联网产生的数据量巨大,任何一台服务器都无法处理,因此时序数据处理系统必须是分布式的、水平扩展的。为降低成本,一个节点的处理性能必须是高效的,需要支持数据的快速写入和快速查询功能。 |
2 | 必须是实时的处理系统 | 对于工业互联网大数据的应用场景,则需要基于采集的数据做实时预警、决策,延时要控制在秒级以内。如果没有实时计算,则其商业价值就大打折扣。 |
3 | 需要运营商级别的高可靠服务 | 工业互联网系统对接的往往是生产、经营系统,如果数据处理系统宕机,则会直接导致停产,无法对终端消费者正常提供服务。因此,时序数据处理系统必须是高可靠的,必须支持数据实时备份,必须支持异地容灾,必须支持软件、硬件在线升级,必须支持在线IDC机房迁移,否则服务一定有被中断的可能。 |
4 | 需要高效的缓存功能 | 在绝大部分场景中,都需要能快速获取设备当前状态或其他信息,用以报警、大屏展示等。时充数据处理系统需要提供高效机制,让用户可以获取全部或符合过滤条件的部分设备的最新状态。 |
5 | 需要实时流式计算 | 各种实时预警或预测已经不是简单地基于某一个阈值进行的,而是需要通过将一个或多个设备产生的数据流进行实时聚合计算(并且不只是基于一个时间点,而是基于一个时间窗口进行计算)。不仅如此,计算的需求也相当复杂,因场景而异,应容许用户自定义函数进行计算。 |
6 | 需要支持数据订阅 | 时序数据处理系统与通用大数据平台比较一致的地方是,同一组数据往往有很多应用都需要,因此,时序数据处理系统应该提供订阅功能:只要有新的数据更新,就应该实时提醒应用。而且这个订阅也应该是个性化的,容许应用设置过滤条件,比如只订阅某个物理量5分钟的平均值。 |
7 | 实时数据和历史数据的处理要合二为一 | 实时数据被存储在缓存里,历史数据被存储在持久化存储介质里,而且可能依据时长,被存储在不同的存储介质里。时序数据处理系统应该隐藏背后的存储介质,给用户和应用呈现的是同一个接口和界面。无论是访问新采集的数据还是10年前的老数据,除输入的时间参数不同外,其余都应该是一样的。 |
8 | 需要保证数据能持续、稳定地写入 | 对于物联网系统,数据流量往往是平稳的,因此数据写入所需要的资源往往是可以估算的。其中变化的是查询、分析,特别是即席查询,有可能耗费很多的系统资源,不可控。因此,时序数据处理系统必须保证分配足够的资源以确保数据能够写入系统而不被丢失。准确地说,时序数据处理系统必须是一个写优先系统。 |
9 | 需要支持灵活的多维度数据分析 | 对于联网设备产生的数据,需要进行各种维度的统计分析,比如根据设备所处的地域进行分析,根据设备的型号、供应商进行分析,根据设备所使用的人员进行分析等。这些维度的分析是无法事先设计好的,而是在实际运营过程中,根据业务发展需求定下来的。因此,工业互联网大数据平台需要一个灵活的机制来增加某个维度的分析。 |
10 | 需要支持数据降频、插值、特殊函数计算等操作 | 原始数据的采集可能频次较高,但在具体分析时,往往不需要对原始数据进行分析,而是需要对数据进行降频。时序数据处理系统需要提供高效的数据降频操作。不同设备采集数据的时间点是很难一致的,因此,分析一个特定时间点的值,往往需要插值才能解决,系统需要提供线性插值、设置固定值等多种插值策略。 |
11 | 需要支持即席分析和查询 | 为提高数据分析师的工作效率,时序数据处理系统应该提供命令行工具或容许用户通过其他工具,执行SQL查询,而不是非要通过编程接口。并且查询分析结果可以很方便地被导出,以及被制作成各种图表。 |
12 | 需要提供灵活的数据管理策略 | 一个大的系统,其中采集的数据种类繁多,而且除采集的原始数据外,还有大量的衍生数据。这些数据各自有不同的特点,有的采集频次高,有的要求保留时间长,有的需要保存多个副本以保证更高的安全性,有的需要能快速访问。因此,工业互联网大数据平台必须提供多种策略,让用户可以根据特点进行选择和配置,而且各种策略并存。 |
13 | 必须是开放的 | 时序数据处理系统需要支持业界流行的标准,提供各种语言开发接口,包括C/C++、Java、Go、Python、RESTful等,也需要支持Spark、R、MATLAB等,方便集成各种机器学习、人工智能算法或其他应用,让大数据处理平台能够不断扩展,而不是成为一个数据孤岛。 |
14 | 必须支持异构环境 | 大数据平台的搭建是一个长期工作,每个批次采购的服务器和存储设备都会不一样,时序数据处理系统必须支持各种档次、各种不同配置的服务器和存储设备并存。 |
15 | 需要支持边云协同 | 时序数据处理系统要有一套灵活的机制将边缘计算节点的数据上传到云端,根据具体需要,可以将原始数据、加工计算后的数据,或仅仅符合过滤条件的数据同步到云端,并且同步可以随时取消,同步策略可以随时修改。 |
16 | 需要单一的后台管理系统 | 单一的后台管理系统便于查看系统运行状态、管理集群、管理用户、管理各种系统资源等,而且能让系统与第三方IT运维监测平台无缝集成,便于统一管理和维护。 |
17 | 便于私有化部署 | 出于安全及各种因素的考虑,部分企业希望时序数据处理系统采用私有化部署。而传统的企业往往没有很强的IT运维团队,因此在时序数据处理系统安装、部署上需要做到简单、快捷,可维护性强。 |
7、时序数据处理流行工具
在测点数量暴涨、数据采集频率不断提高的大数据时代,传统实时数据库暴露出以下问题:
没有水平扩展能力,数据量增加,只能依靠硬件的纵向扩展解决。
技术架构老旧,很多还是运行于Windows系统中的。
数据分析能力偏弱,不支持现在流行的各种数据分析接口。
不支持云端部署,更不支持SaaS。
在传统的实时监控场景,由于对各种工业协议的支持比较完善,实时数据库还占有较牢固的市场地位,但是在工业大数据处理上,因为上述几个原因,几乎没有任何大数据平台采用它们。
采集后的工业时序数据一般通过网络被送往服务器或云端进行处理。相对数据采集工具而言,数据处理工具比较统一,流行的时序数据处理工具主要包括:InfluxDB、Graphite、OpenTSDB、TimescaleDB、Apache IoTDB等,详细可参考DB-ENGINES[2]。
8、工业时序数据的应用
8.1 智慧工厂智能应急指挥和融合通信调度
采用数字化BIM+GIS+IIOT+AI+5G+算法技术,围绕监控、调度、通讯等多种功能合一的可视化调度方案。在突发事件预警、上报、响应、调度等各个环节实现及时有效的可视化指挥,满足突发事件现场实时图像传送和视频会商的快速响应需求。
图7 应急指挥和融合通信调度
8.2 设备智能运维
物联网平台还可被应用于对海量设备终端的统一管理与运维,对设备的状态进行在线监测与诊断,并及时进行故障预警。还可以通过多维图表展示运维数据等。
图8 设备智能运维
参考文献
[1] 什么是时序数据?如何治理?有哪些应用场景?终于有人讲明白了. https://blog.51cto.com/u_15127642/2774829.
[2] 时间序列数据的存储和计算. https://zhuanlan.zhihu.com/p/32709932.
[3] DB-engines排名.https://db-engines.com/en/ranking/time+series+dbms.