倪浩+馬宏波+王慧鋒
摘 要:針對特種設(shè)備型式試驗樣品的數(shù)字化管理,采用RFID技術(shù),結(jié)合計算機網(wǎng)絡(luò)技術(shù),研究設(shè)計了針對特種設(shè)備監(jiān)督研究檢察院的氣瓶、氣瓶閥門、壓力管道用閥門及管件四類樣品的數(shù)據(jù)管理系統(tǒng),并開發(fā)了基于Android操作系統(tǒng)的RFID手持終端,實現(xiàn)了樣品數(shù)據(jù)管理的無紙化、實時跟蹤樣品的狀態(tài)、信息的歸檔與報表導(dǎo)出,不但提高了工作效率,且減少了工作量和人為的差錯。
關(guān)鍵詞:型式試驗;Android;RFID技術(shù);數(shù)據(jù)庫
中圖分類號:TP316 ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識碼:A ? ? ? ? ? 文章編號:2095-1302(2015)01-00-04
0 ?引 ?言
型式試驗是為驗證產(chǎn)品能否滿足技術(shù)規(guī)范的全部要求所進(jìn)行的試驗,是新產(chǎn)品鑒定中必不可少的一個環(huán)節(jié)。上海市特種設(shè)備監(jiān)督檢驗技術(shù)研究院氣瓶閥門檢測中心是經(jīng)國家質(zhì)量監(jiān)督檢驗檢疫總局授權(quán),擁有氣瓶、氣瓶附件、金屬閥門及管件四項型式資質(zhì)的綜合性型式試驗中心。中心每年由型式試驗和委托檢驗業(yè)務(wù)產(chǎn)生的樣品約3 000多只,其中受理氣瓶試驗約100項、氣瓶樣品數(shù)量約300只,受理氣瓶閥門試驗約120項、氣瓶閥門樣品數(shù)量約1 800只,受理壓力管道閥門試驗約240項、壓力管道閥門樣品數(shù)量約1 200只,受理壓力管件試驗約20項、壓力管件樣品數(shù)量約20只。面對繁雜的樣品種類和巨大的樣品數(shù)量,樣品的管理面臨巨大的挑戰(zhàn)。
傳統(tǒng)的試驗樣品標(biāo)識主要采用紙質(zhì)標(biāo)簽、不干膠等傳統(tǒng)方式,可記錄字符有限[1.2]。這種樣品的標(biāo)識方式無法反映樣品試驗的各個環(huán)節(jié),而且這樣的標(biāo)簽易損壞,易受人的主觀判斷影響[3]。
為此,本文采用RFID技術(shù),設(shè)計了基于RFID采集數(shù)據(jù)、計算機信息技術(shù)的數(shù)據(jù)管理系統(tǒng)。通過該系統(tǒng)實現(xiàn)樣品的有序化、透明化及信息化管理,突破傳統(tǒng)樣品的統(tǒng)計和查詢的手段。因此,該系統(tǒng)的設(shè)計具有較大的實用價值和參考意義。
1 ?樣品管理系統(tǒng)的分析與整體設(shè)計
1.1 ?試驗樣品流程分析
型式試驗樣品整個流通過程分為流程、數(shù)據(jù)和文檔三個方面,如圖1所示。樣品的流程主要分為五步:抽樣、封樣,樣品接受,型式試驗,出具報告及證書,樣品歸檔,每一步都需要產(chǎn)生相應(yīng)的信息,包括人員、標(biāo)簽、試驗內(nèi)容、時間等。因此,樣品的RFID應(yīng)能夠涵蓋樣品整個流程中關(guān)鍵數(shù)據(jù)及文檔。
圖1 ?型式試驗樣品流通過程
1.2 ?系統(tǒng)整體架構(gòu)設(shè)計
根據(jù)以上的試驗流程,為了設(shè)計出符合用戶需求的、使用方便的型式試驗樣品RFID系統(tǒng),設(shè)計系統(tǒng)整體結(jié)構(gòu)如圖2所示,它們通過局域網(wǎng)與后臺相連,每個虛線框內(nèi)完成標(biāo)簽對應(yīng)的流程。
1.3 ?硬件的選型與設(shè)計
(1)射頻標(biāo)簽
為滿足各種環(huán)境的試驗要求,選用防水,抗金屬的射頻標(biāo)簽;工作頻率選用13.56 MHz的高頻,保證了讀寫距離在5cm以內(nèi),以防止多標(biāo)簽的誤讀[4];存儲容量為2 Kb,用來存儲樣品的基本信息及試驗信息;標(biāo)簽讀寫速度在1.2 s內(nèi)分別完成讀和寫工作(不包含數(shù)字簽名時間)。
標(biāo)簽依附方式針對閥門和氣瓶的具體形狀采用綁扎式和黏貼式,可以方便、快速地固定在形狀各異的氣瓶及閥門的可檢驗位置。
(2)手持式讀寫器
手持式標(biāo)簽讀寫器采用搭載Android操作系統(tǒng)的高性能、高可靠的工業(yè)級手持終端,具有RFID 模塊和與其它設(shè)備進(jìn)行無線通訊的Wi-Fi模塊,支持ISO 15693和ISO14443兩種標(biāo)簽協(xié)議[5,6],具有3.5寸觸摸屏和按鍵的操作、讀寫穩(wěn)定、安全防暴等特點。讀寫器的結(jié)構(gòu)如圖3所示。
圖3 ?RFID手持讀寫器的結(jié)構(gòu)圖
為了實現(xiàn)樣品標(biāo)簽讀寫特有的信息操作,需要對其進(jìn)行客戶端軟件的開發(fā),針對樣品試驗的不同環(huán)節(jié)的具體管理要求,提供不同的信息輸入輸出界面和數(shù)據(jù)傳輸手段。
1.4 ?軟件架構(gòu)的技術(shù)方案
該系統(tǒng)的軟件主要由后臺數(shù)據(jù)管理系統(tǒng)和手持終端客戶端軟件兩部分組成,分別采用B/S與C/S混合模式的開發(fā)。其中,后臺管理系統(tǒng)存放在Web服務(wù)器和數(shù)據(jù)庫服務(wù)器中,Web服務(wù)器用來處理手持端與前端Web頁面發(fā)送的數(shù)據(jù)并與數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互,最終以JSP頁面的形式返回至前端顯示,因為它可以通過瀏覽器頁面隨意訪問,因此是典型的B/S架構(gòu)[7];客戶端軟件則是在手持器開發(fā)與射頻標(biāo)簽進(jìn)行讀寫的界面并且通過WiFi的形式發(fā)送數(shù)據(jù)至服務(wù)器,軟件安裝在手持終端,因此是典型的C/S架構(gòu)[8]。具體的實現(xiàn)方案如圖4所示。
2 ?基于Android的客戶端軟件的設(shè)計與實現(xiàn)
2.1 ?軟件功能模塊設(shè)計
根據(jù)權(quán)限要求將工作人員按職能的不同劃分為樣品管理員、試驗員、試驗負(fù)責(zé)人三類,權(quán)限貫穿整個軟件的始終,以此為主線來劃分六個功能模塊,如圖5所示。其中,樣品管理員管理樣品入庫、用戶注冊;試驗員負(fù)責(zé)樣品試驗、領(lǐng)用、歸還;試驗負(fù)責(zé)人則負(fù)責(zé)樣品的選擇。模塊之間還存在數(shù)據(jù)共享的情況,如試驗?zāi)K需要獲取試驗選擇的結(jié)果。
圖4 ?系統(tǒng)架構(gòu)的實現(xiàn)方案
圖5 ?RFID讀寫器安卓系統(tǒng)的軟件功能模塊圖
2.2 ?主要功能模塊的實現(xiàn)
在手持器端主要的工作有樣品入庫,樣品試驗選擇,樣品試驗結(jié)果的提交三部分。
(1)樣品提交
樣品入庫的過程主要是從RFID讀寫器發(fā)送數(shù)據(jù)到后臺服務(wù)器的過程,只有樣品管理員才有權(quán)限進(jìn)行此項操作。對于新來的樣品,管理員需要將其基本信息(包括樣品名稱、樣品編號、型號規(guī)格、來樣日期和受檢單位)寫入空標(biāo)簽中,并與樣品綁定。完成之后,再將本批次的樣品信息提交到數(shù)據(jù)庫進(jìn)行保存。界面如圖6所示。
(2)試驗選擇
通過判斷樣品編號前兩位(PX/FX/FM/GJ)來確定樣品大類,跳轉(zhuǎn)到相應(yīng)的試驗項目選擇界面,如圖7所示,用checkbox組件實現(xiàn)多選。
(3)試驗結(jié)果提交
試驗員對上述試驗負(fù)責(zé)人指定的試驗項目進(jìn)行測試,測試完成后對結(jié)果進(jìn)行提交,流程實現(xiàn)如圖8所示。實驗結(jié)果的選擇使用QuickAction組件來實現(xiàn),在它里面添加了“合格”、“不合格”及“復(fù)驗合格”三個選項。
圖6 ?樣品入庫界面 ? ?圖7 ?試驗選擇界面 ? ? 圖8 ?試驗提交界面
3 ?后臺管理系統(tǒng)功能模塊設(shè)計與實現(xiàn)
3.1 ?系統(tǒng)需求分析
根據(jù)型式試驗的流程,主要有樣品的接受、發(fā)放、領(lǐng)用、試驗、回收這幾個階段,從而把軟件劃分為以下功能模塊,如圖9所示。
首先設(shè)置管理員權(quán)限,只有管理員才能登陸后臺管理界面。然后將信息分為五塊:人員信息、樣品基本信息、樣品試驗信息、樣品流動信息和樣品到期信息,其中樣品流動是從客戶端上傳的信息,其中每一個環(huán)節(jié)都是責(zé)任到人。在功能模塊圖的樹狀結(jié)構(gòu)中,每個節(jié)點就是一個很小的功能模塊。每個功能模塊要針對數(shù)據(jù)庫中不同的表來完成相似的操作,即添加記錄、修改記錄、刪除記錄、以及查詢和顯示記錄等。
圖9 ?樣品信息管理模塊
3.2 ?系統(tǒng)主要模塊的實現(xiàn)
3.2.1 ?樣品基本信息模塊的實現(xiàn)
樣品信息需要包括:樣品批號、樣品名稱、型號規(guī)格、來樣時間、受檢單位、樣品數(shù)量。這些信息以樣品批號為關(guān)鍵字段存入數(shù)據(jù)庫的表中,它是通過手持器將樣品信息上傳到上節(jié)提到的入庫模塊中,存入SQL數(shù)據(jù)庫。在此模塊中實現(xiàn)了這些信息的分頁和查詢,如圖10所示。
3.2.2 ?樣品試驗信息模塊的實現(xiàn)
針對不同種類的樣品,其試驗項目各不相同,需要根據(jù)樣品編號來查詢單個樣品的試驗信息。同時,還需要了解數(shù)據(jù)庫中已有樣品試驗的進(jìn)度。因此設(shè)置以下兩種查詢模式。
(1)試驗進(jìn)度查詢
樣品試驗進(jìn)度查詢模塊對手持器提交的試驗信息進(jìn)行統(tǒng)計得出試驗進(jìn)度。根據(jù)試驗負(fù)責(zé)人提交的試驗個數(shù)、試驗員提交的完成情況可知,某個樣品共需要試驗項目個數(shù)和已完成的試驗個數(shù),以此做出進(jìn)度條來顯示試驗進(jìn)度,效果如圖11所示。具體方法是由HTML、JAVA語言結(jié)合CSS樣式實現(xiàn)。
圖10 ?基本信息查詢界面
圖11 ?樣品試驗進(jìn)度查詢
(2)試驗結(jié)果查詢
試驗結(jié)果查詢的主要信息為樣品編號、試驗名稱、試驗結(jié)果。因為這是單個樣品的查詢,為方便數(shù)據(jù)庫數(shù)據(jù)的存儲和工作人員的查詢,界面設(shè)置了可選擇的樣品分類,如圖12所示,首先樣品有氣瓶閥門、氣瓶、管道閥門、管件四大類,根據(jù)選擇進(jìn)入不同的頁面,然后選擇具體種類的樣品,如測試氣瓶主要有十類,最后輸入編號查詢。
圖12 ?樣品種類選擇
4 ?系統(tǒng)功能性優(yōu)化的分析與研究
4.1 ?提高數(shù)據(jù)傳輸速率
在整個系統(tǒng)中,提交樣品信息和試驗信息等環(huán)節(jié)多次涉及到安卓端與服務(wù)器端的數(shù)據(jù)傳輸,因此需要通過Web Service進(jìn)行數(shù)據(jù)處理。Web Service 采用 XML 標(biāo)準(zhǔn)進(jìn)行數(shù)據(jù)傳輸,加大了傳輸?shù)臄?shù)據(jù)量,尤其是在傳輸一些具有比較嚴(yán)格結(jié)構(gòu)的數(shù)據(jù)時,會使得傳輸效率有所下降[9]。
因此,用JSON來進(jìn)行數(shù)據(jù)的封裝是比較可行的一種優(yōu)化方法。一方面是因為Android支持JSON,另一方面JSON的封裝格式簡單,不像XML那樣需要有嚴(yán)格的閉合標(biāo)簽,這就讓有效數(shù)據(jù)量與總數(shù)據(jù)包比大大提升,從而減少同等數(shù)據(jù)流量的情況下,網(wǎng)絡(luò)的傳輸壓力[8]。除此之外,還可以減少傳輸次數(shù),減少數(shù)據(jù)庫的調(diào)用,將多個傳輸?shù)臄?shù)據(jù)一次發(fā)送,如此,用戶只用等待一次的數(shù)據(jù)傳輸時間,而其他的工作都在服務(wù)器端進(jìn)行處理。
4.2 ?提高系統(tǒng)數(shù)據(jù)安全性
系統(tǒng)主要采用的是B/S架構(gòu)的設(shè)計,代碼與數(shù)據(jù)都存放在服務(wù)器上,前端的頁面只提供用戶交互,無法修改代碼和數(shù)據(jù),這樣增加了系統(tǒng)的安全性。本系統(tǒng)的Web前端和手持器的客戶端都需要通過身份驗證,只有授權(quán)了的用戶才可以進(jìn)入系統(tǒng)。但這個基于JSP的系統(tǒng)依然存在一些安全隱患,比如,用戶不恰當(dāng)?shù)腢RL請求會導(dǎo)致數(shù)據(jù)暴露,JSP之間傳遞表單數(shù)據(jù)時可以在前端頁面查看,調(diào)用數(shù)據(jù)庫數(shù)據(jù)的安全等。
解決方法:
(1)對于一般不恰當(dāng)?shù)腢RL請求,采用filter過濾器過濾用戶輸入的敏感詞匯,并且用Filter接口中一個doFilter方法來判斷用戶是否處于登陸狀態(tài),如果保存在session中的登錄信息已經(jīng)失效,那要跳轉(zhuǎn)頁面時會自動跳轉(zhuǎn)到登陸界面重新登陸。
(2)對于JSP之間傳遞表單的數(shù)據(jù),把它存在session中,通過調(diào)用request的getSession()方法獲得數(shù)據(jù),這樣不會把數(shù)據(jù)暴露在客戶端。
(3)JSP連接數(shù)據(jù)庫時,會在頁面中寫代碼,如下:
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'");
可以看到,數(shù)據(jù)庫的所有信息,包括數(shù)據(jù)庫所在主機的IP地址,數(shù)據(jù)庫連接端口,用戶名和密碼都直接編寫在了JSP代碼中,如果JSP源代碼泄漏給非法用戶,就可以通過SQLServer客戶端程序?qū)?shù)據(jù)庫進(jìn)行各種操作,那將對數(shù)據(jù)庫的安全造成巨大的威脅[10]。
因此,解決辦法就是將數(shù)據(jù)庫的連接封裝在JavaBean中,在JSP中直接調(diào)用JavaBean完成數(shù)據(jù)庫的連接,即采用MVC的模式開發(fā)系統(tǒng)。
5 ?結(jié) ?語
隨著RFID技術(shù)的廣泛應(yīng)用,將RFID的硬件與軟件管理系統(tǒng)相結(jié)合的需求日益迫切。本文設(shè)計了一個適用于特種設(shè)備樣品管理的數(shù)據(jù)管理系統(tǒng),提出了幾點系統(tǒng)優(yōu)化的建議。它是利用RFID電子標(biāo)簽實現(xiàn)樣品設(shè)備的數(shù)字化存儲,并采用JSP技術(shù)實現(xiàn)樣品信息的管理。該系統(tǒng)的實現(xiàn),降低了企業(yè)的人力成本,提高了企業(yè)的效率,帶來了一定的經(jīng)濟效益。
參考文獻(xiàn)
[1]嚴(yán)能兵,呂輝.實驗室中樣品唯一性標(biāo)識的建立和溯源[J].醫(yī)學(xué)信息(下旬刊),2011,24(10):335.
[2]單存波.基于RFID的高校固定資產(chǎn)管理系統(tǒng)設(shè)計與實現(xiàn)[D].杭州:浙江工業(yè)大學(xué),2011.
[3]董健康,夏芝偉,陳靜杰.基于RFID技術(shù)的航材智能庫存系統(tǒng)設(shè)計[J].制造業(yè)自動化,2013,35(12):43-46.
[4]陳蔭.鋼瓶電子標(biāo)簽讀寫器的開發(fā)與設(shè)計[D].上海:華東理工大學(xué),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混合模式的多級征占用林地監(jiān)督檢查系統(tǒng)[J].安徽農(nóng)業(yè)科學(xué),2014,42(13):3981-3982.
[8]陳望挺,林滿足,陳健,等.基于JSP和Android的C/S結(jié)構(gòu)問卷系統(tǒng)[J].計算機應(yīng)用,2013,33(3):886-889.
[9]李國良.基于Android平臺的物聯(lián)網(wǎng)物流信息系統(tǒng)的設(shè)計與實現(xiàn)[D].濟南:山東大學(xué),2013.
[10]劉應(yīng)剛,周常柱,袁森超,等.基于JSP技術(shù)的Web網(wǎng)站安全性研究[J].現(xiàn)代電子技術(shù),2004,27(12):48-52.