張國平+鄭均輝+張琳


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