張國平+鄭均輝+張琳
摘 要: 隨著社會經(jīng)濟(jì)的不斷發(fā)展,社會信息化程度的日益提升,物聯(lián)網(wǎng)在人們生活中得到了廣泛的應(yīng)用,給人們帶來了極大的便利,也為社區(qū)信息化管理帶來了新的發(fā)展機(jī)遇。采用SSH2,HTML5和Ajax技術(shù)設(shè)計并開發(fā)一個基于B/S模式的物聯(lián)網(wǎng)社區(qū)信息化管理系統(tǒng),該系統(tǒng)主要實現(xiàn)自動收費、數(shù)據(jù)采集、設(shè)備控制、用戶管理、流量監(jiān)測等功能。后臺數(shù)據(jù)采用Oracle數(shù)據(jù)庫以保證能存放大量的數(shù)據(jù)和實現(xiàn)數(shù)據(jù)的分布式管理。該系統(tǒng)能有效改善社區(qū)收費管理的方式,為管理人員和用戶帶來極大的便利,從而實現(xiàn)社區(qū)管理的自動化和高效化。實驗表明,該系統(tǒng)具有操作簡便、移植性強(qiáng)、加載速度快和易擴(kuò)展等優(yōu)點,達(dá)到了設(shè)計要求。
關(guān)鍵詞: 物聯(lián)網(wǎng)技術(shù); SSH2; Ajax; 社區(qū)管理系統(tǒng)
中圖分類號: TN911.2?34; TP317 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2015)14?0071?03
隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展和人民生活水平的不斷提高,居民對社區(qū)服務(wù)的需求不斷增加,物聯(lián)網(wǎng)社區(qū)信息化建設(shè)已成為我國城市生活中的一個熱點問題[1],現(xiàn)階段我國的物聯(lián)網(wǎng)社區(qū)信息化建設(shè)還處于起始階段[2]。雖然有些城市已經(jīng)在進(jìn)行這方面的嘗試,但大多數(shù)還是采用人工管理、調(diào)查和記錄等手段對社區(qū)進(jìn)行管理來實現(xiàn)社區(qū)各種收費人員信息登記等。顯然這樣很難滿足社區(qū)居民個性化、多樣化的需求,這樣的管理模式和方法需要改進(jìn),因此,人們迫切需要一種高效、科學(xué)的物聯(lián)網(wǎng)社區(qū)信息化管理系統(tǒng)。
為了提高社區(qū)居民生活質(zhì)量和社區(qū)的服務(wù)管理水平,本文提出采用SSH2和Ajax技術(shù),同時,借助計算機(jī)技術(shù)、數(shù)據(jù)采集技術(shù)、網(wǎng)絡(luò)技術(shù)、數(shù)據(jù)庫技術(shù),并結(jié)合物聯(lián)網(wǎng)社區(qū)信息化建設(shè)過程中的經(jīng)驗,開發(fā)一個基于B/S模式的物聯(lián)網(wǎng)社區(qū)信息服務(wù)及管理的綜合應(yīng)用平臺,該系統(tǒng)能使社區(qū)工作人員對社區(qū)的建設(shè)和管理更加科學(xué)和高效。同時能極大化地滿足社區(qū)居民的需求,為他們生活提供便利,它是物聯(lián)網(wǎng)社區(qū)信息化管理的一個強(qiáng)有力的助手。
1 SSH2和Ajax技術(shù)
SSH2是Sruts2+Spring+Hibernate的一個整合框架[3?4],是目前使用較多的一種Web應(yīng)用程序開源框架,該開發(fā)模式能保證各層開發(fā)相對獨立,又能協(xié)調(diào)工作,代碼結(jié)構(gòu)清晰,共享性高,且利于維護(hù)[5]。Ajax即Asynchronous JavaScript and XML(異步JavaScript和XML),是一種用于創(chuàng)建更好更快以及交互性更強(qiáng)的Web應(yīng)用程序的技術(shù)[6?7]。本系統(tǒng)在用戶注冊驗證、設(shè)備實時控制、設(shè)備列表及時刷新、數(shù)據(jù)的采集等功能都用到了Ajax技術(shù),該技術(shù)能降低服務(wù)器負(fù)載,減少數(shù)據(jù)傳輸,同時增強(qiáng)用戶體驗。
2 系統(tǒng)架構(gòu)設(shè)計
通過分析得出,物聯(lián)網(wǎng)社區(qū)管理系統(tǒng)由普通用戶和管理員兩種用戶角色,普通用戶能實現(xiàn)用戶注冊登錄、服務(wù)申請、瀏覽多媒體信息、賬單查詢、用戶信息查詢等功能。管理員用戶能實現(xiàn)數(shù)據(jù)采集、數(shù)據(jù)入庫、流量監(jiān)測、設(shè)備監(jiān)測、用戶監(jiān)測、設(shè)備控制等功能。系統(tǒng)架構(gòu)如圖1所示。
圖1 系統(tǒng)架構(gòu)圖
3 總體設(shè)計
通過需求分析得出,系統(tǒng)的功能主要分為兩部分,普通用戶模塊和管理員模塊。用戶模塊主要包括用戶申請、社區(qū)服務(wù)、收費查詢、個人信息查詢等功能。管理員模塊包括數(shù)據(jù)采集、流量監(jiān)控、設(shè)備檢測、用戶管理、實時控制等功能。系統(tǒng)主要完成對用戶數(shù)據(jù)費采集、入庫、對用戶數(shù)據(jù)的增、刪、改、查操作,對設(shè)備信息進(jìn)行的增加、刪除,修改、查詢操作等。系統(tǒng)功能結(jié)構(gòu)圖如圖2所示。
圖2 系統(tǒng)功能結(jié)構(gòu)圖
4 核心模塊的詳細(xì)設(shè)計
4.1 自動收費功能的實現(xiàn)過程
用戶成功登錄后,可通過點擊水費、電費、煤氣費圖標(biāo),系統(tǒng)會自動加載該用戶上個月的費用記錄。當(dāng)用戶選擇條件對費用信息進(jìn)行查詢時,系統(tǒng)會對用戶的請求做出處理。用戶通過導(dǎo)航進(jìn)入收費管理頁面,在賬單查詢腳本W(wǎng)ater_Payment.js中觸發(fā)一個GetTime()方法獲取系統(tǒng)當(dāng)前時間,通過Jquery.post()方法將獲取的年月份請求到賬單查詢類Water_PaymentAction。Action通過調(diào)用服務(wù)層的getLastmonth()方法查詢對應(yīng)年月份賬單信息。若系統(tǒng)查詢到記錄,則將信息存儲到Map中,然后轉(zhuǎn)化成JSONObject字符串,通過Water_Payment.js回調(diào)函數(shù)callback()獲取Action的處理信息,最后將信息在頁面顯示。若沒有查到相關(guān)記錄,則在頁面顯示沒有查詢到當(dāng)月的記錄。自動收費功能界面如圖3所示。
4.2 設(shè)備監(jiān)測功能的實現(xiàn)過程
當(dāng)管理員選擇手動掃描時,則是對設(shè)備在某個時刻傳回來的參數(shù)進(jìn)行一次掃描。管理員點擊開始掃描,觸發(fā)設(shè)備掃描腳本Device_Scan.js里面的Hand_Scan()方法,通過Jquery.get()方法請求水表設(shè)備類Water_DeviceAction,氣表設(shè)備類Air_DeviceAcyion和電表設(shè)備類Electric_DeviceAction里面的Scan()方法,然后通過調(diào)用服務(wù)層的getDevice_Service()方法查找出參數(shù)異常的設(shè)備。再將結(jié)果返回到Post()方法的回調(diào)函數(shù)里面。若是沒有返回異常參數(shù),則提示管理員沒有掃描到異常。若是返回了異常參數(shù),提示管理員存在異常設(shè)備,并通過頁面的result標(biāo)記將異常設(shè)備的信息顯示出來。設(shè)備監(jiān)測功能的序列圖如圖4所示。
4.3 數(shù)據(jù)采集功能的實現(xiàn)過程
數(shù)據(jù)采集功能是管理員在登錄系統(tǒng)之后,在每月規(guī)定的時間對用戶的水表、電表、氣表等設(shè)備數(shù)據(jù)進(jìn)行采集、過濾、入庫等操作,然后生成用戶該月的水、電、氣等費用對應(yīng)的賬單。管理員在進(jìn)入系統(tǒng)之后,可以選擇采集數(shù)據(jù)的類型:采集全部數(shù)據(jù)和采集部分?jǐn)?shù)據(jù)。其中采集全部數(shù)據(jù)又分為:忽略設(shè)備狀態(tài)、標(biāo)記異常設(shè)備和過濾異常3種模式,下面從采集全部數(shù)據(jù)的標(biāo)記異常設(shè)備模式來描述其實現(xiàn)過程。
采集時標(biāo)記設(shè)備異常。采集時忽略設(shè)備狀態(tài),當(dāng)管理員選擇采集方式為標(biāo)記設(shè)備異常時,通過點擊開始采集按鈕將選擇的值提交到設(shè)備采集類Water_deviceAction里的collectPart()方法,調(diào)用服務(wù)層的Water_Device_service()方法,從數(shù)據(jù)庫中查詢出符合條件的數(shù)據(jù)。然后將查詢的結(jié)果封裝成List并返回到water_info.jsp 頁面,同時觸發(fā)數(shù)據(jù)采集腳本W(wǎng)ater_device.js對頁面接收到的數(shù)據(jù)進(jìn)行掃描,找出水壓和電量參數(shù)不符合正常的標(biāo)準(zhǔn)的記錄,并在其對應(yīng)的標(biāo)記上設(shè)置css屬性,background?color為紅色,給采集人員提示此條記錄的參數(shù)有誤,請謹(jǐn)慎操作。數(shù)據(jù)采集功能實現(xiàn)主界面如圖5所示。
圖4 設(shè)備監(jiān)測功能界面
圖5 數(shù)據(jù)采集功能主界面
4.4 設(shè)備控制功能的實現(xiàn)過程
當(dāng)管理員在點擊實時控制時,點擊進(jìn)入設(shè)備控制臺,在設(shè)備控制臺里面可以看到異常設(shè)備監(jiān)控、正常設(shè)備監(jiān)控、分配新設(shè)備、解除設(shè)備、操作日志5個窗口,管理員可以在每個窗口完成對設(shè)備的不同操作。下面主要描述添加新設(shè)備和解除設(shè)備的實現(xiàn)過程:
(1) 添加新設(shè)備。當(dāng)管理員在添加新設(shè)備窗口,輸入要添加的設(shè)備號、用戶名、社區(qū)號、網(wǎng)絡(luò)號、組號等信息,然后點擊添加。會觸發(fā)Device_Control.js里面的一個Jquery.post()方法,將欲添加的設(shè)備信息和用戶信息發(fā)送到Device_ControlAction里面,然后Action通過調(diào)用service層的device_control_service()方法處理請求信息。若是操作成功,則提示管理員添加成功,并將新分配的設(shè)備存到正常設(shè)備表,管理員只需要刷新正常設(shè)備窗口就可以找到添加的新紀(jì)錄。
(2) 解除設(shè)備。當(dāng)管理員在添加新設(shè)備窗口,輸入要解除的設(shè)備號、用戶名信息,然后點擊解除。會觸發(fā)Device_Control.js里面的一個Jquery.post()方法,將欲添加的設(shè)備信息和用戶信息發(fā)送到Device_ControlAction里面,然后Action通過調(diào)用service層的device_control_service()方法處理請求信息。若是操作成功,則提示管理員添加成功,同時將設(shè)備從正常設(shè)備表中刪除。設(shè)備實時控制實現(xiàn)界面如圖6所示。
圖6 設(shè)備實時控制界面
4.5 流量監(jiān)控功能的實現(xiàn)過程
管理員在登錄之后,可以在流量監(jiān)測頁面查看每個月份用戶設(shè)備產(chǎn)生的流量的統(tǒng)計圖信息。同時管理員也可以通過選擇月份,點擊查看,得到相應(yīng)月份用戶的水量、電量、氣量的綜合統(tǒng)計圖。
管理員在進(jìn)入流量監(jiān)測頁面之后,觸發(fā)Collect.js里面的一個post方法來將獲得的系統(tǒng)當(dāng)前月份請求到設(shè)備采集類Device_recordAction里面,然后調(diào)用service層的getDeviceRecord()方法,發(fā)送SQL語句執(zhí)行數(shù)據(jù)庫聚集函數(shù)的查詢,分別查詢出每個社區(qū),每個網(wǎng)絡(luò)所產(chǎn)生的流量的總和。如果沒有查詢到結(jié)果,則返回沒有當(dāng)月的統(tǒng)計信息,如果查詢到結(jié)果,則將查詢到的數(shù)據(jù)封裝成json數(shù)據(jù),然后通過post的回調(diào)函數(shù)callback獲取數(shù)據(jù),再用eval()函數(shù)解析傳回來的數(shù)據(jù),最后將查詢的結(jié)果數(shù)據(jù)通過數(shù)值轉(zhuǎn)化來編程統(tǒng)計圖中的標(biāo)度。同時給每條記錄設(shè)置不同的css顏色屬性區(qū)別。流量監(jiān)測功能實現(xiàn)界面如圖7所示。
5 結(jié) 論
物聯(lián)網(wǎng)社區(qū)信息化管理系統(tǒng)是物聯(lián)網(wǎng)和互聯(lián)網(wǎng)相結(jié)合的產(chǎn)物,是一個綜合管理、控制、信息查詢的平臺。本文綜合應(yīng)用Ajax+Struts2+Spring+Hibernate技術(shù)并結(jié)合jQuery和HTML5技術(shù)設(shè)計并開發(fā)了一個物聯(lián)網(wǎng)社區(qū)信息管理系統(tǒng),該系統(tǒng)能方便社區(qū)工作人員對社區(qū)的管理更簡便、高效。也給用戶生活帶來極大的便利。在物聯(lián)網(wǎng)發(fā)展迅速的時代,以后還應(yīng)考慮該系統(tǒng)同物聯(lián)網(wǎng)的其他領(lǐng)域相結(jié)合,將物聯(lián)網(wǎng)出現(xiàn)的新理念、新技術(shù)和系統(tǒng)緊密的結(jié)合,進(jìn)一步推進(jìn)物聯(lián)網(wǎng)社區(qū)信息化建設(shè)的發(fā)展。
圖7 流量監(jiān)測功能界面
參考文獻(xiàn)
[1] 李慧,劉星橋,李景,等.基于物聯(lián)網(wǎng)Android平臺的水產(chǎn)養(yǎng)殖遠(yuǎn)程監(jiān)控系統(tǒng)[J].農(nóng)業(yè)工程學(xué)報,2013(13):175?181.
[2] 俞磊,陸陽,朱曉玲,等.物聯(lián)網(wǎng)技術(shù)在醫(yī)療領(lǐng)域的研究進(jìn)展[J].計算機(jī)應(yīng)用研究,2012(1):1?7.
[3] 李淑芳,胡克寒,張鳳麗,等.基于SSH2框架的高??蒲芯W(wǎng)絡(luò)管理系統(tǒng)的實現(xiàn)[J].計算機(jī)應(yīng)用與軟件,2010(7):195?196.
[4] 朱科峰,曹靜,凡燕,等.基于SSH2架構(gòu)的農(nóng)村信息服務(wù)系統(tǒng)的設(shè)計與實現(xiàn)[J].江蘇農(nóng)業(yè)學(xué)報,2013(4):885?891.
[5] 何苗.基于SSH2框架與ExtJS技術(shù)的權(quán)限管理模塊的設(shè)計與實現(xiàn)[J].電子設(shè)計工程,2013(13):44?46.
[6] 楊文,廖宇.基于SSH2的高校網(wǎng)絡(luò)考試平臺的研究與設(shè)計[J].信息技術(shù),2013(4):43?46.
[7] 王旭東,葉昕烔,祁力,等.基于SSH2的物資管控系統(tǒng)的設(shè)計實現(xiàn)[J].浙江電力,2012(6):59?62.