俞恩軍 吳飛青 俞明輝 鄭銀盛 張豪
【摘 要】針對目前我校實驗設備管理現(xiàn)狀及存在的問題,利用二維碼技術,實現(xiàn)實驗設備信息化管理。本文首先介紹了系統(tǒng)架構及工作原理,并提出我校基于二維碼技術的實驗設備管理信息化系統(tǒng)設計思路并實現(xiàn),以期為其他學校的實驗設備管理信息化提供參考。
【關鍵詞】實驗室;設備管理;二維碼;系統(tǒng)設計
中圖分類號: TP311.52 文獻標識碼: A 文章編號: 2095-2457(2018)13-0018-002
DOI:10.19694/j.cnki.issn2095-2457.2018.13.008
0 引言(前言)
高校的實驗設備為學校的教學、科研提供了良好的物質(zhì)保障,具有種類雜、分布廣、數(shù)量多、使用和更新速度頻繁等特點,因此如何提高實驗設備的管理效率成為一項新的課題。隨著信息技術的快速發(fā)展,傳統(tǒng)的純手工管理和簡單信息化方式已經(jīng)不能適應時代的要求[1-2]。也有些高校在實驗設備管理中使用信息系統(tǒng),主要是某個設備狀態(tài)信息展示和查詢等[3-7],既沒有結合教學和科研的實際需求,也沒有考慮實驗設備的實時信息、后續(xù)的實驗室開放和信息共享等情況[8-10]。本文基于目前流行的二維碼信息技術,構建新型的實驗設備管理系統(tǒng),結合我校的實驗設備管理基本流程,實現(xiàn)實驗設備的高效利用和信息化管理。
1 系統(tǒng)架構及工作原理
軟件開發(fā)的整體架構主要分為B/S(Browser/Server)架構與C/S(Client/Server)架構。B/S為瀏覽器/服務器結構,界面顯示邏輯放在瀏覽器,事務處理邏輯則在Web Server。C/S為客戶端/服務器結構,界面表示、事務處理邏輯放在客戶端,服務端主要負責數(shù)據(jù)的存儲管理。根據(jù)本系統(tǒng)的目標,采用C/S結構(如圖1),由移動端(手機)、Internet網(wǎng)或移動通信網(wǎng)及服務器端構成。
基于二維碼技術的實驗設備管理設計,包括設備信息的二維碼生成、手機端軟件設計和服務器端的網(wǎng)頁和數(shù)據(jù)庫設計。首先通過二維碼軟件生成設備信息對應的二維碼,作為設備的標簽,管理員或使用者通過手機軟件對設備標簽上的二維碼進行掃描,通過對二維碼上的信息進行解析鏈接到服務器上的網(wǎng)頁,通過網(wǎng)頁實現(xiàn)服務器中的數(shù)據(jù)庫與手機端軟件的信息進行交互并顯示。
2 二維碼的教學設備管理系統(tǒng)的設計與實現(xiàn)
2.1 系統(tǒng)功能設計
基于二維碼技術的實驗設備管理系統(tǒng)設計主要包含兩部分:手機端的App設計和服務器端軟件設計。手機端App設計主要包含以下幾個功能,根據(jù)權限管理分為管理員權限和普通用戶權限(如圖2)。管理員通過手機App登陸設備管理信息系統(tǒng),所有設備的信息查詢(設備編號、設備名稱、設備型號、所屬研究所、使用地點、設備狀態(tài)、借用人、管理員、使用統(tǒng)計、購買日期、生產(chǎn)廠家、出廠編號、報廢時間等)及修改、新設備的入庫、教師設備借用審核、學生網(wǎng)上預約審核、設備清查和服務器的設備報廢時間到期提醒等;普通用戶通過手機App軟件掃描設備二維碼可以查看設備的基本信息(設備名稱、設備的位置、設備狀態(tài)、設備功能、設備的教學項目及教學時間等),設備的借用申請、網(wǎng)上預約和解除、設備的報修等。從而實現(xiàn)對我校實驗設備進行規(guī)范、高效、便捷的管理。
2.2 手機端App設計
設備管理信息系統(tǒng)手機客戶端的App開發(fā)是基于Android操作系統(tǒng)和Java語言開發(fā)的,軟件使用Android Studio進行開發(fā)。其中gradle版本選用3.0.1,最低兼容安卓版本使用技術較多且功能相對更加完善的Android 4.1,采用Native App + Web App架構、MVC(Model-View-Controller)開發(fā)設計模式,包含了界面展現(xiàn)、業(yè)務邏輯、數(shù)據(jù)模型3個部分。其中客戶端的界面開發(fā)采用使用操作系統(tǒng)的API,通信部分通過HTTP協(xié)議提供的JSON數(shù)據(jù)接口完成實時數(shù)據(jù)發(fā)送接收。標識設備信息的二維碼碼制采用Data Matrix碼。
界面遵從Material Design設計,使用support.v7.widget中的 toolbar組件,其中左側按鈕來實現(xiàn)左側菜單drawer的打開。在主界面右下方放置floating button來進入由ZXing支持的掃描二維碼界面。
界面設計中,對單獨的組件單獨編寫XML文件,最后在所需的界面中整合,大大提高了修改時的便捷性與各組件間的獨立性。
在規(guī)范二維碼內(nèi)容方面,為保持app的專一性,使用JAVA中字符串相關函數(shù)來過濾非試驗設備內(nèi)容的二維碼。掃描正確二維碼后截取所需內(nèi)容,在新的活動中使用Webview來載入正確的網(wǎng)址。為了在一次掃描后更快進入下一次,在新界面中繼續(xù)加載主界面的drawer按鈕、界面與掃描按鈕。
在網(wǎng)址訪問控制方面,使用HTML DOM 中的userAgent來判斷訪問者的來源。實現(xiàn)方法為通過自定義的UA標識來判斷是否來自于實驗設備管理系統(tǒng)APP的方位請求,在Webview中設置即可完成,而在網(wǎng)頁端,若無已設置的UA表示,則自動跳轉(zhuǎn)至APP下載頁面。使用上述方法,一方面可以對登陸信息及網(wǎng)頁源碼做有效保護,另一方面完全阻止了其他非本app的訪問。
設備管理信息系統(tǒng)手機客戶端的App功能主要包括:掃描二維碼的識別與判斷,對二維碼內(nèi)容的截取,載入正確的web app網(wǎng)址以對應不同的功能,提供正確的UA標識。具體操作界面如圖5所示。
2.3 服務器端軟件設計
服務器端軟件設計包括PHP網(wǎng)頁服務器交互設計和數(shù)據(jù)庫設計。
PHP版本選用5.6,為建立動態(tài)網(wǎng)頁,基本思路為在H5網(wǎng)頁中插入PHP標簽以連接數(shù)據(jù)庫與獲取呈現(xiàn)數(shù)據(jù)。而為在App上實現(xiàn)登錄功能,在App中使用http請求發(fā)送用戶名密碼,在通過用于驗證的PHP反饋得到登陸結果。
PHP登陸中使用session保存用戶信息,在之后的權限驗證、預約信息獲取中使用。在網(wǎng)址的處理方面,通過PHP中的GET方法,可以有效避免多個設備多個網(wǎng)址的繁雜情況。由于在數(shù)據(jù)庫中每個設備對應設置一個唯一不可重復的主鍵(設備編號num),通過在URL中使用‘?num=的方法,即可在一個源代碼相同的PHP中顯示不同的數(shù)據(jù)。而在提交數(shù)據(jù)的action中,通過POST方法,在指向的地址中同樣傳入設置的主鍵num,即可在用于更新修改數(shù)據(jù)的PHP中同樣避免上述情況。如此大大減少了人為的修改校對時間而且在二維碼中只需要有對應能得到主鍵num的字符,即可進入對應的設備頁。
在網(wǎng)頁設備圖片的選擇顯示方面,由于圖片通常較小且數(shù)量較與設備較少,另一方面考慮到載入速度,故而選擇儲存在服務器端而非數(shù)據(jù)庫。而通過使用主鍵num來唯一確定圖片(使用PHP中字符變量的拼接從而得到圖片文件路徑),可以有效代替在數(shù)據(jù)庫儲存路徑的方法,精簡表中的字段數(shù)量。
為使得代碼方便修改、PHP與H5分明且美觀。應盡可能使得PHP標簽短,而不是一味的對H5的使用echo函數(shù)。雖然也能使得網(wǎng)頁功能正常,但由于echo函數(shù)中對單雙引號的判斷機制,H5部分也要做相應的不利于后續(xù)修改的改變。
其中數(shù)據(jù)庫的連接,增查改刪均使用Mysqli,此擴展一方面繼續(xù)支持老版本,另一方面可以完整使用對4.1以上的Mysql功能。連接數(shù)據(jù)庫成功后,使用mysqli_fetch_array函數(shù)對表中數(shù)據(jù)實現(xiàn)調(diào)用,在函數(shù)中傳入MYSQL_BOTH參數(shù),可以得到一個同時包含關聯(lián)和數(shù)字索引的數(shù)組。
數(shù)據(jù)庫設計:數(shù)據(jù)庫作為系統(tǒng)信息的存儲部分,必須對其進行較好的設計和管理才能保證信息的安全和系統(tǒng)的正常運行。Mysql是Web應用方面最好的rdbms(關系數(shù)據(jù)庫管理系統(tǒng))應用軟件之一。關聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi),這樣就加快了速度并提高了靈活性。Mysql數(shù)據(jù)庫既可以在本地進行管理,也可以通過php myadmin在web接口進行管理。為實現(xiàn)用戶的不同權限,把用戶權限寫在數(shù)據(jù)庫中[15],當用戶登錄時,從數(shù)據(jù)庫中讀取出自己的權限,然后把權限放在會話中,用戶可以有多項權限,也可被分配角色。角色權限指派表有兩個字段:角色ID和權限ID,一個角色在這里有多條記錄,代表這個角色有多個權限。用戶權限指派表有3個字段:用戶ID、權限ID和角色ID,權限ID和角色ID的一條記錄只有一個有效,一個用戶有多條記錄,對應不同的權限。
3 結論
通過二維碼技術對實驗室管理軟件的開發(fā)和應用,基于二維碼技術和數(shù)據(jù)庫的支撐,設計了基于二維碼的實驗教學設備管理系統(tǒng)。通過手機App掃描設備二維碼來查閱數(shù)據(jù)庫并及時更新設備信息,可以準確地獲得設備的工作狀態(tài)和存放地址,清楚設備的運行狀態(tài),實現(xiàn)設備的有效管理,為其他實驗室信息化管理提供參考。今后還可把設備通過物聯(lián)網(wǎng)實現(xiàn)實驗數(shù)據(jù)的共享與開放等。
【參考文獻】
[1]曹威,姚湘娥.高校實驗室設備管理系統(tǒng)設計與開發(fā)[J].技術與創(chuàng)新管理,2008,29(3):231-234.
[2]錢泉,康黎明,孟娜.實驗室儀器設備管理問題的分析和解決途徑[J].黑龍江教育,2011(1):47-49.
[3]關淳,王培軍,成岳鵬.基于B/S模式的實驗室設備維修管理系統(tǒng)設計[J].實驗技術與管理,2012,29(6):221-223.
[4]華鑫.基于二維碼技術的實驗室設備管理系統(tǒng)的研究與實現(xiàn)[D].南昌:南昌大學,2015.
[5]曹威,姚湘娥.高校實驗室設備管理系統(tǒng)設計與開發(fā)[J].技術與創(chuàng)新管理,2008,29(3):231-234.
[6]賴力斌.基于ASP的高校實驗設備管理系統(tǒng)的設計[J].貴州大學學報(自然科學版),2008,25(5):503-505.
[7]王海波.學校設備管理系統(tǒng)的設計與實現(xiàn)[D].大連:大連理工大學,2006.
[8]張昕明,朱勇.高校實驗室綜合管理系統(tǒng)的設計與實現(xiàn)[J].實驗技術與管理,2009,26(12):91-92.
[9]賴力斌.基于ASP的高校實驗設備管理系統(tǒng)的設計[J].貴州大學學報(自然科學版),2008,25(5):503-505.
[10]古曉艷,夏志強.基于二維碼的高校教學設備管理系統(tǒng)的設計與實現(xiàn)[J].計算機科學,2017,44(6):523-525,556
[11]李民.基于手機App應用的高校實驗室設備管理系統(tǒng)的設計淺析[J].工業(yè)和信息化教育.2016,3:92-94.