张国平1,郑均辉2,张琳1
(1.平顶山学院软件学院,河南平顶山467000;2.平顶山学院计算机科学与技术学院,河南平顶山467000)
摘要:随着社会经济的不断发展,社会信息化程度的日益提升,物联网在人们生活中得到了广泛的应用,给人们带来了极大的便利,也为社区信息化管理带来了新的发展机遇。采用SSH2,HTML5和Ajax技术设计并开发一个基于B/S模式的物联网社区信息化管理系统,该系统主要实现自动收费、数据采集、设备控制、用户管理、流量监测等功能。后台数据采用Oracle数据库以保证能存放大量的数据和实现数据的分布式管理。该系统能有效改善社区收费管理的方式,为管理人员和用户带来极大的便利,从而实现社区管理的自动化和高效化。实验表明,该系统具有操作简便、移植性强、加载速度快和易扩展等优点,达到了设计要求。
教育期刊网 http://www.jyqkw.com
关键词 :物联网技术;SSH2;Ajax;社区管理系统
中图分类号:TN911.2?34;TP317 文献标识码:A 文章编号:1004?373X(2015)14?0071?03
收稿日期:2014?12?25
基金项目:河南省科技厅基础与前沿技术研究计划项目(132300410422);平顶山学院青年科研基金项目(PDSU?QNJJ?2013010)
随着物联网技术的发展和人民生活水平的不断提高,居民对社区服务的需求不断增加,物联网社区信息化建设已成为我国城市生活中的一个热点问题[1],现阶段我国的物联网社区信息化建设还处于起始阶段[2]。虽然有些城市已经在进行这方面的尝试,但大多数还是采用人工管理、调查和记录等手段对社区进行管理来实现社区各种收费人员信息登记等。显然这样很难满足社区居民个性化、多样化的需求,这样的管理模式和方法需要改进,因此,人们迫切需要一种高效、科学的物联网社区信息化管理系统。
为了提高社区居民生活质量和社区的服务管理水平,本文提出采用SSH2和Ajax技术,同时,借助计算机技术、数据采集技术、网络技术、数据库技术,并结合物联网社区信息化建设过程中的经验,开发一个基于B/S模式的物联网社区信息服务及管理的综合应用平台,该系统能使社区工作人员对社区的建设和管理更加科学和高效。同时能极大化地满足社区居民的需求,为他们生活提供便利,它是物联网社区信息化管理的一个强有力的助手。
1 SSH2 和Ajax 技术
SSH2是Sruts2+Spring+Hibernate的一个整合框架[3?4],是目前使用较多的一种Web 应用程序开源框架,该开发模式能保证各层开发相对独立,又能协调工作,代码结构清晰,共享性高,且利于维护[5]。Ajax 即Asynchro?nous JavaScript and XML(异步JavaScript和XML),是一种用于创建更好更快以及交互性更强的Web应用程序的技术[6?7]。本系统在用户注册验证、设备实时控制、设备列表及时刷新、数据的采集等功能都用到了Ajax 技术,该技术能降低服务器负载,减少数据传输,同时增强用户体验。
2 系统架构设计
通过分析得出,物联网社区管理系统由普通用户和管理员两种用户角色,普通用户能实现用户注册登录、服务申请、浏览多媒体信息、账单查询、用户信息查询等功能。管理员用户能实现数据采集、数据入库、流量监测、设备监测、用户监测、设备控制等功能。系统架构如图1所示。
3 总体设计
通过需求分析得出,系统的功能主要分为两部分,普通用户模块和管理员模块。用户模块主要包括用户申请、社区服务、收费查询、个人信息查询等功能。管理员模块包括数据采集、流量监控、设备检测、用户管理、实时控制等功能。系统主要完成对用户数据费采集、入库、对用户数据的增、删、改、查操作,对设备信息进行的增加、删除
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_De?viceAction,气表设备类Air_DeviceAcyion和电表设备类Electric_DeviceAction 里面的Scan()方法,然后通过调用服务层的getDevice_Service()方法查找出参数异常的设备。再将结果返回到Post()方法的回调函数里面。
若是没有返回异常参数,则提示管理员没有扫描到异常。若是返回了异常参数,提示管理员存在异常设备,并通过页面的result标记将异常设备的信息显示出来。
设备监测功能的序列图如图4所示。
4.3 数据采集功能的实现过程
数据采集功能是管理员在登录系统之后,在每月规定的时间对用户的水表、电表、气表等设备数据进行采集、过滤、入库等操作,然后生成用户该月的水、电、气等费用对应的账单。管理员在进入系统之后,可以选择采集数据的类型:采集全部数据和采集部分数据。其中采集全部数据又分为:忽略设备状态、标记异常设备和过滤异常3种模式,下面从采集全部数据的标记异常设备模式来描述其实现过程。
采集时标记设备异常。采集时忽略设备状态,当管理员选择采集方式为标记设备异常时,通过点击开始采集按钮将选择的值提交到设备采集类Water_deviceAc?tion 里的collectPart()方法,调用服务层的Water_De?vice_service()方法,从数据库中查询出符合条件的数据。然后将查询的结果封装成List并返回到water_info.jsp 页面,同时触发数据采集脚本Water_device.js 对页面接收到的数据进行扫描,找出水压和电量参数不符合正常的标准的记录,并在其对应的标记上设置css属性,background?color为红色,给采集人员提示此条记录的参数有误,请谨慎操作。数据采集功能实现主界面如图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_con?trol_service()方法处理请求信息。若是操作成功,则提示管理员添加成功,同时将设备从正常设备表中删除。设备实时控制实现界面如图6所示。
4.5 流量监控功能的实现过程
管理员在登录之后,可以在流量监测页面查看每个月份用户设备产生的流量的统计图信息。同时管理员也可以通过选择月份,点击查看,得到相应月份用户的水量、电量、气量的综合统计图。
管理员在进入流量监测页面之后,触发Collect.js里面的一个post方法来将获得的系统当前月份请求到设备采集类Device_recordAction里面,然后调用service层的getDeviceRecord()方法,发送SQL语句执行数据库聚集函数的查询,分别查询出每个社区,每个网络所产生的流量的总和。如果没有查询到结果,则返回没有当月的统计信息,如果查询到结果,则将查询到的数据封装成json 数据,然后通过post的回调函数callback 获取数据,再用eval()函数解析传回来的数据,最后将查询的结果数据通过数值转化来编程统计图中的标度。同时给每条记录设置不同的css颜色属性区别。流量监测功能实现界面如图7所示。
5 结论
物联网社区信息化管理系统是物联网和互联网相结合的产物,是一个综合管理、控制、信息查询的平台。本文综合应用Ajax+Struts2+Spring+Hibernate技术并结合jQuery和HTML5技术设计并开发了一个物联网社区信息管理系统,该系统能方便社区工作人员对社区的管理更简便、高效。也给用户生活带来极大的便利。在物联网发展迅速的时代,以后还应考虑该系统同物联网的其他领域相结合,将物联网出现的新理念、新技术和系统紧密的结合,进一步推进物联网社区信息化建设的发展。
教育期刊网 http://www.jyqkw.com
参考文献
[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.
作者简介:张国平(1980—),男,江西南昌人,讲师,硕士。研究方向为软件工程、嵌入式与软件开发、移动通信应用。