基于RFID的型式试验样品管理系统的设计与实现

2015-01-26 14:52倪浩马宏波王慧锋
物联网技术 2015年1期
关键词:RFID技术数据库

倪浩+马宏波+王慧锋

摘 要:针对特种设备型式试验样品的数字化管理,采用RFID技术,结合计算机网络技术,研究设计了针对特种设备监督研究检察院的气瓶、气瓶阀门、压力管道用阀门及管件四类样品的数据管理系统,并开发了基于Android操作系统的RFID手持终端,实现了样品数据管理的无纸化、实时跟踪样品的状态、信息的归档与报表导出,不但提高了工作效率,且减少了工作量和人为的差错。

关键词:型式试验;Android;RFID技术;数据库

中图分类号:TP316                  文献标识码:A           文章编号:2095-1302(2015)01-00-04

0  引  言

型式试验是为验证产品能否满足技术规范的全部要求所进行的试验,是新产品鉴定中必不可少的一个环节。上海市特种设备监督检验技术研究院气瓶阀门检测中心是经国家质量监督检验检疫总局授权,拥有气瓶、气瓶附件、金属阀门及管件四项型式资质的综合性型式试验中心。中心每年由型式试验和委托检验业务产生的样品约3 000多只,其中受理气瓶试验约100项、气瓶样品数量约300只,受理气瓶阀门试验约120项、气瓶阀门样品数量约1 800只,受理压力管道阀门试验约240项、压力管道阀门样品数量约1 200只,受理压力管件试验约20项、压力管件样品数量约20只。面对繁杂的样品种类和巨大的样品数量,样品的管理面临巨大的挑战。

传统的试验样品标识主要采用纸质标签、不干胶等传统方式,可记录字符有限[1.2]。这种样品的标识方式无法反映样品试验的各个环节,而且这样的标签易损坏,易受人的主观判断影响[3]。

为此,本文采用RFID技术,设计了基于RFID采集数据、计算机信息技术的数据管理系统。通过该系统实现样品的有序化、透明化及信息化管理,突破传统样品的统计和查询的手段。因此,该系统的设计具有较大的实用价值和参考意义。

1  样品管理系统的分析与整体设计

1.1  试验样品流程分析

型式试验样品整个流通过程分为流程、数据和文档三个方面,如图1所示。样品的流程主要分为五步:抽样、封样,样品接受,型式试验,出具报告及证书,样品归档,每一步都需要产生相应的信息,包括人员、标签、试验内容、时间等。因此,样品的RFID应能够涵盖样品整个流程中关键数据及文档。

图1  型式试验样品流通过程

1.2  系统整体架构设计

根据以上的试验流程,为了设计出符合用户需求的、使用方便的型式试验样品RFID系统,设计系统整体结构如图2所示,它们通过局域网与后台相连,每个虚线框内完成标签对应的流程。

1.3  硬件的选型与设计

(1)射频标签

为满足各种环境的试验要求,选用防水,抗金属的射频标签;工作频率选用13.56 MHz的高频,保证了读写距离在5cm以内,以防止多标签的误读[4];存储容量为2 Kb,用来存储样品的基本信息及试验信息;标签读写速度在1.2 s内分别完成读和写工作(不包含数字签名时间)。

标签依附方式针对阀门和气瓶的具体形状采用绑扎式和黏贴式,可以方便、快速地固定在形状各异的气瓶及阀门的可检验位置。

(2)手持式读写器

手持式标签读写器采用搭载Android操作系统的高性能、高可靠的工业级手持终端,具有RFID 模块和与其它设备进行无线通讯的Wi-Fi模块,支持ISO 15693和ISO14443两种标签协议[5,6],具有3.5寸触摸屏和按键的操作、读写稳定、安全防暴等特点。读写器的结构如图3所示。

图3  RFID手持读写器的结构图

为了实现样品标签读写特有的信息操作,需要对其进行客户端软件的开发,针对样品试验的不同环节的具体管理要求,提供不同的信息输入输出界面和数据传输手段。

1.4  软件架构的技术方案

该系统的软件主要由后台数据管理系统和手持终端客户端软件两部分组成,分别采用B/S与C/S混合模式的开发。其中,后台管理系统存放在Web服务器和数据库服务器中,Web服务器用来处理手持端与前端Web页面发送的数据并与数据库进行数据交互,最终以JSP页面的形式返回至前端显示,因为它可以通过浏览器页面随意访问,因此是典型的B/S架构[7];客户端软件则是在手持器开发与射频标签进行读写的界面并且通过WiFi的形式发送数据至服务器,软件安装在手持终端,因此是典型的C/S架构[8]。具体的实现方案如图4所示。

2  基于Android的客户端软件的设计与实现

2.1  软件功能模块设计

根据权限要求将工作人员按职能的不同划分为样品管理员、试验员、试验负责人三类,权限贯穿整个软件的始终,以此为主线来划分六个功能模块,如图5所示。其中,样品管理员管理样品入库、用户注册;试验员负责样品试验、领用、归还;试验负责人则负责样品的选择。模块之间还存在数据共享的情况,如试验模块需要获取试验选择的结果。

图4  系统架构的实现方案

图5  RFID读写器安卓系统的软件功能模块图

2.2  主要功能模块的实现

在手持器端主要的工作有样品入库,样品试验选择,样品试验结果的提交三部分。

(1)样品提交

样品入库的过程主要是从RFID读写器发送数据到后台服务器的过程,只有样品管理员才有权限进行此项操作。对于新来的样品,管理员需要将其基本信息(包括样品名称、样品编号、型号规格、来样日期和受检单位)写入空标签中,并与样品绑定。完成之后,再将本批次的样品信息提交到数据库进行保存。界面如图6所示。

(2)试验选择

通过判断样品编号前两位(PX/FX/FM/GJ)来确定样品大类,跳转到相应的试验项目选择界面,如图7所示,用checkbox组件实现多选。

(3)试验结果提交

试验员对上述试验负责人指定的试验项目进行测试,测试完成后对结果进行提交,流程实现如图8所示。实验结果的选择使用QuickAction组件来实现,在它里面添加了“合格”、“不合格”及“复验合格”三个选项。

图6  样品入库界面    图7  试验选择界面     图8  试验提交界面

3  后台管理系统功能模块设计与实现

3.1  系统需求分析

根据型式试验的流程,主要有样品的接受、发放、领用、试验、回收这几个阶段,从而把软件划分为以下功能模块,如图9所示。

首先设置管理员权限,只有管理员才能登陆后台管理界面。然后将信息分为五块:人员信息、样品基本信息、样品试验信息、样品流动信息和样品到期信息,其中样品流动是从客户端上传的信息,其中每一个环节都是责任到人。在功能模块图的树状结构中,每个节点就是一个很小的功能模块。每个功能模块要针对数据库中不同的表来完成相似的操作,即添加记录、修改记录、删除记录、以及查询和显示记录等。

图9  样品信息管理模块

3.2  系统主要模块的实现

3.2.1  样品基本信息模块的实现

样品信息需要包括:样品批号、样品名称、型号规格、来样时间、受检单位、样品数量。这些信息以样品批号为关键字段存入数据库的表中,它是通过手持器将样品信息上传到上节提到的入库模块中,存入SQL数据库。在此模块中实现了这些信息的分页和查询,如图10所示。

3.2.2  样品试验信息模块的实现

针对不同种类的样品,其试验项目各不相同,需要根据样品编号来查询单个样品的试验信息。同时,还需要了解数据库中已有样品试验的进度。因此设置以下两种查询模式。

(1)试验进度查询

样品试验进度查询模块对手持器提交的试验信息进行统计得出试验进度。根据试验负责人提交的试验个数、试验员提交的完成情况可知,某个样品共需要试验项目个数和已完成的试验个数,以此做出进度条来显示试验进度,效果如图11所示。具体方法是由HTML、JAVA语言结合CSS样式实现。

图10  基本信息查询界面

图11  样品试验进度查询

(2)试验结果查询

试验结果查询的主要信息为样品编号、试验名称、试验结果。因为这是单个样品的查询,为方便数据库数据的存储和工作人员的查询,界面设置了可选择的样品分类,如图12所示,首先样品有气瓶阀门、气瓶、管道阀门、管件四大类,根据选择进入不同的页面,然后选择具体种类的样品,如测试气瓶主要有十类,最后输入编号查询。

图12  样品种类选择

4  系统功能性优化的分析与研究

4.1  提高数据传输速率

在整个系统中,提交样品信息和试验信息等环节多次涉及到安卓端与服务器端的数据传输,因此需要通过Web Service进行数据处理。Web Service 采用 XML 标准进行数据传输,加大了传输的数据量,尤其是在传输一些具有比较严格结构的数据时,会使得传输效率有所下降[9]。

因此,用JSON来进行数据的封装是比较可行的一种优化方法。一方面是因为Android支持JSON,另一方面JSON的封装格式简单,不像XML那样需要有严格的闭合标签,这就让有效数据量与总数据包比大大提升,从而减少同等数据流量的情况下,网络的传输压力[8]。除此之外,还可以减少传输次数,减少数据库的调用,将多个传输的数据一次发送,如此,用户只用等待一次的数据传输时间,而其他的工作都在服务器端进行处理。

4.2  提高系统数据安全性

系统主要采用的是B/S架构的设计,代码与数据都存放在服务器上,前端的页面只提供用户交互,无法修改代码和数据,这样增加了系统的安全性。本系统的Web前端和手持器的客户端都需要通过身份验证,只有授权了的用户才可以进入系统。但这个基于JSP的系统依然存在一些安全隐患,比如,用户不恰当的URL请求会导致数据暴露,JSP之间传递表单数据时可以在前端页面查看,调用数据库数据的安全等。

解决方法:

(1)对于一般不恰当的URL请求,采用filter过滤器过滤用户输入的敏感词汇,并且用Filter接口中一个doFilter方法来判断用户是否处于登陆状态,如果保存在session中的登录信息已经失效,那要跳转页面时会自动跳转到登陆界面重新登陆。

(2)对于JSP之间传递表单的数据,把它存在session中,通过调用request的getSession()方法获得数据,这样不会把数据暴露在客户端。

(3)JSP连接数据库时,会在页面中写代码,如下:

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

Connection ct = DriverManager.getConnection("jdbc:

sqlserver: // localhost: 1434; DatabaseName = RFID", "sa", "***");

Statement smt = ct.createStatement();

ResultSet rs = smt.executeQuery("select * from Table where sampleId = '2014-0010-001'");

可以看到,数据库的所有信息,包括数据库所在主机的IP地址,数据库连接端口,用户名和密码都直接编写在了JSP代码中,如果JSP源代码泄漏给非法用户,就可以通过SQLServer客户端程序对数据库进行各种操作,那将对数据库的安全造成巨大的威胁[10]。

因此,解决办法就是将数据库的连接封装在JavaBean中,在JSP中直接调用JavaBean完成数据库的连接,即采用MVC的模式开发系统。

5  结  语

随着RFID技术的广泛应用,将RFID的硬件与软件管理系统相结合的需求日益迫切。本文设计了一个适用于特种设备样品管理的数据管理系统,提出了几点系统优化的建议。它是利用RFID电子标签实现样品设备的数字化存储,并采用JSP技术实现样品信息的管理。该系统的实现,降低了企业的人力成本,提高了企业的效率,带来了一定的经济效益。

参考文献

[1]严能兵,吕辉.实验室中样品唯一性标识的建立和溯源[J].医学信息(下旬刊),2011,24(10):335.

[2]单存波.基于RFID的高校固定资产管理系统设计与实现[D].杭州:浙江工业大学,2011.

[3]董健康,夏芝伟,陈静杰.基于RFID技术的航材智能库存系统设计[J].制造业自动化,2013,35(12):43-46.

[4]陈荫.钢瓶电子标签读写器的开发与设计[D].上海:华东理工大学,2012.

[5] ISO/IEC l4443-1: 2000. 7.Identification cards. Contactless Integrated circuit(s) cards. Proximity cards. Part l: Physical characteristics[S].2000.

[6] ISO/IEC 15693-3: 2009.Identification cards. Contactless Integrated circuit(s) cards. Vicinity cards. Part 3: Anticollision and Transmission Protocol[S].2009.

[7]刘欣,王述洋.基于B/S与C/S混合模式的多级征占用林地监督检查系统[J].安徽农业科学,2014,42(13):3981-3982.

[8]陈望挺,林满足,陈健,等.基于JSP和Android的C/S结构问卷系统[J].计算机应用,2013,33(3):886-889.

[9]李国良.基于Android平台的物联网物流信息系统的设计与实现[D].济南:山东大学,2013.

[10]刘应刚,周常柱,袁森超,等.基于JSP技术的Web网站安全性研究[J].现代电子技术,2004,27(12):48-52.

猜你喜欢
RFID技术数据库
浅谈在电力企业计量资产管理中RFID技术的应用