各位小伙伴大家好,最近Jesse有点忙,很抱歉没有及时更新我们的公众号,这周开始我们继续来跟大家聊聊时序数据库的应用,本周我们谈谈TSDB在卷烟厂中的应用。
本文仅代表个人观点,如有偏颇之处,还请海涵~
地球上最暴利的行业是什么 — 石油、天然气或是军火?答案都是否定的,这些行业并不是最暴利的行业,正确答案应该是烟草。如今,世界至少有1/4的人喜欢抽烟,卷烟也成为了世界潮流的硬通货。卷烟的成本极其低廉,但是价格却非常的高昂。事实上,烟草行业也为许多国家带来了无法言说的财政收入。以中国来看,中国烟草局每年交给国家的烟税约等于我国一年的国防军费收入,因而江湖也流传着“你不抽,我不抽,航空母舰谁来修”的打趣(手动狗头,吸烟损害健康,希望大家还是能不抽就不抽)。
从卷烟的生产角度来看,由于大多数是国有垄断经营,卷烟厂很多已经采用了工业化的生产方式,具有较高的信息化水平。一般而言,卷烟厂分为制丝车间和卷包车间两个车间。制丝车间的操作人员主要从事烟叶的加料加香和切丝工作,卷包车间的操作人员就是操作卷烟机和包装机等设备。在制丝车间的生产过程中,主要涉及温度、水分、风量、流量、液位、频率等多种数据,这些数据产生频率高且实时产生,因此其每个监测点每秒会产生大量的数据。而制丝车间本身生产设备多且工艺复杂,所以一般来讲整个制丝车间会有大约10万个监测点,监测点的数量很大。这些数据对于磁盘存储空间的消耗很大,如何合理保存就成了一个问题。我们也可以发现这些数据的特点:首先,这些数据依托于采集时间,每一条数据都有唯一的一个时间与之相对应。其次,由于数据大多是设备产生的同时也是按照时间戳实时采集和记录,所以时序数据库会有更多的 插入操作,而不用频繁的进行更新和删除操作。
![](https://i-blog.csdnimg.cn/blog_migrate/ba2d2441a6ef5e1fddb0cee9606a0d0a.png)
图为宁波卷烟厂生产车间,来源于新华丝路
制丝车间数据存储与访问
在数据存储方面,目前制丝车间主要采用关系型数据库来进行存储,但这样的存储方案也带来了很多问题:首先,关系型数据库的表模型是行列结构,含用来标识唯一行的主键或者多条索引,每一行标识一条记录,这样会存在大量冗余的属性数据,对磁盘空间产生极大的消耗。其次,通过降低采样频率的做法(即使降低采样频率,每月也会产生1TB左右的数据),也降低了实时数据的精确性和可靠性,不利于数据的监控及分析。最后,在数据存储达到一定数量级时,为了提高系统性能常采用删除历史数据的做法,这样对采集到的数据造成了极大的浪费,也使得给系统和数据的维护带来了极大的困难。
在数据访问方面,制丝车间中控管理系统应具备实时化、自动化、智能化等特点。中控管理系统需要实现生产过程的实时监测、进行完善的质量分析、故障监测及报备、综合管理等功能,而这些功能的实现需要建立在海量实时信息高效处理的基础上。为了使生产能够有序的进行,系统需要实时监测设备的运行参数、进行生产统计分析报表、设备负载分析及预测等功能。为了实现这些功能,数据库需要长时间的处于快速且高负荷的运行。而关系型数据库处于这种运行环境要实现这些功能会产生严重的性能瓶颈。当数据长时间处于无响应的状态时容易导致服务器宕机,严重影响生产任务。
基于TSDB制丝车间的应用
对于实时、高频率、海量写入和存储的需求,时序数据库是比较理想的选择。相对于关系型数据库它极大的减小了存储空间,减小数据的存储成本。时间序列函数不但有着优越的写入性能并且能实现较快查询性能和存储较长时间的历史数据,这使得数据的使用价值也有了极大的提高。同时,时序数据库还支持大规模的数据监测点,在普通服务器上能支持上百万个监测点。具有10万-60万事件/秒的数据存储能力、100万-800万事件/秒的数据访问能力。时序数据库这些优越的性能可以很好的实现制丝车间中控管理系统的这些需求。
目前看利用时序数据库,制丝车间主要有以下应用:
(1)趋势曲线:在制丝车间应用中。采用关系型数据库进行数据采集时,因数采周期长,单个数采周期内时间跨度长、数值变化大。这样采集到的数据不能够准确的反应生产中设备的瞬时值,用此方式绘制出来的趋势曲线与实际状态趋势存在一定的差异,在显示精密趋势曲线时显然表现的不太可靠。而时序数据库可以很好的解决数据采集周期长的问题,因为它的采样频率能达到上千赫兹,也就是说时序数据库能在一毫秒内完成一个数据甚至多个数据采样周期,这样绘制出来的趋势曲线更加真实的还原实际状态趋势,较完整的再现数据的实时变化情况,这大大提高了数据的准确性,可为专业的分析人员提供高精度、高密度的数据来源,有利于产品质量及设备质量的分析。
(2)报警提示信息:卷烟企业制丝车间对生产环境的要求较高。各个产品在每个工艺段的温度、水分、风量等要求不尽相同,当生产环境不符合要求时系统需及时报警,告知相关人员进行处理,需要对这些环境因素进行实时监测来确保生产环境符合工艺要求。除环境因素外生产过程中还有许多参数需要进行实时监测,如加香/加料精度、各流量秤的瞬时值、设备运行的电压电流、电机频率等。当参数发生异常时,管理系统能够对参数值进行判断及时发出并记录报警信息。因为时序数据库可以高密度、高精度的记录实时数据,相关人员可以通过分析发生异常前后的数据或趋势曲线来分析发生异常的原因,从而制定准确有效的应对措施。
(3)多平台多系统的数据共享:大部分时序数据库都实现了数据集成、协同、服务共享,并且提供了丰富的应用程序接口和服务共享调用。能兼容多种操作系统如:Windows、Linux 等。支持多种编程语言:如 C 语言、C#、PHP、Java等,这种优越的兼容性可以方便的实现多个系统的数据共享。各个应用系统可以直接通过API快速的从数据中心获取到自己所需要的数据。实现多系统之间的集成、数据互联。如可以结合仓储物流系统实现物料运输及物料存储信息的共享、集成 MES 系统实现生产制造执行的数据共享等。集成多种系统使车间生产和管理更加多元化、智能化,使数据分析更加准确、专业、全面。
本文参考了《轻工科技》期刊中由林利明等所著的《时序数据库在卷烟行业应用的分析》一文。
CnosDB 简介
CnosDB 是一款高性能、高易用性的开源分布式时序数据库,现已正式发布及全部开源。
欢迎关注我们的代码仓库,一键三连🙇🙇🙇:https://github.com/cnosdb/cnosdb