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