齿轮云测量终端系统构建方法研究

2020-12-08 03:15姚新景张洪良张登攀
计算机测量与控制 2020年11期
关键词:字段齿轮终端

姚新景, 张洪良, 张登攀, 王 宇

(河南理工大学 机械与动力工程学院,河南 焦作 454000)

0 引言

齿轮是重要的基础传动零件,广泛应用于机器设备、仪器仪表的运动传递、负载传递和精密分度。在齿轮智能制造的设计、加工及在役运行的“全生命周期”中,齿轮测量是齿轮高效、高精度生产和可靠运行的保障[1]。从齿轮测量技术本身的发展来看:一方面,齿轮数据的获取能力不断增强;另一方面,测量数据的应用方式也在发生改变,大量的测量数据将实现云端分析。

传统的测量模式不能满足测量系统向技术集成化、人员协作化、设备集成化以及信息和数据共享化方向发展的需求,此外,制造系统中的网络化测量逐步形成以自动化测量技术、网络通信技术以及测量体系应用软件三位一体的分布式测量系统。网格制造模式推动了制造资源和测量应用在网络分布的虚拟组织中的共享和协作。其中,有许多有影响的基于测量技术网格应用的研究项目,Spencer B等[2]通过协作测量支持科学家协作研究地震对现代社会基础设施-建筑物、道路、桥梁等带来的后果和影响, Jackson T等[3]实现飞行器引擎在线诊断和数据共享,Mcmullen D等[4]实现了多个实验室的X射线设备的互联。数据交互共享方面,石照耀等[5-6]建立了齿轮数据交互接口的标准规范,并开发了相应的交互接口。但是,由于大多数的齿轮测量系统以独立的形式分布,不同测量系统中的信息是异构的、不兼容的,因此上述方法并不完全满足测量系统服务集成和数据共享的需求。

为解决上述问题,本文采用微服务架构技术,结合云计算技术,开发齿轮云测量终端系统。构建一个内部资源透明、外部资源集成和协同提供服务的终端系统,实现了对不同地方的测量数据的采集、存储、分析,以及对测量指标中各项误差参数的管理与可视化展示。

1 齿轮云测量终端系统结构及原理

1.1 齿轮云测量终端系统结构

齿轮测量过程遵循的基本环节为数据获取、数据处理、传输、存储、显示以及齿轮测量结果对齿轮制造过程的闭环反馈,齿轮云测量所汇聚的测量资源兼具服务提供和服务应用。齿轮云测量终端系统以开放的方式通过智能感知和云端来接入齿轮测量设备、测量标准规范、齿轮测量大数据平台、测量软件、齿轮加工及原位测量系统等资源。齿轮云测量终端系统结构如图1所示。

图1 齿轮云测量终端系统结构

1.2 齿轮云测量终端系统工作原理

齿轮云测量终端系统主要围绕用户在齿轮测量过程中的需求所进行的一系列数据信息处理,数据采集通道的搭建是整个终端系统实现数据集成的关键和核心。数据集成是将企业或机构中分散、零乱、标准不统一的异构数据进行采集、统一存储的过程,为不同地方的源数据入云和解决“数据孤岛”问题提供了一个方法。

测量系统中的数据通过数据采集通道,集成到齿轮云测量平台中,为云平台中的服务提供支持。模块化开发的齿轮云测量平台通常需要将复杂的业务逻辑抽象为较小的、可复用的服务,并通过一定方式将微服务组织起来。终端系统开发完毕后,可持续交付组件到齿轮云测量平台中,同时需要在服务注册中心进行注册。服务调用者通过服务网关来调用平台中的服务。

2 基于云平台的齿轮云测量系统数据动态集成

测量系统中的数据通过数据采集通道,集成到齿轮云测量平台中,为云平台中的服务提供支持。在齿轮云测量终端系统数据集成的过程中,需要对原始数据进行抽取-转换-加载(Extract-Transform-Load,ETL)处理,为用户提供高质量的数据服务。

2.1 数据采集

齿轮测量过程中遵循的数据分析流程一般为数据获取、数据处理、传输、存储、显示以及反馈。数据在云平台中的流动也是按照数据采集、数据处理、传输、存储、可视化和数据应用等。终端系统通过以下几种途径进行数据的采集:

1)从指定网络端口,进行实时监控新增数据,多用于日志类数据的聚合、移动以及集中式数据存储。

2)通过通信协议进行数据的采集,测量现场中的仪器、传感器通过客户端协议接入到大数据云平台,进而完成数据采集传输。

3)对于数据文件,终端用户以文件上传的方式实现云端采集功能。

4)对于传统关系型数据库中的数据,云平台通过Sqoop组件进行数据的采集。

系统进行数据采集时,云平台数据流程如图2所示。

图2 云平台数据流程

2.2 轻量级的数据交换格式JSON

齿轮领域因其零部件形状尺寸复杂、参数误差种类繁多以及各种参数彼此互有联系却各不相同等特征,会在齿轮设计、加工、测量和在役的过程中产生大量具有复杂关联关系和具有多源异构特性的数据。使用“名称/值”对的JSON文档结构灵活的定义齿轮数据结构,将维度信息中的表结构转换为基于JSON的文档结构,将事件包含的维度信息通过嵌套文档的方式保存[7]。例如表一所示的结构化表数据可以转换为JSON格式数据,结果如图3所示。

表1 关系型数据示例

图3 关系型数据对应的JSON格式

齿轮云测量平台采集到的数据主要有业务数据和测量行为数据,数据仓库以此进行一系列的加工处理。本文使用hive将云平台获取的数据文件映射为数据仓库中的表,并根据数据结构和粒度将数据仓库分为原始数据层、明细数据层、服务数据层等,应用程序参照需求在不同数据层进行数据处理。

当云平台从系统文件中采集到数据后,会在数据仓库的原始数据层创建表,测量行为数据表中包含具体信息的字段为String类型,原始数据层中数据表信息字段的数据内容结构如图4所示。

图4 原始数据层内容字段的数据结构

2.3 云平台中数据的解析转换

在采集到的测量行为数据中,不同测量指标所对应的字段内容不同,例如齿轮累计偏差指标、齿廓偏差指标、径向跳动指标等不同测量指标的参数不同,对应数据表中的字段也不同。对此,数据仓库通过自定义UDF(user defined function)函数和自定义UDTF(user defined table-generating function)函数对测量行为数据进行解析。

进行数据解析前需要对原始数据层的数据表进行整体的分析,测量行为数据表中包含测量指标详情的字段是String类型,其数据结构如图4所示,由时间戳、分隔符“^”和JSON数据组成。JSON数据由JSON对象和JSON数组组成,内容主要由描述齿轮基本信息的基础公共字段,和包含不同测量指标的功能字段组成,功能字段为JSON数组。

自定义UDF函数解析基础公共字段,通过自定义Java类BaseFieldUDF中的方法实现。方法的输入参数为包含测量指标详情的String字符串和基础公共字段中键值对中的key,将传入的字符串用“^”切割,并通过程序中的判断语句对传入的数据做简单的数据清洗,去除空json或结构不完整的字段,再取出时间戳和json数据。根据切割后获取到的json数据,创建一个JSONObject对象,根据key值“base”得到基础公共字段的json对象baseJson,循环遍历基础公共字段中的key向baseJson中取值,从而把基础公共字段的值完整的解析出来。

自定义UDTF函数基于前面UDF函数,在原来的json有一个初步的解析之后,对不同的测量指标数据进行解析。自定义UDTF函数类FuncJsonUDTF,需要继承通用抽象类GenericUDTF,重写initialize()、process()和close()等方法。initialize()方法中指定输出参数的名称和参数类型:func_name,func_json。两个都是string类型。当没有数据需要处理的时候会调用close()方法,关闭资源。process()方法中输入一条记录,输出若干条结果,输出结果的数量取决于测量指标详情部分的数组所包含的测量指标个数。

2.4 齿轮云测量终端系统数据动态集成

基于云平台的齿轮云测量终端系统的信息交互本质上是数据的集成与交换,在基于云平台的数据集成的过程中,机构i的业务j的源数据信息定义为固定长度的元组:

TSi,j_tuple=(TStype,TSname,TSTable,TSField,TSFieldT,TSExtend ),其中TSi,j_tuple表示机构i的业务j的源数据信息;TStype存放业务数据库类型,例如hive、mysql、hbase、mongodb等;TSname存放数据库名;TSTable存放数据库表名;TSField存放数据库表的字段名;TSFieldT存放数据库表的字段类型;TSExtend存放备注信息。

云平台上集成到目的地中的数据信息定义模型与源数据信息定义模型相似,源数据与目的地数据的对应关系为:

Transfer={TSi,j_tuple,TDi,j_tuple,RuleTSi,j →TDi,j},其中TDi,j表示目的地数据信息;RuleTSi,j →TDi,j表示源数据信息向目的地数据转换的规则。上述过程对应云平台数据集成模型如图5所示。

图5 云平台数据集成

3 齿轮云测量终端系统设计及开发流程

3.1 齿轮云测量终端系统设计

齿轮云测量终端系统包括进行数据交换的齿轮测量云终端、齿轮测量服务系统和齿轮测量云平台。

齿轮测量云终端为终端用户提供齿轮测量云检索、齿轮信息数据云存储、测量数据处理和测量结果的可视化表征等服务,基于浏览器或其他应用程序,调用统一的应用服务接口。

齿轮测量云平台主要实现数据的集成功能,对异构数据源进行统一的管理,完成数据的共享。云平台提供的功能服务:数据传输、应用中间件、分布式数据存储、数据中心、大数据平台、ETL、大数据并行计算。

齿轮测量服务系统主要负责系统业务功能实现和服务的组合,采用微服务架构,服务系统与指定的信息源进行连接及数据交换,并对从指定信息源获取的齿轮测量信息进行数据封装,接着发送到与之对应的数据库和齿轮测量云终端。此外,把从齿轮测量云终端获取的齿轮综合评价结果保存到对应的齿轮测量数据库中;其中,齿轮测量服务系统包括服务接口模块、齿轮测量数据管理模块、测量数据封装模块和测量数据发送模块等。

3.2 齿轮云测量终端系统开发流程

齿轮云测量终端系统开发过程包括明确各环节用户需求、理清功能原理和功能模块设计思路、整体结构规划、标准服务模块设计、模块接口定义和模块化服务平台的构建等,服务平台的模块化开发流程如图6所示。

图6 齿轮云测量终端系统开发流程

1)明确各环节用户需求,面向不同用户和不同服务场景。

2)理清功能原理和功能模块设计思路,从可装配、可重用性、一致性等特性来选择对应的功能原理。

3)整体结构规划,在尽可能少的结构模块的情况下,提供尽可能多的服务种类。

4)标准服务模块设计,抽象出可重用模块,减轻系统模块管理难度。

5)模块接口定义,把不同的结构模块串联起来,使之成为一个柔性组合。

6)模块化服务平台构建,建立模块间的关系,搭建一个可配置的服务平台。

4 系统应用实现

齿轮云测量终端系统后台代码主要采用Java语言编写,通过Spring Boot框架和Spring Cloud技术进行服务的开发和管理[8],数据持久层使用MyBatis技术将Java的POJO和MySQL中的数据表进行映射。利用Vue.js框架进行页面的开发。使用Hadoop来进行云计算平台的搭建[9-10],云平台中Hadoop集群完全分布式网络拓扑图如图7所示。

图7 云平台中Hadoop集群完全分布式网络拓扑图

齿轮云测量终端系统应用程序的核心业务由多个微服务构成,在系统交互页面中可聚合不同数量的微服务,后台服务利用网关对外提供接口以便服务的调用[11]。

4.1 用户权限管理服务

系统中用户对页面内容的操作和访问权限由用户角色关系以及角色菜单关系控制,系统管理员可对用户权限进行修改,用户登录后可以获取接入云平台的齿轮测量设备信息、传感器信息、齿轮精度参数、测量指标以及国际或国家齿轮测量评价标准,同时可进行云平台中资源的上传与下载等一系列操作。

4.2 资源管理服务

对于系统已经授权的用户而言,可以通过资源管理服务查看并管理相关的系统资源信息。主要包括系统中的设备资源、传感器采集到的数据资源,用户可以通过终端页面对这些设备资源信息进行查看和编辑,如设备的名称、编号、对应的状态。

4.3 测量数据集成管理服务

测量数据集成管理服务是齿轮云测量终端系统的核心功能模块,系统需要将云平台数据采集通道中获取的数据汇聚起来,分析处理后保存在数据库中。此外系统为用户提供指定时间段的实测数据查询、误差曲线绘制、数据文件上传和下载等服务。

4.4 检索服务

系统根据用户给定的检索条件,对其进行关键词解析,通过倒排索引等技术在云数据中心相应的数据库中进行资源过滤,最后按照一定的顺序将检索到的结果渲染到Web页面上。

4.5 齿轮云测量终端系统界面与使用效果

测量人员可以在齿轮云测量终端系统中通过浏览器调用相应的服务。图8为齿轮云测量终端系统数据中心前端界面。图9为齿轮云测量平台数据集成中的数据管理服务界面。图10为测量指标分析。

图8 齿轮云测量终端系统数据中心

图9 齿轮云测量终端系统数据管理服务

图10 测量指标分析

5 结束语

本文针对齿轮测量系统资源有限、分散、独立,无法动态耦合互联网平台及测量资源,齿轮测量数据的异构性以及数据孤岛等问题,开发了齿轮云测量终端系统。该系统通过云平台从测量现场或系统文件采集到数据后,先对数据做简单的清洗、规整,其次利用数据仓库中的自定义函数对数据进行解析转换,解析出各种测量指标,最后将数据统一存放在云数据中心中,供系统服务使用。本文为齿轮及族系协作测量和信息交流提供了技术支持和设计方案,提高了齿轮测量的数字化水平。

猜你喜欢
字段齿轮终端
带钩或不带钩选择方框批量自动换
复杂线束在双BCI耦合下的终端响应机理
终端拜访工作中的七大漏洞
X美术馆首届三年展:“终端〉_How Do We Begin?”
你找到齿轮了吗?
异性齿轮大赏
骑车上班日
浅谈台湾原版中文图书的编目经验
“吃人不吐骨头”的终端为王
单缸柴油机齿轮搭配