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