查看原文
其他

时序数据库在打造数字化透明工厂中的应用

杨更更 数据工匠俱乐部 2021-10-15

背景

制造业是我国国民经济的支柱产业,也是推动工业化的原动力,现代制造业已经并且正在深刻地改变着人们的生产方式、生活方式甚至社会文化。全球经济一体化的趋势愈演愈烈,国际竞争不断加剧,制造业的发展必须不断提高在质量保障、品种多样化、快速设计制造、快速检测响应以及快速重组等方面的要求。打造数字化透明工厂,以信息化带动工业化,以工业化促进信息化被提到了前所未有的高度、深度和广度。

众所周知,制造业的信息化主要包括设计数字化、生产数字化、装备数字化、管理数字化、企业数字化等。企业数字化涉及到架构层次如下:

信息化的大趋势使世界各国争先恐后的把先进技术和信息化引进到传统工业和制造业,企业数字化的关键是数据的获取、采集、存储和分析等。以数控机床为例,随着工业物联网时代的到来,企业用户对建立数控机床在日常生产中的监控和报警平台的需求越来越大。通过搭建对于数控机床的监控和报警平台,企业用户可以随时了解自己生产线的工作情况,及时获得异常反馈,从而合理安排生产,规避风险等。

应用场景

在打造数字化透明工厂的过程中,如图所示建立轻量化的生产管理云平台,运用物联网和大数据技术,采集、分析生产过程产生的各类数据,实时呈现生产现场的生产进度、目标达成状况,以及人、机、料的利用状况,让生产现场完全透明,可以提高生产效率。

以数控机床加工生产为例,由于工业上面的要求,需要将包括报警在内的各种工况数据存储起来。假设客户每个厂区具有2000个监测点,5秒一个采集周期,全国一共200个厂区。这样粗略估算起来每年将产生惊人的几十万亿个数据点。假设每个点0.5K字节,数据总量将达PB级别(如果每台服务器10TB的硬盘,那么总共需要100多台服务器)。这些数据不只是要实时生成,写入存储;还要支持快速查询,实现可视化的展示,帮助管理者分析决策;并且也能够用来做大数据分析,发现深层次的问题,帮助企业节能减排,增加效益。这样看来,需要解决的关键技术问题如下:

  • 高并发高吞吐量写入能力

如何支持每秒钟上千万数据点的写入,这是最关键的技术能力。

  • 数据高速聚合

如何支持在秒级对上亿数据的分组聚合运算,如何能高效的在大数据量的基础上将满足条件的原始数据查询出来并聚合,要知道统计的原始值可能因为时间比较久远而不在内存中,因此这可能是一个非常耗时的操作。

  • 降低存储成本

如何降低海量数据存储的成本,这需要时序数据库提供高压缩率。

  • 多维度的查询能力

时序数据通常会有多个维度的标签来刻画一条数据,如何根据几个维度进行高效查询就是必须要解决的一个问题。由此可见,这是一个典型的时序数据库适用的物联网场景。典型技术架构及特点

在以往采用基于Hadoop/Spark等大数据框架的技术架构的情况下,整个系统架构将极其复杂,成本也居高不下。而时序数据库(如TDengine)的引入则使得数控机床的数据采集、监控和分析系统架构变得极其简单。北京发那科机电有限公司开发的用于数控机床监控云平台的完整的平台架构如下图所示:

软件架构分为IaaS层、PaaS层和SaaS层架构,其中分布式时序数据库位于PaaS层核心位置,完成数据的存储和分析等功能。CNC数据采集器(SMART NC BOX)采集的数控机床的监控数据汇集到PaaS层的MQTT Server服务器上。随后,数据存储模块实时从MQTT Server上拉取数据,并转换为时序数据库能理解的SQL语句写入引擎。时序数据库可支持接入各种应用程序,实时查询最新数据。另外各种配置信息等也会经过内置模块转换写入一个关系型数据库,方便各个应用查询使用。

整个系统的核心功能包括:

(1)产线状态监控

完成每台数控机床实时状态监控,完成故障以及瓶颈告警;实施监控指标执行情况,即时发现、及时处理、减少损失;基于邮件、短信、大屏等多种方式实时主动告知生产中的异常状况。

采集、发布每条生产线的实时生产数据,实时了解生产进度、不良率、人员生产效率等。

(2)生产环节监控

实时采集各岗位的生产数据,由人手录入数据变为扫描或者自动采集、快速准确,减少人为误差。使得用户可以直观了解每个生产环节的进度、效率、不良率,瓶颈一目了然。

(3)智能生产排程

实现订单生产管理导向式的生产配置,根据产线配置情况,轻松完成生产计划排程。可按订单、批次等进行生产设置,满足企业多样化要求。

在订单生产的过程中,对生产订单的生成数据进行监控,实时掌控生产进度、不良率、生产效率等,订单完成情况尽在掌握,实现事后追溯。

(4)生产配置管理

对产品、原料、生产线、人员等建立完整的生产数据档案, 建立完整的物料标识。

可根据编码进行产品正反向追溯,界定责任、减少召回损失,提高质量的稳定性。

以上各核心功能中存在大量与时间序列相关的数据,都可以存储在时序数据库中。时序数据库的引入使得整个架构变得非常简单。一方面,时序数据库本身带有缓存功能,从而使得在应用中不需要再部署其他的缓存数据库来维持数据的高可靠。另一方面,时序数据库(如TDengine)的高并发性能,使得整个平台在处理高频率的写入任务的同时,可以同时拉起成百上千的查询。而时序数据库的实时性和低资源占用的特点也使得时序数据库可以并发支持各种实时请求。

以数控机床的监控量为例,包括时间戳和报警信息在内有多达60几个字段。其中大部分字段为整形或浮点型。由于涉及非ASCII码字符,其中的报警信息为UTF-8类型。报警信息字段的长度约有1K左右,而且大部分时候为空。假设数控机床的监控采集频率为5秒钟一次,数据随着时间延续而源源不断地写入时序数据库,随着时间推移,这是一个相当巨量的数据,时序数据库的应用则减轻了数据的存储压力和开发工作量,能节省存储硬件成本。数据的查询和使用在打造数字化透明工厂的过程中,从用户实际应用场景来看,用户对时序数据的查询场景多种多样,总的来说时序数据的查询分为两种:原始数据的查询和时序数据聚合运算的查询。对于时序数据来说,最主要的难点在于如何解决好海量数据下的聚合查询问题。

在以往的处理方法中,需要用户根据数据的特点自行处理,一般采用两种方法:批处理(Batch Processing)和流处理(Stream Processing)。批处理的优点是支持对历史时序数据的处理,实现简单。但是批处理具有查询数据量大,非实时的缺点。流处理的优点是数据实时计算,无需查询原始数据,但是灵活性欠缺,需要根据应用场景判断是否适合流式处理。

对于这两种大数据处理方式的区别,可以参考相关专业的书籍,这里只简要介绍一下基本概念(如图所示)。批处理方式是使用循环方式查询时序原始数据,预先进行聚合运算获取数据结果写入时序数据库,当进行聚合查询时直接返回预处理后数据结果。时序数据库定期轮询规则,根据采样窗口创建预处理任务,任务根据规则信息形成多个任务队列。队列内任务顺序执行,队列间任务并发执行,多任务队列保证了多租户对计算资源共享。而流处理框架同样能够支持对数据流做聚合运算,不同于批处理方式,时序数据需要路由到流式处理框架例如Spark,Flink等,当数据时间戳到达采样窗口时,在内存中实时计算,并写入时序数据库。之后通过各种接口调用供用户查询和使用。

图:批处理过程

图:流式处理过程

当前,最新的时序数据库(如TDengine)发展方向已将以上各种聚合计算内置到查询引擎之中,用户只需要定义聚合规则之后即可实时获取各种查询数据,大大简化了大数据的处理和分析功能,减轻了开发工作量。小结

不同于其他的通用数据库或大数据处理系统,时序数据库的部署非常方便。这使得在搭建数控机床监控平台的过程中,用户可以花很少的时间在数据库系统的搭建上,大幅缩短工程周期。另外,时序数据库的高性能、低资源消耗、实时响应以及高并发等特点,都使得它能够在一边写入数据的过程中,可以实时服务多个应用的请求。真正做到实时响应,实时监控,极大地方便工业物联网的应用和推广。

(欢迎大家加入数据工匠知识星球获取更多资讯。)


联系我们

扫描二维码关注我们


微信:DaasCai

邮箱:ccjiu@163.com

QQ:3365722008

热门文章


如何才能拥有自己的数据技术工匠?


从数据标准到数据库设计:解决基础数据标准落地的最后一公里难题


数据的价值到底如何评估?


为什么企业要从离线数据中台走向实时数据中台?


超越平台,数据中台的业务化、服务化及开放化!

我们的使命:发展数据治理行业、普及数据治理知识、改变企业数据管理现状、提高企业数据质量、推动企业走进大数据时代。

我们的愿景:打造数据治理专家、数据治理平台、数据治理生态圈。

我们的价值观:凝聚行业力量、打造数据治理全链条平台、改变数据治理生态圈。

了解更多精彩内容


长按,识别二维码,关注我们吧!

数据工匠俱乐部

微信号:zgsjgjjlb

专注数据治理,推动大数据发展。

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存