倪浩+馬宏波+王慧鋒



摘 要:針對特種設備型式試驗樣品的數字化管理,采用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.