王红涛,王志超,陈 峰,冯连强,孙思豪
(中国重型机械研究院股份公司,陕西 西安 710032)
复杂重型装备定制生产的设计、制造、运作管理、营销服务等过程中会产生海量的时序数据[1],这些来自产品全生命周期的时序数据是提高生产水平和管理水平的数据基础[2]。获取生产现场的时序数据,能够为各种设备监控系统、工艺分析系统、管理系统提供实时的数据服务,从而打破流程工业生产过程中的“数据壁垒”,为提高产品质量和优化设备调度计划提供依据[3]。但海量数据的处理同时也面临着日益严峻的问题:存储容量问题,单一设备的各类传感器每天的采样数据数以百万计,每年的采样数据所需的存储容量从GB到TB[4];处理速度问题,不断增加的数据量给数据的存储方法和检索查询方式带来了难度;实时数据的展示问题,传统的关系型数据库的采样周期和采样方式难以完成对时序数据的连续存储[5],且无法通过折线图、散点图等实时显示数据的变化趋势。
面对传统的关系型数据库在工业互联网环境下的不足,本文提出基于时序数据库的工业大数据存储管理系统,首先设计以开源的时序数据库influxDB为参考的工业时序数据库引擎,实现应用于边缘计算的时序数据库,再通过构建数据图谱的方式探寻数据之间的关联关系,然后选择合适的图表形式将时序数据可视化,为后续的设备监控、远程运维等系统提供数据支撑,最后提出了基于时序数据库的工业大数据存储管理系统的性能测试方法。
工业互联网的快速发展带来了各种传感器的广泛使用和海量工业数据的采集[6]。海量实时数据的分析需求无法用传统的集中处理方式满足,因此数据计算逐渐走向边缘端[7]。
1.1.1 边缘计算的发展
边缘计算(Edge Computing, EG)指的是接近物理实体或数据源的一侧,汇集了网络、计算、存储、应用核心能力等的开放平台[8]。当前业界对边缘计算概念的描述并不统一,但有基本的共性认识:边缘计算是在接近终端的网络边缘上提供服务[9]。
边缘计算并不是新兴概念,早在2003年,作为全球最大的分布式计算服务商之一的AKAMAI就与IBM合作“边缘计算”。近年来,边缘计算因其满足万物互联需求的突出优点,逐渐受到国内外的广泛关注。 2017年,全球性产业组织工业联盟ICC成立Edge Computing TG,为边缘计算指出了参考架构;同年11月,中国联通推出了“边缘云&智能安防”的技术方案[10]。在标准化方面,国际电工委员会(IEC )于2017年发布了《垂直领域边缘智能(VEI)白皮书》,指明了边缘计算对于制造业等垂直行业领域的重大意义。
1.1.2 装备制造业边缘计算体系架构
装备制造业作为向国民经济和国防建设提供生产技术装备的先进制造业,是制造业的核心组成部分,是我国工业发展的基础[11]。但经过对企业进行走访调查、阅读文献资料等过程,进一步了解了边缘计算应用于装备制造业的现状和需要,得知装备制造业总体的工程建设程度不一致,普遍面临数据开放性差且工业协议标准不统一、数据采集种类较少、数据采集实时性水平较低、数据安全存在隐患等问题[12]。
依据边缘计算的发展现状,结合装备制造业的行业需求,参考工业互联网平台体系中的边缘层架构,提出装备制造业边缘计算体系架构如图1所示。
图1 装备制造业边缘计算体系架构
(1)设备接入。为工业现场设备、智能产品/装备设置数据采集端口[13],实时获得生产现场的数据并进行安全传输,实现不同制造商设备的互联互通。
(2)协议转换。基于OPC UA 设计支持多种总线协议、网络接口和网络拓扑的工业网关。将各提供数据的设备使用的协议标准化为OPC UA协议[14]。
(3)边缘数据处理。通过设备部署实现边缘端和云端的协同。基于流式计算处理边缘设备产生的数据,实时响应业务需求,并行聚合非实时数据并传到云端,实现边缘计算和云计算的协同。
1.2.1 时序数据
时序数据就是时间序列数据,即某个指标根据时间顺序记载的数据序列[15]。在以时间为横轴的坐标系中将时序数据值连成线,可将历史时序数据做成多维度表,发现其规律和异常,也可将时序数据用于大数据分析,实现趋势预测和异常预警。
工业互联网环境下需采集的工业时序数据量巨大,且具有如下典型特征:数据都是结构化的;一个采集点的数据源是唯一的;数据较少有更新或删除操作,一般按到期日期来删除;数据以写操作为主,读操作为辅;数据流量平稳,可较为准确地计算;数据都有统计、聚合等实时计算操作;数据根据指定的时间段和区域进行查找。
1.2.2 时序数据库特性
时序数据库即存储时序数据的数据库。它允许快速写入、持久化、多维度地聚合查询时序数据等操作[16]。该类数据库不但存储了此刻的数据值,而且保存了全部历史数据,在查询时也总会将时间作为过滤条件。
以存储风速传感器数据的时序数据库为例(图2),时序数据库的相关定义如表1所示。
图2 时序数据库基本概念图
表1 时序数据库相关定义
时序数据库适用于一切有时序数据形成,对数据的历史规律、异常变化等有分析需求,或者需判断时序数据后续发展趋势的场景。根据工业大数据特点和实际需要,将本文使用的时序数据库的内部架构设计为图3所示的架构。
图3 时序数据库内部架构
随着企业生产规模的扩大和生产工艺的提高,需要采集的现场生产数据愈加庞大[17],常规采用单计算机体系结构的实时数据库产品遇到了单台计算机体系结构处理能力的限制,无法有效满足现场生产数据共享的需要。为了便于计算机处理,需要将来自工业生产现场中连续变化的工艺参数等数据进行离散数字化取样,生成持续的、间断变化的离散数字数据流。
InfluxDB时序数据库起源于服务器运行情况的监控领域,较为复杂的元数据模型使除测点、时间、取值以外的附加属性信息得以保存[18]。该数据库基于日志结构合并树(Log Structured Merge Tree, LSM)提出了时间结构合并树(Time Structured Merge Tree, TSM),分别优化了时序数据的读和写。写入过程中,数据增加到日志文件中,并在内存中缓存,当缓存至一定容量时新建日志文件,并运行压缩线程,把数据压缩成TSM数据文件。
2013年,influxDB时序数据库被Errplane公司开源,经不断优化后目前排至开源时序数据库的首位。
基于influxDB思想设计工业时序数据库的引擎,如图4所示。从上到下包括数据库实例、存储策略、存储分片几个层次[19]。每个存储分片里包含一个内存缓存区、一或多个日志文件、多个数据文件,以及用于处理写入、压缩、读取的线程。
图4 时序数据库引擎结构示意图
结合工业场景中各数据和对象的全生命周期,统一地将当前系统和设备中的数据进行采集、储存、处理,探寻数据之间的相关性,加入模型分析、算法预测,提高企业的生产工艺水平,完善企业的供应链,提高产品质量,从而改善企业效益。
可将企业数据图谱看作是有机融合企业数据的知识图谱的延伸[20]。它包含计算机视觉、图形学、数学等在内的多学科知识。企业构建数据图谱的主要内容如图5所示。所谓“全生命周期”,指的是按照时间流分析图中包括的主体。
图5 企业构建数据图谱的主要内容
数据本身是一个抽象的概念,随着数据量的不断增大,传统的数据统计方法很难满足用户去理解数据本身含义的任务,而数据可视化作为一项新兴且蓬勃发展的技术,其依赖于本身可视的优越性,已经在自然科学、工程技术、经济、通信及商业等领域得到了广泛的应用并取得了很多卓有成效的进展[21]。对数据的理解,人们普遍倾向于具体、形象的展示,数据可视化方法通过图像、表格等视觉载体“看到”数据,因此在用户对数据进行可视分析的过程中起到了至关重要的作用。
假设时序数据的主要信息是数据的变化趋势,则可从散点图、折线图二者中选取能够最大程度揭示时序数据变化趋势的图表类型,实现时序数据的可视化。
基于时序数据库的工业大数据存储管理系统的性能测试主要是检验其对常见工业数据的存储能力[22]。
存储海量工业时序数据时,通常由若干个终端一起产生多条存储指令,该过程存在较多的风险因素。以在连续存储请求下的数据存储速度作为评估系统存储性能的指标,如
Zmax=Qs/T
(1)
式中,Qs为成功存入数据库的数据量;T为消耗的总时间。
压缩是时序数据库非常重要的能力之一。将存储完成后数据库文件的大小和原始数据大小之比作为评估数据压缩性能的指标,即
R=Sdb/Sr
(2)
式中,Sdb为数据库文件大小;Sr为原始数据大小;R为为压缩比。
在工业互联网快速发展的大背景下,工业生产现场投放了大量的设备传感器和监控系统[23],二者提供的实时数据能够反映设备的状态和生产的进度,其中的大多数据都是按照时间顺序形成的实时数据。这些海量实时数据有着多样化的分析需求和重要的参考价值,此现状下能够融入大数据生态并具有良好扩展性的时序数据库应运而生。对企业而言,设计并实现基于时序数据库的工业大数据存储管理系统,能够为产品的可视化运维、预测性维护、远程智能管理等方面提供依据,降低人员、时间等成本,同时加速工业化与信息化的深度融合,促进复杂重型装备制造业的转型升级,产生社会经济效益。