智能儀器設(shè)備后臺管理系統(tǒng)研究
時間:2022-11-06 10:49:38
導(dǎo)語:智能儀器設(shè)備后臺管理系統(tǒng)研究一文來源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
儀器儀表行業(yè)是為國民經(jīng)濟(jì)各部門提供計量、檢測、調(diào)節(jié)、控制等技術(shù)裝備的一個重要行業(yè)。當(dāng)前人類社會正在從信息化、數(shù)字化時代邁向智能化時代,我們已經(jīng)能夠感受到智能交通、智慧醫(yī)療、智慧教育、智慧金融等等所帶來的更加主動、貼心、便利的生活體驗(yàn)。因此儀器儀表行業(yè)也急需朝著智能化方向發(fā)展。儀器儀表設(shè)備自身的高性能、高精度、高穩(wěn)定、高環(huán)保、高智能固然是我們首先需要追求的,同時對于儀器儀表設(shè)備智能高效的管理也是不可忽視的。當(dāng)前企業(yè)、工廠、學(xué)校以及科研院所對儀器設(shè)備的管理還存在設(shè)備數(shù)量龐大、設(shè)備種類繁多、設(shè)備分級管理不明確、設(shè)備維護(hù)報修不及時等一系列問題。因此急需一套智能高效的儀器儀表后臺管理系統(tǒng)來進(jìn)行管理。本系統(tǒng)后端基于SSM框架進(jìn)行開發(fā),可以有效解決上述問題。
1SSM框架簡介
SSM框架是當(dāng)前應(yīng)用比較廣泛的JavaEE企業(yè)級開發(fā)框架,由Spring+SpringMVC+MyBatis三部分組成,適合用于搭建各種大型的企業(yè)級應(yīng)用系統(tǒng)。1.1Spring框架。Spring是于2003年興起的一個輕量級的Java開發(fā)框架,是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。以IOC和AOP為內(nèi)核,在實(shí)際開發(fā)中,通常服務(wù)器端采用三層體系架構(gòu),分別為表現(xiàn)層、業(yè)務(wù)邏輯層、持久層。(1)IOC控制反轉(zhuǎn):IOC是一種設(shè)計思想,是指在程序開發(fā)中,對象的創(chuàng)建不再由調(diào)用者管理,而是由Spring容器創(chuàng)建。將對象之間的相互依賴關(guān)系交給IOC容器進(jìn)行管理,并由IOC容器完成對象的注入。當(dāng)我們需要創(chuàng)建一個對象時,只需配置好配置文件或相關(guān)注解即可,不用再考慮對象具體是如何創(chuàng)建的,這樣可以把應(yīng)用從復(fù)雜的依賴關(guān)系中解放出來。這就是Spring的IOC思想。(2)AOP面向切面:面向切面是指面向切面的編程思想,就是將那些與具體業(yè)務(wù)無關(guān),卻為眾多模塊所共同調(diào)用的邏輯或功能,例如:事務(wù)管理、日志管理、權(quán)限控制等,把這些抽取并封裝起來,形成單獨(dú)的切面。用到的時候,將這些切面切入到業(yè)務(wù)流程相關(guān)的位置,減少了系統(tǒng)的重復(fù)代碼,降低了模塊間的耦合度,提高了內(nèi)聚性,有利于以后的維護(hù)與擴(kuò)展。1.2SpringMVC框架。SpringMVC是Spring提供給Web應(yīng)用的框架設(shè)計,其使用的靈活度比較高,開發(fā)起來也比較方便。SpringMVC框架主要的組成部分如下。(1)DispatcherServlet:前端控制器。用戶發(fā)送請求交給前端控制器,前端控制器是整個流程控制的核心,由前端控制器調(diào)用其他組件處理用戶請求。(2)HandlerMapping:處理器映射器。HandlerMapping負(fù)責(zé)根據(jù)用戶請求找到合適的Handler處理器,SpringMVC提供了多種不同的映射器實(shí)現(xiàn)不同的映射方式,例如:配置文件方式,實(shí)現(xiàn)接口方式,注解方式等。(3)HandlerAdapter:處理器適配器。將各種Controller適配成DispatcherServlet可以使用的Handler,通過特定規(guī)則去執(zhí)行Handler。(4)Handler:處理器。處理器是后端控制器。它在前端控制器的控制下對用戶請求進(jìn)行處理,Handler涉及業(yè)務(wù)需求,所以需要程序員針對用戶需求進(jìn)行具體開發(fā),最終返回業(yè)務(wù)數(shù)據(jù)。(5)ViewResolver:視圖解析器。進(jìn)行視圖解析,根據(jù)邏輯視圖名解析成真正的視圖View,然后對View進(jìn)行渲染,將處理結(jié)果通過頁面展示給用戶。(6)View:視圖。View是一個接口,實(shí)現(xiàn)類支持不同的類型,例如:JSP、HTML等。1.3Mybatis框架MyBatis是一款優(yōu)秀的持久層框架,它支持定制化SQL、存儲過程以及高級映射。MyBatis可以使用簡單的XML或注解來配置和映射原生信息,將接口和普通的Java對象映射成數(shù)據(jù)庫中的記錄。MyBatis具有以下的特點(diǎn):(1)MyBatis把連接數(shù)據(jù)庫的信息都寫在配置文件中,因此不存在硬編碼問題,方便后期維護(hù)。(2)MyBatis執(zhí)行的sql語句都是通過配置文件進(jìn)行配置,不需要寫在java代碼中。(3)MyBatis的連接池管理、緩存管理等讓連接數(shù)據(jù)庫和查詢數(shù)據(jù)效率更高。
2系統(tǒng)設(shè)計
本系統(tǒng)是基于B/S模式進(jìn)行開發(fā)的,使用IDEA作為代碼開發(fā)工具,使用Maven進(jìn)行項(xiàng)目管理,使用MySQL數(shù)據(jù)庫進(jìn)行數(shù)據(jù)存儲,系統(tǒng)部署在Tomcat服務(wù)器上。在使用的技術(shù)棧方面,后端使用當(dāng)前運(yùn)用比較廣泛的SSM框架以及SpringBoot、Shiro等技術(shù);前端頁面使用JS、JQuery、Thymeleaf、Ajax等技術(shù)。系統(tǒng)總體方案圖如圖1所示。系統(tǒng)整體劃分為八個模塊:系統(tǒng)管理、用戶管理、角色管理、部門管理、人員管理、設(shè)備管理、數(shù)據(jù)顯示、統(tǒng)計中心?;A(chǔ)模塊在實(shí)現(xiàn)其增刪改查的基礎(chǔ)上還要實(shí)現(xiàn)模塊間的關(guān)聯(lián),例如儀器儀表設(shè)備與部門、類別、人員的關(guān)聯(lián)。點(diǎn)擊任一模塊均可以得到與之關(guān)聯(lián)的其他模塊的信息。數(shù)據(jù)顯示模塊可以實(shí)時顯示在線設(shè)備的數(shù)據(jù),當(dāng)數(shù)據(jù)出現(xiàn)異常時及時報警。統(tǒng)計中心模塊可以統(tǒng)計出設(shè)備的歷史數(shù)據(jù),并對其進(jìn)行分析得到給定時間區(qū)間內(nèi)的最大值、最小值、平均值等信息。還可以統(tǒng)計出設(shè)備的在線時長、故障信息等,均以圖表的方式進(jìn)行直觀顯示。系統(tǒng)提供接口和查詢鏈表給具備權(quán)限的設(shè)備維護(hù)管理人員,例如設(shè)備維護(hù)管理人員可以通過掃描設(shè)備上的二維碼進(jìn)入系統(tǒng),進(jìn)行相關(guān)文檔資料的查詢,同時可以反饋故障信息、報修申請等信息給后臺系統(tǒng),后臺系統(tǒng)接收到反饋信息后隨即進(jìn)行相關(guān)轉(zhuǎn)發(fā)處理,提醒相關(guān)負(fù)責(zé)人員等。系統(tǒng)模塊劃分示意圖如圖2所示。
3系統(tǒng)與設(shè)備的通訊
系統(tǒng)與設(shè)備之間采用MQTT協(xié)議進(jìn)行通訊。MQTT由IBM公司開發(fā),是一個即時通訊協(xié)議,也是一個物聯(lián)網(wǎng)傳輸協(xié)議,主要用于輕量級的訂閱/式的消息傳輸。其設(shè)計目的主要是為低帶寬和網(wǎng)絡(luò)環(huán)境不穩(wěn)定情況下的物聯(lián)網(wǎng)設(shè)備提供通訊服務(wù)。它的核心設(shè)計思想是輕量、簡單、開放和易于實(shí)現(xiàn),具有以下幾項(xiàng)主要特性:(1)一字節(jié)固定報頭,兩字節(jié)心跳報文,最小化傳輸開銷和協(xié)議交換,有效減少網(wǎng)絡(luò)流量;(2)開放消息協(xié)議,簡單易實(shí)現(xiàn);(3)訂閱模式,一對多消息;(4)異常連接斷開發(fā)生時,能通知到相關(guān)各方;(5)消息傳輸不需要知道負(fù)載的內(nèi)容;(6)支持三種不同消息傳遞等級,消息QoS支持,可靠傳輸保證:至多一次,可能會出現(xiàn)丟包的情況,使用在對實(shí)時性要求不高的情況,例如,將此服務(wù)質(zhì)量與通信環(huán)境傳感器數(shù)據(jù)一起使用。對于是否丟失個別讀取或是否稍后立即新的讀取并不重要。至少一次,保證包會到達(dá)目的地,但是可能出現(xiàn)重包。剛好一次,保證包會到達(dá)目的地,且不會出現(xiàn)重包的現(xiàn)象。MQTT協(xié)議廣泛應(yīng)用于物聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)、智能硬件、車聯(lián)網(wǎng)、電力能源等領(lǐng)域。例如:物聯(lián)網(wǎng)M2M通信、物聯(lián)網(wǎng)大數(shù)據(jù)采集、Android消息推送、WEB消息推送、移動即時消息、智能硬件、智能家具、智能電器、車聯(lián)網(wǎng)通信、智慧城市、遠(yuǎn)程醫(yī)療、遠(yuǎn)程教育、電力、石油與能源等行業(yè)市場。
4系統(tǒng)主要模塊
4.1用戶管理。用戶管理模塊主要對有權(quán)限登陸該系統(tǒng)的公司所有用戶進(jìn)行統(tǒng)一管理。系統(tǒng)開發(fā)人員為超級管理員,超級管理員先為各個公司創(chuàng)建公司賬號,公司賬號的權(quán)限是每個公司最高的。然后由各個公司賬號為該公司的人員分配員工賬號,不同角色的賬號登錄系統(tǒng)之后所能瀏覽的模塊和所能進(jìn)行的操作各不相同。4.2角色管理。不同級別用戶的操作權(quán)限設(shè)置是基于角色管理模塊實(shí)現(xiàn)的。角色管理模塊通過Apacheshiro設(shè)置各個角色的權(quán)限。在用戶管理中進(jìn)行角色綁定,使得該用戶擁有對應(yīng)角色的操作權(quán)限。4.3設(shè)備管理。設(shè)備管理模塊主要對公司的所有設(shè)備進(jìn)行統(tǒng)一管理。在模塊中實(shí)現(xiàn)儀器設(shè)備與部門、類別、人員的關(guān)聯(lián)。點(diǎn)擊任一模塊均可以得到與之關(guān)聯(lián)的其他模塊的信息。解決了公司設(shè)備數(shù)量龐大、種類繁雜、管理責(zé)任不明確等相關(guān)問題。4.4設(shè)備數(shù)據(jù)。設(shè)備數(shù)據(jù)模塊主要顯示當(dāng)前在線設(shè)備的實(shí)時數(shù)據(jù),設(shè)備通過MQTT協(xié)議與后臺服務(wù)器完成通訊,后臺實(shí)時解析數(shù)據(jù)存入MySQL數(shù)據(jù)庫中,每隔三秒刷新頁面顯示最新的數(shù)據(jù)。4.5統(tǒng)計中心。統(tǒng)計中心模塊可以統(tǒng)計出設(shè)備的歷史數(shù)據(jù),并對其進(jìn)行分析得到給定時間區(qū)間內(nèi)的最大值、最小值、平均值等信息。還可以統(tǒng)計出設(shè)備的在線時長、故障信息等,均以echart圖表的方式進(jìn)行直觀顯示??偨Y(jié):本系統(tǒng)基于SSM框架進(jìn)行開發(fā),系統(tǒng)部署在Tomcat服務(wù)器上,數(shù)據(jù)存儲在MySQL數(shù)據(jù)庫中,系統(tǒng)與設(shè)備之間通過MQTT協(xié)議就行數(shù)據(jù)傳輸。解決了傳統(tǒng)儀器設(shè)備管理方法中的諸多問題,實(shí)現(xiàn)了智能化、科學(xué)化、便捷化的設(shè)備管理。可以廣泛應(yīng)用在企業(yè)、工廠、學(xué)校、科研院所等各種場合。
作者:闞寶 單位:合肥工業(yè)大學(xué)儀器科學(xué)與光電工程學(xué)院