基于Hadoop的小区车辆管理系统的设计与实现_第1页
基于Hadoop的小区车辆管理系统的设计与实现_第2页
基于Hadoop的小区车辆管理系统的设计与实现_第3页
基于Hadoop的小区车辆管理系统的设计与实现_第4页
基于Hadoop的小区车辆管理系统的设计与实现_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.3.2软件设计通过MyEclipes进行小区车辆管理系统开发,将MapReduce和系统结合javaWeb开发可以极大程度的使系统更快速的处理数据。软件设计主要有以下三个主要流程:(1)使用MyEclipse开发平台,是在Eclipse基础上添加了独立的插件开发而成的功能强大的企业级集成开发环境,也主要用于Java开发,专业特征具有支持PhoneGapAPI和AJAX工具等。(2)用于并行计算和操作的软件框架称为MapReduce。它提供了一个实质性但设计良好的并行计算软件框架,可以自动完成任务并行化,自动划分计算数据和任务,在集群节点上自动分配和执行任务并收集计算结果,并将数据存储、数据通信、容错处理和其他并行计算中涉及的许多复杂系统细节移交给系统。(3)HTML页面是由head和body两部分组成head主要引用页面的样式和属性,body主要是界面的实现代码,页面的元素都写在body中,此外HTML页面也存在JS代码,用于实现页面的功能。如图4.2软件结构图所示图4.2软件结构图第5章系统详细设计与实现5.1用户登录实现用户

登录功能

需要考虑

以下几个方面

:(1)用户信息的管理

:系统需要去存储用户的基本信息,如用户名和密码等,可以通过关系型或非关系型数据库进行存储

(2)前端页面设计

:本系统需要设计用户登录的页面,也要考虑到登录失败或者密码错误的提示信息等元素

(3)用户身份验证

:系统必须验证用户所输入的用户名和密码

,以确保用户身份的合法性

(4)用户权限管理

:该系统需要进行用户权限管理

,根据用户权限的不同

,管理员和普通用户能够访问的功能也不同

经过用户输入的用户名和密码进行验证

,如若验证无误

,后端将返回包括用户权限等级在内的身份信息

,根据用户身份信息

,前端会显示各自对应的功能菜单

,如管理员和普通用户可访问的功能不同

,当用户进行操作时,系统必须对其进行权限验证

,这样才能确保用户的操作是合法的当用户退出登录时,前端应该清除用户的登录状态

,以及跳转至登录页面

,为了方便

后续审计和监管

,系统

需要记录用户的登录行为

。为了确保

用户信息

的安全

,系统应采取

一系列安全措施

,如密码加密存储

、防止

SQL注入和XSS攻击

需定期更换用户的密码

,并强制用户修改

,以避免使用过于简单且容易

被猜测的密码,在用户注册和登录时,应对用户输入的数据进行合法性检查和过滤

,以防止恶意攻击和非法输入

,根据用户的使用习惯

,不断改进和升级系统的登录模块

,以提升用户

的使用体验和提高安全等级

publicclassLogin{ publicbooleancheckLogin(Stringuser_id,Stringuser_pwd) { StringsqlCmd="selectcount(*)fromuserwhereuser_id=?anduser_pwd=?"; Object[]objList=newObject[2]; objList[0]=user_id; objList[1]=user_pwd; Stringresult=SQLUtil.excuteScalar(sqlCmd,objList).toString(); if(result.equals("1")) { returntrue; } else{ returnfalse; } } publicStringgetName(Stringuser_id) { StringsqlCmd="selectuser_namefromuserwhereuser_id='"+user_id+"'"; Stringresult=SQLUtil.excuteScalar(sqlCmd,null).toString(); returnresult; } publicStringgetSysLevel(Stringuser_id) { StringsqlCmd="selectrole_idfromuserwhereuser_id='"+user_id+"'"; Stringresult=SQLUtil.excuteScalar(sqlCmd,null).toString(); returnresult; }}5.2系统信息管理通过添加角色编号和角色名称来添加一个角色信息,添加角色信息如图5.1所示:case3://类型3代表向表中添加数据 insertEntity(); break; default: break; 图5.1添加角色信息管理角色信息通过给予普通用户和超级管理员来划分不同的权限,例如超级管理员就可以管理角色信息和管理车位使用情况,也可以管理IC卡等管理功能,而管理员适合普通用户和业主来查看自己的信息,例如管理角色如图5.2所示:图5.2管理角色信息通过编写用户编号和角色名称可以快速的识别该用户,添加真实姓名和联系电话保证用户安全添加用户信息界面如图5.3所示:图5.3添加用户信息管理用户信息可以更改和编辑用户的编号和名称,也可以在这一个功能中更改用户可能忘掉的密码,也可以在用户更换联系方式时,超级管理员去帮助更改联系方式,管理用户信息界面如图5.4所示:图5.4管理用户信息5.3车位信息管理通过添加车位信息来确定每一个车位的编号和所属区域,使小区车位更好的管理并且给车位备注可以直观的看到车位的所属区域,添加停车位信息如图5.5所示:图5.5添加车位信息Java的ClassSeat管理如何使用停车位信息。此类别中的大多数技术用于添加、删除、修改和检查停车信息。首先获取停车位信息列表,其次获取未分配空间列表,第三获取页面段信息列表,然后更新。管理车位信息如图5.6所示:图5.6管理车位信息5.4IC卡管理添加IC卡类型,可以得知车位编号、用户名称、家庭住址和车牌号码这些关键信息,为了之后的数据过滤和数据处理带来更加直观的感受,也为之后的管理员管理减轻不少的负担,添加IC卡界面如图5.7所示:图5.7添加IC卡类型管理IC卡信息界面如图5.8所示:图5.8管理IC卡类5.5临时车主管理通过小区车辆管理系统可以让不是小区的业主或者刚成为小区业主的用户也可以自由的进出小区,所以通过种种考量开发处理临时车主入小区模块,临时车主入场信息界面如图5.9所示:图5.9临时车主入场该模块的主要功能是管理临时汽车车主的访问权限。单击门票管理,打开图9所示的窗口并输入数据。如果输入成功,则图10中所示的接口将会跳转到。它会显示了出发日期和所需的停车费。车主出场信息界面如图5.10所示:图5.10出场5.6固定车主管理当小区内固定的业主进出时只需要IC卡即可通过RFID射频模块进出小区privatevoidsetOut()throwsIOException { Stringfixed_id=newString(request.getParameter("fixed_id").getBytes("ISO8859_1"),"UTF-8"); SimpleDateFormatdateFormat=newSimpleDateFormat("yyyy-MM-dd"); Stringout_date=dateFormat.format(newDate()); SimpleDateFormattimeFormat=newSimpleDateFormat("HH:mm:ss"); Stringout_time=timeFormat.format(newDate()); if(fixed.setOut(fixed_id,out_date,out_time)==1) { response.sendRedirect("/Parking/FixedHandle?type=6"); }固定车主出入场设置界面如图5.11所示:图5.11出入设置privatevoidupdateEntity()throwsUnsupportedEncodingException { Stringfixed_id=newString(request.getParameter("fixed_id").getBytes("ISO8859_1"),"UTF-8"); Stringcard_id=newString(request.getParameter("card_id").getBytes("ISO8859_1"),"UTF-8"); Stringentry_date=newString(request.getParameter("entry_date").getBytes("ISO8859_1"),"UTF-8"); Stringentry_time=newString(request.getParameter("entry_time").getBytes("ISO8859_1"),"UTF-8"); Stringout_date=newString(request.getParameter("out_date").getBytes("ISO8859_1"),"UTF-8"); Stringout_time=newString(request.getParameter("out_time").getBytes("ISO8859_1"),"UTF-8"); if(fixed.updateEntity(fixed_id,card_id,entry_date,entry_time,out_date,out_time)==1) { try{ response.sendRedirect("/Parking/FixedHandle?type=4");//成功更新数据后跳转至FixedMsg.jsp页面 }catch(IOExceptione){ e.printStackTrace();//异常处理 }停车信息管理界面如图5.12所示:图5.12停车信息管理该模块的目的是管理固定车车主的访问首选项和停车数据。设置业主的准入条件,如图5.11所示。单击“确定”后,它将出现在下表中。当您单击“停车信息管理”按钮时,将显示图5.12。设置外观,停车信息表将提供外观时间。第6章系统测试小区车辆管理系统的设计经过多次测试,调试过程中改变的内部环境和外部因素将影响系统的功能。当系统调整到这些变化,逐渐改进。黑箱测试:将项目作为一个黑箱来处理,只需理解系统的功能,而忽略项目的其余部分。它测试每个系统功能的适当操作的能力和操作结果的准确性。白盒测试:与黑盒测试相比,项目视为透明白盒。为了验证一个功能是否符合规范标准,操作员必须了解项目代码和程序。基于Hadoop的小区车辆管理系统在日常生活中具有必不可少的意义:(1)提高社区内管理效率:小区车辆管理系统能够有效地控制小区内的车辆进出,避免了乱停乱放的情况,提高了社区内的管理效率。(2)提高交通安全性:通过对车辆的管理和监控,系统能够避免车辆违规行为,提高了交通的安全性。(3)提高数据分析能力:系统使用Hive进行数据分析和查询,能够对车辆信息进行统计和分析,提高了数据分析能力。(4)推动大数据应用:基于Hadoop的小区车辆管理系统是一个典型的大数据应用案例,推动了大数据技术的发展和应用。总之,基于Hadoop的小区车辆管理系统能够有效地管理小区内的车辆信息,提高了城市管理效率和交通安全性,具有重要的现实意义和推动作用。6.1系统测试概况及用例当密码或者用户名错误时就会报错然后需要重新输入用户名和密码,如图6.1所示6.1登录密码错误6.2添加临时车主当添加临时车主时如果IC卡号为空时或者车牌号为空时就会报错如图6.3所示图6.3添加车主临时IC卡号或车牌号为空图6.3硬件系统测试与调试在整体电路设计过程中,需要使用绘图软件,使用绘图软件将各部件的模块部件放置在相应的位置,并对各部件的电路进行改进。每个模块部分设计后,模块与单片机连接,建立数据通信,然后单片机可以直接采集模块信息。而且还需要进行相应的调试,检查所有器件的连线、焊接是否正确,以确保各电路部分没有错误的连接模式,遵循硬件电路的设计模式。先测试温湿度传感器是否完好无破损,经过测试后发现传感器能正常使用,将预先写好的代码程序烧录到单片机后,复位。使采集到的数据从串口输出,在特定距离内测试到有无障碍物,从而判断车位上是否有车,使用S50卡存储个人信息,通过RFID射频模块可以进出小区,总体硬件实物图如图6.4所示图6.4硬件实物图6.4微信小程序测试与调试在微信小程序设计过程中,本系统采用的编程语言为JavaScript语言。利用相应的绘图软件绘制程序流程图,然后以程序流程图为基础对各个模块进行程序设计。在设计各个模块时,在主程序中调用,大大减少了后期的维护,提高了代码的执行效率。打开手机终端,开启WIFI,成功连接上WIFI模块之后,可以实时观察到小区中的车位剩余数量,还能观察到道闸和门禁卡的工作状态,微信小程序设计如图6.5所示:图6.5微信小程序设计图6.5系统评价及意义基于Hadoop的小区车辆管理系统具有以下优点:(1)数据分析和查询功能:系统使用Hive进行数据分析和查询,具有高效的查询能力,能够快速响应用户的查询请求。(2)实时监控和管理功能:系统能够实时监控和管理小区内车辆的停放情况,避免了乱停乱放的情况,提高了小区的环境安全性。(3)优化用户体验:系统提供了用户友好的界面,使用户能够方便地查询和管理车辆信息,提高了用户体验。总结随着城市化的进程加快,城市交通问题日益突出,小区车辆管理成为解决城市交通问题的重要途径之一。传统的小区车辆管理方式存在很多问题,如信息不实时、管理不便捷等,因此需要建立一套基于现代信息技术的小区车辆管理系统。本系统主要由Hadoop分布式文件系统、stm32单片机、Web前端展示界面三个部分构成。其中,Hadoop分布式文件系统和HBase分布式数据库用于存储和管理小区车辆信息,MapReduce计算框架用于对车辆信息进行处理和分析,Web前端展示界面用于展示车辆信息和管理操作,stm32单片机负责接收和传输传感器所发出的数据通过keil5软件最后传输到微信小程序中,然后小程序就可以提供给用户剩余车位数量和位置。数据采集和预处理本系统采用车辆识别系统和RFID技术对小区车辆进行实时监测和识别,并将车辆信息发送到Hadoop分布式文件系统中。同时,对采集到的车辆信息进行预处理和清洗,消除数据的不一致和噪声。数据存储和管理本系统采用HBase分布式数据库对车辆信息进行存储和管理,通过RowKey和ColumnFamily对数据进行索引和分类。同时,通过HBase的自动分片和负载均衡机制,保证了数据的高可用性和可扩展性。数据展示和管理本系统采用Web前端展示界面对车辆信息进行展示和管理。本系统采用Hadoop分布式计算技术实现了小区车辆管理系统,具有数据实时监测、信息存储和管理、数据处理和分析以及Web前端展示等功能。同时,通过采用数据压缩和加密、数据备份和恢复、系统监控和调优等优化方案,实现了系统的性能和可靠性优化。该系统对于小区车辆管理和城市交通问题的解决具有一定的参考和借鉴价值。参考文献[1]陈武平.关于加强住宅小区消防车通道管理的思考[J].福建建筑,2022(3):3.[2]郝奥.物联网技术在智能交通中的应用[J].山海经(故事),2022(1):193-194.[3]雷鸣,陈凯华,武国良,等.基于分布式技术的气象大数据共享服务系统设计与实现[J].计算机应用与软件,2022,39(7):6.[4]曾梦,邹北骥,张文生,等.多模态医疗数据中海量小文件存储优化方法[J].软件学报,2023,34(3):19.[5]陈兴菊.关于开放小区车辆通行模型的研究[J].科技创新与应用,2019(13):2.[6]张辉波,王一坚,陈志刚,等.基于RFID的轨道车辆定位测速系统的设计[J].山西电子技术,2022(4):3.[7]贺斌.计算机软件开发中JAVA语言的应用研究[J].中国设备工程,2022(000-011).[8]徐桂敏,王改芳.基于STM32和RFID的小区车辆管理系统设计[J].实验技术与管理,2015,32(10):4.[9]刘泽星陈洋波.基于RS和GIS的城市化进程中河道时空演变分析——以深圳市布吉河为例[J].地理科学进展,2021,040(004):693-702.[10]诸葛福群,李卓然,刘鹏.绿色交通理念下临沂市公共交通系统分析研究[J].物流科技,2022,45(20):5.[11]肖光年,隽志才,张春勤.基于贝叶斯网络和GPS轨迹数据的出行方式识别[J].2021(2017-6):75-79.[12]武婕.新形势下高校智慧校园与财务信息化的融合构建[J].兰州石化职业技术学院学报,2021,21(2):45-47.[13]李茂月,吕虹毓,河香梅,等.自动驾驶中周围车辆识别与信息地图构建技术

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论