摘要:在物聯(lián)網(wǎng)的大背景下,基于互聯(lián)網(wǎng)技術(shù)實(shí)現對工程機械的遠程管理系統是必然趨勢,相比于傳統管理方式,遠程管理更加高效、便捷。系統基于互聯(lián)網(wǎng)技術(shù),運用Java語(yǔ)言開(kāi)發(fā),基于B/S系統設計結構,采用SpringBoot、MVC架構模式、GPS定位技術(shù)、CSS、JavaScript、ORACLE等Web開(kāi)發(fā)技術(shù),并將工程機械的數據信息準確、快速地從物聯(lián)網(wǎng)網(wǎng)絡(luò )中采集出來(lái),保存到系統數據庫,再針對大型數據庫的設計進(jìn)行優(yōu)化,完成系統的設計。主要介紹了系統的架構設計模式、系統的模塊設計以及關(guān)鍵技術(shù)的實(shí)現。該系統幫助企業(yè)了解如何管理工程機械設備,具有良好的社會(huì )和經(jīng)濟效益,并很好地響應了“數字新經(jīng)濟物聯(lián)新時(shí)代”的主題。
關(guān)鍵詞:物聯(lián)網(wǎng);遠程管理系統;B/S架構;SpringBoot;數據庫設計
在企業(yè)的發(fā)展中,單純的實(shí)地測試、監控、銷(xiāo)售已經(jīng)不再適應時(shí)代的發(fā)展需求,隨著(zhù)大量的買(mǎi)賣(mài)平臺、辦公系統、監控系統的出現,人們更加傾向于使用互聯(lián)網(wǎng)完成日常的工作需求,工程機械與互聯(lián)網(wǎng)技術(shù)的結合正是順應新時(shí)代的發(fā)展而誕生出來(lái)的。本系統在企業(yè)的角度,順應大眾的工作方式的基礎上進(jìn)行了相關(guān)的網(wǎng)站開(kāi)發(fā)。最近幾年,目標公司擁有的車(chē)輛管理系統,一方面在操作性能、車(chē)輛的監控等方面已經(jīng)無(wú)法滿(mǎn)足用戶(hù)的需求,另一方面由于公司的不斷發(fā)展,擁有的裝備越來(lái)越多,原本的系統設計模式弊端日益明顯,對日常工作產(chǎn)生了極大的困擾。本系統基于MVC架構設計模式以及三層架構的軟件編程方式,并考慮到數據庫的可擴展性、高并發(fā)訪(fǎng)問(wèn)、良好的人機交互,采用分庫分表的數據庫設計方式。使用Nginx負載均衡的調度管理以及HTML5、CSS、JavaScript等Web開(kāi)發(fā)技術(shù)進(jìn)行網(wǎng)頁(yè)設計,最終完成系統的開(kāi)發(fā)。
1系統的設計與實(shí)現
工程機械綜合信息管理系統主要由車(chē)輛管理、設備管理、銷(xiāo)售管理、后市場(chǎng)管理以及系統管理組成。車(chē)輛管理負責管理所有庫存、樣機和銷(xiāo)售的裝備信息;設備管理負責管理設備的登記、測試、入庫、出庫等;銷(xiāo)售管理負責管理裝備的銷(xiāo)售、售后維保;后市場(chǎng)管理負責裝備的維保、數據統計、報警信息處理等;系統管理負責進(jìn)行組織結構的建立、劃分權限角色、分配功能操作、進(jìn)行用戶(hù)信息的注冊與維護。
1.1系統整體框架設計
系統的基礎框架采用Java的開(kāi)源框架SpringBoot,架構則采用較為流行的三層架構模式。為了適應現階段系統的大數據、高并發(fā)、高可用等特點(diǎn),Web服務(wù)器采用集群的搭建方式,通過(guò)Nginx反向代理服務(wù)器進(jìn)行負載均衡的調度管理。由于數據量大,而本系統中數據多需要讀取、計算、統計,因此為了減輕數據庫壓力,提高系統的反應速度,通過(guò)使用應用服務(wù)器來(lái)分擔這部分的壓力,同時(shí)使用分庫分表的設計方式,對單庫進(jìn)行垂直劃分、單表進(jìn)行水平劃分,把大量的設備信息表平均的分配到對應的數據庫中,以減輕單個(gè)數據庫的運行壓力。
1.2系統功能模塊設計
針對目標的現狀以及業(yè)務(wù)的需求,對系統的功能做了如下劃分,如圖2所示。系統主要分為五個(gè)模塊:車(chē)輛管理模塊、設備管理模塊、銷(xiāo)售管理模塊、后市場(chǎng)管理模塊以及系統管理模塊。1)車(chē)輛管理模塊:該模塊主要是對工程車(chē)輛的使用密碼的維護、車(chē)輛的實(shí)時(shí)定位、軌跡的追蹤、車(chē)輛的狀態(tài)信息的管理。2)設備管理模塊:該模塊主要是對設備終端的測試,包括指令下發(fā)、參數的配置;設備及終端信息的維護;車(chē)輛的測試、質(zhì)檢。3)銷(xiāo)售管理模塊:該模塊主要包含經(jīng)銷(xiāo)商權限的管理,銷(xiāo)售信息的確認,客戶(hù)信息的登記,設備的維修,機器的注冊以及服務(wù)轉移。4)后市場(chǎng)管理模塊:該模塊主要針對已銷(xiāo)售車(chē)輛,包含車(chē)輛的保養信息、報警信息、通訊情況、工況信息、報表的統計以及維保售后。5)系統管理模塊:該模塊主要是負責組織結構的建立、人員的注冊、信息的維護、角色權限的劃分、權限對應資源的劃分。為了明確各個(gè)人員的管理職責,高效地完成對應的工作,上述第1、2、3、4模塊均需要對每一個(gè)用戶(hù)進(jìn)行相應的授權,提高系統運行的安全性以及管理工作的高效性。
2關(guān)鍵技術(shù)的實(shí)現
2.1分庫分表技術(shù)的實(shí)現
隨著(zhù)本系統的報警數據,實(shí)時(shí)監控數據不斷增長(cháng),數據量日益龐大起來(lái),顯然單個(gè)數據庫、單個(gè)表的容量已無(wú)法滿(mǎn)足需求。為了使本系統能夠運行持久,并具有強大的可擴展性,采用分庫分表的設計方式。將數據庫進(jìn)行垂直切分,將原有的庫劃分為基礎信息庫、實(shí)時(shí)信息庫,緩解了單個(gè)數據庫的運行壓力。但是表的壓力依然存在,采用水平切分的方式分擔表的壓力。在表水平劃分的基礎上,為了使得數據庫的劃分一勞永逸或者易于水平擴展,同時(shí)也為了使壓力能夠平均地分配到各個(gè)數據庫中,我們采用mod2n這種一致性Hash的分庫方式。使用唯一的車(chē)輛編號進(jìn)行劃分,以4個(gè)數據庫為例,使用車(chē)輛編后4位號mod4分到4個(gè)數據庫中,同時(shí)再將車(chē)輛編號后4位Div4mod4將每個(gè)庫分為4張表,分別將數據放置表中,如圖3所示。
2.2緩存技術(shù)的實(shí)現
緩存即為內存中存儲的數據備份,當數據沒(méi)有發(fā)生變化時(shí),可以避免數據的查詢(xún)操作直接連接數據庫,而是去內容中讀取數據,這樣就大大降低了數據庫的讀寫(xiě)次數,而且從內存中讀取數據的速度要比數據庫查找快得多。為了在使用本系統的過(guò)程中,能夠擁有良好的用戶(hù)體驗,針對統計量大的數據以及需要大量計算的數據使用Redis數據庫來(lái)保存緩存。相對于傳統的關(guān)系型數據庫來(lái)說(shuō),Redis不同的是會(huì )將緩存的數據加載至內存中而不是硬盤(pán),同時(shí)作為非關(guān)系型數據庫的代表,Redis的數據擁有Key-Value的表現形式,所以Redis提供了高速的訪(fǎng)問(wèn)數據的條件,同時(shí)Redis也提供了豐富的數據類(lèi)型,以及對數據持久化的支持。核心代碼如下:
2.3基于A(yíng)pachePOI的數據導入、導出技術(shù)的實(shí)現
基于業(yè)務(wù)的需求本系統需要將大量的數據導出成表格以周報、月報的方式呈現出來(lái),同時(shí)在更改服務(wù)期限、更改供應商都需要提供數據的導入以實(shí)現批量的數據操作。在Java世界中,擁有兩套較為成熟的對Excel文件操作的開(kāi)源工具:一個(gè)是JavaExcelAPI,另一個(gè)則是本文使用的ApachePOI。導入、導出流程如圖4所示。數據導入、導出的關(guān)鍵在于如何獲取表格中的數據以及如何創(chuàng )建對應的表格,核心代碼如下所示:數據導出核心代碼:
3結束語(yǔ)
本文介紹了工程機械綜合信息管理系統的設計與實(shí)現,此系統作為工程機械功能的一個(gè)延伸對于工程機械的維護、管理來(lái)說(shuō),影響是巨大的。在現階段互聯(lián)網(wǎng)蓬勃發(fā)展的時(shí)期本系統可以使得工程機械的管理更加高效、便捷,并且提供了一系列的數據統計展示、監控等功能,為以后對工程機械市場(chǎng)的分析、裝備的數據的比較提供了保證。目前該系統已投入使用,并且運行良好。
該內容由行業(yè)企業(yè)、終端個(gè)體、第三方機構提供,本網(wǎng)僅起到傳播該信息的目的,如有任何疑問(wèn)請與轉載來(lái)源機構聯(lián)系解決,感謝支持。如發(fā)現侵權,本網(wǎng)編輯部將協(xié)助進(jìn)行處理或撤稿。
歡迎轉載分享,轉載注明挖掘機加長(cháng)臂、拆樓機加長(cháng)臂、抓木器、快換接頭、松土器專(zhuān)業(yè)
官方網(wǎng)站地址http://m.aessaudi.com非常感謝!
![]() |
![]() |