马宇航 邸恒烨
摘要:文章设计的工厂质量数据管理系统不仅能够将面向用户的个性化数据进行解析与存储,还能通过数据转换引擎将工厂质量数据在面向系统的结构化语言和面向用户的个性化语言之间进行交互,从而达到规范管理、提升效率的目的,具有很强的实用性和很大的拓展空间。
关键词:工业互联网;表结构自定义;工厂质量管理;正则表达式匹配
中图分类号:TP391.41 文献标志码:A
0 引言
随着工业信息化的逐步发展、市场竞争的日益激烈,工厂生产的各个方面都需要变得更加智能化、互联网化,包括工厂的生产质量管理数据采集系统[1]。现今,质量检验的目的早已不再是单纯判断产品是否合格,而是需要对以往的数据进行汇总、统计、分析,对未来的生产工作提出建设性的改进与修复措施[2]。目前,很多工厂的质量数据采集系统还存在着诸多问题,如产品生产过程的质量实时监控主要依靠人工,信息反馈以及异常情况处理十分滞后,时效性不够;工厂质量检验的历史数据查询困难,费时费力,各个产品的检验流程和检验结果不易进行数据统计、分析与共享[3-4] 。
针对上述问题,本系统设计了一个支持表结构个性化的工业质量数据管理方法并将该方法应用到质量数据管理QMS系统中。在此基础上,使用Django框架、Python语言完成后端数据管理原型系统的开发,使用Bootstrap3框架、HTML语言、CSS语言、JavaScript语言完成前端数据管理系统的开发,使系统能够解析质检员上传的Excel表单模板,最终将关键字段和描述信息展示出来并反馈给质检员。质检员上传完整的Excel质检表单之后,可以将数据与模板进行解析、分离。通过前端网页的文本框输入将质检数据上传至数据库中,提取数据库中的质检数据,最终按照模板格式生成个性化Excel质检表格。该系统针对建立的数据库表进行映射关系处理,对系统开展准确性和有效性测试验证,用以改善整体的质量生产管理体系。
1 系统功能分析
本系统所有的功能都显示在主页顶部导航栏中。系统功能主要体现在:允许质检员登录、注册及退出操作;允许质检员进行Excel质检模板的上传与解析及生成与更新;允许质检员上传Excel质检表单,再由系统将质检数据提取后,建立新的产品检验流程实用表;允许质检员选择已经上传过的质检模板,前端网页动态生成该检验流程中的所有待检数据文本框,再由质检员输入本次质检数据,最终将所有数据存入数据库中,建立新的产品检验流程实用表;允许质检员选择数据库中的已有产品检验流程实用表,由系统根据该产品检验流程的Excel模板形式,生成个性化Excel质检表单,最终由质检员进行下载。
2 基于正则匹配的数据转换引擎设计
在复杂的Excel解析问题中,需要解决2个问题:一是针对单元格中的数据内容的识别解析以及针对关键字段、数据项与关键字段每一个项目匹配关系的解析;二是针对每个关键字段的数据类型、关系模式、数据存储模式等信息的解析。针对上述复杂Excel表单解析的问题,本项目搭建了一种数据转换模型,即先行对Excel模板进行预编辑并将预编辑后的Excel模板上传,再根据本项目搭建的数据转换引擎将Excel质检表单模板中的所有信息进行提取与解析。上述过程的关键之处是数据转换引擎,因此本系统构建了一种基于正则表达式的数据转换引擎。
2.1 数据转换引擎规则制定
总述性数据共包含2项内容,须按照特定位置进行填写。第一项为“overall”,表明其为总述性数据;第二项为“名称:产品”,代表关键字段名称为“名称”,且其数据为“产品”。
一对一型数据和一对多型数据,其所包含的内容信息会有许多条,除检验项目必须在第一条外,其余的信息位置可随意进行调整。所包含的内容如下:(1)檢验项目为必填项,且必须在第一个位置上。它表明了此单元格应该填写的数据与关键字段的对应关系。(2)关系模式为选填项。它表明了此单元格所代表的检验项目与其数据个数的对应关系。(3)存储形式为选填项。此属性仅在数据的关系模式为一对多时才有作用,它表明了存储形式数据是以行进行拓展还是以列进行存储。(4)描述信息为选填项。它表明了该关键字段在表格中描述信息所处的位置。(5)数据类型选填项。它表明了该关键字段所对应的质检数据类型。
2.2 具体实现流程
Excel质检模板最终通过数据转换引擎解析后,需要得到的信息如下:检验项目列表;数据所处位置字典;关键字段所处位置字典;总体项目数据项字典;总体项目描述信息字典;关系模式字典;数据存储形式字典;关键字段描述信息字典;数据类型字典。第1~5个字典得到了第一个问题中需要得到的信息;第6~9个字典得到了第二个问题需要得到的信息。数据转换引擎工作的具体流程,如图1所示。
3 系统设计与实现
3.1 总体框架
本系统总共需要实现4项功能。本文针对这4项功能设计了4个模块,分别为:Excel模板解析(前端)、网页端输入质检数据、Excel完整质检表单上传、Excel表单导出。总体架构设计如图2所示。
3.2 数据库层次与映射关系
为实现面向用户的个性化数据与面向系统的结构化数据的交互,直观上来说就是Excel和MySQL数据库的交互,需要对各种不同类型的产品、不同形式的检验过程进行管理,而这些管理都需要经过数据库进行导入导出,所以对于数据库层次的设计方案变得至关重要。
基于上述需求,制定了3层数据库层次。首先,每一种产品对应一个数据库。每个产品的数据库中有3种类型的数据库表:产品总表(产品名称_total表)、产品检验流程信息表(产品名称_检验流程_Info表)、产品检验流程实用表(产品名称_检验流程表)。一种检验流程可能会存在很多张实用表单,为各次检验的完整质检表单。产品总表中的一条记录,对应的是某种检验流程,因而对应着2种表单:一是该产品检验流程的信息表;二是该产品检验流程的多张实用表。产品检验流程信息表中的每条记录,对应的是产品检验流程实用表中的一个关键字段。
3.3 主要模块设计与实现
根据实现功能要求,按照模块划分,详细讲述各模块的展示界面、所完成的功能以及如何实现功能的流程。
3.3.1 主页/登录/注册
系统在质检员未登录之前,显示的是无功能的主页,只有登录后才可以合法地进入各模块,登录界面供质检员输入用户名和密码。注册界面供新的质检员进行注册,需要质检员提供其工号、用户名、密码并将这些数据存入数据库。为了增加系统的安全性,密码的保存会通过哈希函数进行加密后存入数据库。
3.3.2 通过网页端上传质检数据
(1)该模块允许质检员在前端网页已上传的模板中进行选择,上传需要提取数据的Excel完整质检表单。(2)将Excel质检表单传入后台,后台对Excel进行解析。(3)在前端将这张产品检验流程实用表展示出来,供质检员查看。本模块的流程如图3所示。
3.3.3 Excel质检表单提取质检数据
本模块的重点工作即为Excel的渲染。Excel渲染的流程如图4所示。染的流程是先提取产品检验流程信息表,再针对检验项目关系模式的不同進行分别存储。
4 结语
本文针对工厂质量检验过程中存在的数据手动采集操作复杂、耗时耗力、不易入库进行共享和保护、
无法在Excel和数据库之间进行灵活转换等问题,设定了一种正则匹配规则,通过正则匹配规则,搭建了基于此正则匹配规则能够提取信息的数据转换引擎,实现复杂Excel模板解析这一关键步骤,最终通过系统测试,完成了本系统的各方面需求,使工厂质量数据管理系统大大提高了质检员的工作效率,并可以与工厂质量系统QMS进行对接。
参考文献
[1]杨荣祥,于慧君.M公司烟机QMS的设计与实现[D].成都:电子科技大学,2019.
[2]俞杰.产品检验数据管理系统设计与实现[J].电脑知识与技术,2011(17):4096-4098.
[3]程佳,陈涛,王成.通用Web表单数据采集系统的设计与实现[D].沈阳:东北大学,2016.
[4]吴海宇.项目数据表单管理系统的建设研究[J].信息系统工程,2017(5):57-58.
(编辑 姚 鑫编辑)
Analysis and design of factory quality management system for personalized table structure
Ma Yuhang1, Di Hengye2
(1.Xian University of Science and Technology, Xian 710049, China;2.University of Science and Technology Beijing, Beijing 100083, China)
Abstract: This paper designs the factory quality data management system, which can parse and store the user-oriented personalized data, and interact the factory quality data between the system-oriented structured language and user-oriented personalized language through the data conversion engine, so as to achieve the purpose of standardized management and improving efficiency. This system has a strong practicability and a great space for expansion.
Key words: industrial Internet; customed structure of table; industrial quality management;regular expression matching