会议室预约及门禁管理系统设计和实现 通信工程专业_第1页
会议室预约及门禁管理系统设计和实现 通信工程专业_第2页
会议室预约及门禁管理系统设计和实现 通信工程专业_第3页
会议室预约及门禁管理系统设计和实现 通信工程专业_第4页
会议室预约及门禁管理系统设计和实现 通信工程专业_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

目录前言 1第一章绪论 21.1 概述 21.2 本文工作的特色 21.3 论文的组织结构 3第二章相关技术 42.1 PHP、MySQL、Bootstrap 42.2 Redis 42.3 Echarts 52.4 实时刷新技术 52.5 自动报警技术 52.6 门禁控制器状态收集技术 62.7 Socket 62.8 OAuth2.0 6第三章系统需求分析与设计 83.1 设计目标 83.2 需求分析 83.3 系统设计 93.3.1系统流程 93.3.2系统模块设计 103.3.3权限控制流程设计 113.3.4权限提取 123.3.5终端参数配置 133.3.5通信协议 14第四章系统实现 234.1 系统架构 234.2 数据库设计 234.2.1邮件提醒表 234.2.2系统信息配置表 234.2.3系统房间信息表 244.2.4开门记录表 244.2.5人员与可进入房间对应表 254.2.6会议室预约表 254.2.7系统角色表 264.2.8房间状态表 264.2.9系统用户表 264.2.10系统日志表 274.3 页面实现 274.3.1页面整体架构 274.3.2登录界面 284.3.3系统总览 284.3.4预约系统 294.3.5门禁系统 304.3.6账户信息 324.3.7后台管理 324.4 实现难点以及解决方法 344.4.1缓存机制 344.4.2违约机制 354.4.3通信中断 36第五章总结与展望 375.1 课题总结 375.2 后续工作展望 37参考文献 39致谢 40附录 41

摘要会议室是企业、学校等场所的公用使用资源,而目前针对会议室申请大多采用电话沟通的方式,其存在几个方面的问题:一是会议室位置比较分散;二是会议室申请会产生冲突;三是目前会议室申请方式陈旧,四是传统门禁不灵活。本文基于以上问题根据“互联网+”与传统门禁相结合建立符合学校特征的简便易用的会议室预约及门禁管理系统,为实现有效的、柔性的、集成化的管理提供了一种可行的方案。“互联网+”是互联网思维、创新2.0下的互联网发展的新业态,互联网+是将互联网与一些传统行业相加,却又不是简单相加,而是通过互联网技术与其进行深度结合,发挥出互联网的巨大优势,形成一种新的社会形态。互联网+与传统会议室门禁的结合,形成了一种智能的会议室预约及门禁管理系统。它可以时间信息去合理的分配会议室的使用,同时也能实现对会议室的维护与管理。会议室预约及门禁管理系统在传统门禁的基础上实现了页面展示、远程控制会议室,人员管理,故障汇报,会议室物品损坏责任追查,记录违约的功能,方便了管理人员对会议室的管理和维护,提高了会议室的使用效率。传统门禁的互联网化有助于改造传统产业结果,更好的实现创新型城市的目标本文通过对会议室预约管理方法进行需求分析,结合会议室管理和维护的相关需求,设计并实现了会议室预约及门禁管理系统Web端软件。该系统以图表的形式显示已有的会议室信息,使用情况以及进出门信息,以日历的形式显示出每天每个会议室被预约的情况,同时根据控制器返回的故障信息去及时通知相关维修人员进行维护。另外,该系统有着简洁的显示界面、友好的交互操作,管理人员只需要通过简单的指导就可以对整套系统进行管理控制。并且该系统有着完善的权限认证体系,通过对用户角色以及权限的控制,判断用户是否经过授权,保证了系统的安全性。除此之外,管理人员的每一步操作、会议室的每次刷卡记录都会写进日志,方便系统的监控与问题追溯。关键词:互联网+;门禁控制;创新;会议室;预约管理系统;

AbstractThemeetingroomisacommonuseresourceforenterprises,schoolsandotherplaces.Atpresent,mostoftheapplicationsformeetingroomsusetelephonecommunication.Thereareseveralproblemsinthisarea:First,themeetingroomsarescattered;second,meetingroomapplicationswillcreateconflicts.Third,thecurrentapplicationmethodinthemeetingroomisobsolete.Fourth,thetraditionalaccesscontrolisinflexible.Basedontheaboveissues,thispaperbuildsaneasy-to-usemeetingroomreservationandaccesscontrolsystemthatmeetsthecharacteristicsoftheschoolaccordingtothe“InternetPlus”andtraditionalaccesscontrol,andprovidesafeasiblesolutionforeffective,flexible,andintegratedmanagement..“Internet+”isanewformofInternetdevelopmentunderInternetthinkingandinnovation2.0.Internet+istheadditionoftheInternettosometraditionalindustries,butitisnotasimplesum.Instead,itisadeepintegrationthroughInternettechnologyandtheInternetThegreatadvantageofforminganewsocialform.ThecombinationoftheInternet+andthetraditionalmeetingroomaccesscontrolformedanintelligentmeetingroomreservationandaccesscontrolmanagementsystem.Itcanusetimeinformationtorationallyallocatetheuseofthemeetingroom,andalsotomaintainandmanagethemeetingroom.Themeetingroomreservationandaccesscontrolmanagementsystemimplementspagedisplay,remotecontrolofmeetingrooms,personnelmanagement,faultreporting,theresponsibilityfortracingdamagetothemeetingroomonthebasisoftraditionalaccesscontrol,andrecordsthefunctionofbreachofcontract,facilitatingthemanagementofmeetingroomsbymanagementpersonnel.Andmaintenanceimprovestheefficiencyofuseofthemeetingroom.TheInternetizationofTraditionalAccessControlHelpstoTransformtheResultsofTraditionalIndustriesandBetterRealizetheGoalsofInnovativeCitiesInthispaper,theneedsofthemeetingroombookingmanagementneedsanalysis,combinedwiththemeetingroommanagementandmaintenanceofrelatedneeds,designandimplementationofthemeetingroomreservationandaccesscontrolmanagementsystemWeb-sidesoftware.Thesystemdisplaystheinformationoftheexistingmeetingroomintheformofachart,theusesituation,andtheentranceandexitinformation,anddisplaysthereservationofeachmeetingroomonadailybasisintheformofacalendar.Atthesametime,therelevantinformationispromptlynotifiedaccordingtothefailureinformationreturnedbythecontroller.Staffmaintenance.Inaddition,thesystemhasasimpledisplayinterface,friendlyinteractiveoperation,managementpersonnelonlyneedasimpleguidetomanagementandcontroloftheentiresystem.Andthesystemhasaperfectauthorizationauthenticationsystem.Throughthecontrolofuserrolesandpermissions,whethertheuserisauthorizedornotisensuredandthesecurityofthesystemisensured.Inaddition,eachstepofthemanagementstaff'soperationandthecardroom'scard-swipingrecordwillbewrittenintothelogtofacilitatethesystem'smonitoringandproblemtracing.Keywords:Internet+;Accesscontrol;Innovation;Meetingroom;Reservationmanagementsystem;前言随着企业或者学校的发展,规模越来越大,会议室等房间数量也将会越来越多,以传统的方式管理会议室,财力人力都需要很大的投入,于是一种通过互联网方式管理会议室的系统应运而生。会议室预约及门禁管理系统主要是对门禁控制器发送的状态信息进行处理,并在平台上显示并通过java程序统一处理。管理人员只需要电脑前进行操作就可实现远程控制门禁控制器,同时每个几分钟java程序将会去监测门禁控制器的状态,管理员可以随时通过系统就可以获知会议室的情况。会议室预约及门禁管理系统Web端软件采用B/S架构,即浏览器/服务器架构,用户只需连接互联网(局域网)便可访问系统,无需安装系统客户端。系统采用PHP[1]语言和MySQL数据库搭建而成,保证了系统的稳定性,同时MySQL数据库也保证了系统对小数据处理的效率,并且不会占用电脑过多的资源。系统中各信息归类条理清晰,工作人员可以直观的学习使用本系统,简化了对系统的管理和使用。本毕业设计完成了一套会议室预约及门禁管理系统,用于会议室预约的维护和管理以及对系统不同人员的管理。该系统的主要内容包括:实现门禁系统与web的结合,实现对传统门禁系统的迎合移动互联网的开发;实现一套完整的权限管理系统,对系统人员或者房间进行权限管理;列表显示系统人员、门禁房间、刷卡记录、会议室预约的详细信息;通过Echarts图表把系统中预约和开门信息更好的展现给用户;通过对会议室的管理延伸至对教室进行门禁控制设置管理;实验室物品损坏的追责机制;完成会议室预约的一套违约机制。

第一章绪论1.1 概述“互联网+”是互联网思维、创新2.0下的互联网发展的新业态,是知识社会创新2.0的推动下的互联网演进及其衍生出的的经济社会发展新型态。同时随着商业区域、学校企业的规模发展,越来越多的场所选择部署智能门禁系统去进行管理,目的为了实现这些区域高效率、高安全的管理。在“互联网+”的大环境下,大量新技术的出现,将极大地改变当前我国门禁控制、会议室管理行业的发展格局,无论是新进竞争者还是传统厂商、集成商,都面临的巨大机遇和挑战。站在当代科技和技术发展的路口上,我们要坚定精神,强化门禁控制器等产品的稳定可靠性的同时,充分迎合当代的需求变化,注重用户需求、用户体验,才能够最终赢得市场。过去的会议室预约及门禁管理系统的使用流程是当用户需要使用会议室时由使用人向会议室管理人员提交书面申请,管理人员对其进行审核,在符合条件的情况下允许其使用。但是这种方式除了浪费双方的时间,有时候还会出现一些其他的情况,例如房间钥匙丢失导致物品丢失或损坏、管理人员失误导致同一时间段有两组人员使用同一间会议室。“会议室预约及门禁管理系统”在普通门禁系统基础下实现WEB端页面展示、教室排课、会议室在线预约、在拥有权限情况下通过浏览器远程控制教室、实验室、机房或者会议室远程开门、会议室物品损坏问责机制等功能,方便了管理人员对会议室的管理和维护,提高了会议室的利用效率,同时在此基础上开发适用于一般教室、实验室的功能。1.2 本文工作的特色本文通过对会议室预约管理方法进行需求分析,结合用户对会议室管理和维护的相关需求,设计并实现了这款会议室预约及门禁管理系统的Web端软件。该系统以图表的形式显示已有的会议室和房间信息、使用情况已经进出门信息,以日历的形式显示某个会议室在某一天被预约的情况,同时根据控制器返回的故障信息去及时通知相关维修人员进行维护。另外,该系统有着简洁的显示界面、友好的操作,管理人员只需要通过简单的指导就可以对整套系统进行管理控制。并且该系统有着比较完善的权限认证体系,通过对用户角色的控制和判断来确定用户是否经过授权,保证系统的安全性。除此之外,系统使用人员的每一步操作、人员的相关刷卡记录都会写进日志,方便系统的监控和问题的追溯。1.3 论文的组织结构第一章:绪论。本章介绍了会议室预约管理系统的研究背景、传统会议室的控制和管理技术、当代相关技术以及本文的工作特色,最后介绍了本文的组织结构。第二章:相关技术简介。本章主要介绍了实现本系统的需要的相关技术,包括选择使用以PHP为主要开发语言、JAVA作为辅助开发语言、MySQL作为数据存储、Bootstrap提供前端页面支持、Redis提供缓存技术服务以及由门禁控制器生厂商提供的API等相关技术。第三章:系统需求分析与设计。本章介绍了该系统的设计目标、需求分析、系统设计、概要设计以及预期的运行成果。通过对会议室预约以及门禁控制进行市场调研分析,对系统进行初步系统设计,画出整个系统的流程图、相关用例图和数据字典。第四章:系统实现。本章介绍了系统详细的数据库表建立和描述、相关页面的实现以及相关操作的说明。第五章:总结与展望。分析项目的研究进度、成果以及目前的不足、改进方式等。

第二章相关技术2.1 PHP、MySQL、BootstrapPHP(超文本预处理器)是一种嵌入式的脚本语言。具有快捷、开源、跨平台、高效率等特点,相比CGI或者Perl等,PHP可以更快速的执行动态网页,PHP独特的语言包含了C、JAVA等语法,当前全球百分之七十以上的网站是以PHP为主要开发语言,在Web开发中起到了至关重要的作用[2],使用PHP作为会议室预约及门禁管理系统的后台开发语言,极大程度上提高了系统整体开发效率和性能。PHP7的发布更是使PHP的性能得到了极大的提升,同时也带来了许多新的特性:64位支持;对于以前一些致命错误现在也变成了抛出异常;移出了一些老的扩展;新增了结合比较运算符、空接合操作符等;同时支持匿名类(AnonymousClasses);文件上传支持超过2GB[3]。数据库采用的是MySQL数据库,MySQL是当下最流行的关系型数据库管理系统,具有体积小、速度快、开源等特点,为多种语言提供API。InnoDB是事务型数据库的首选引擎,支持ACID事务,也支持行级锁定。在WEB应用开发方面,MySQL由于其社区版卓越性能,搭配PHP和Apache可组成良好的WEB开发环境。MySQL5.5起成为默认数据库引擎。前端采用的Bootstrap[4]框架,是基于HTML、Javascript、CSS技术,其最大的优势是响应式布局,使得Web的开发更加灵活和迅速,同时Bootstrap中包含了丰富的Web前端组件,它可以支持快速搭建一个漂亮的、功能完备的前端页面,以使不熟悉前端开发夫人后台开发工程师也可以很快的开发前端页面。2.2 RedisRedis是一个可扩展的、可用于构建高性能、开源的WEB应用程序,支持可持久化的日志型,同时也支持Key-Value数据库,并且提供了多种语言的API以供使用。Redis是一个key-value存储系统,它支持了五种数据类型:分别是String、Hash、List、Set、SortedSet。String是最常用、最简单的一种数据类型,但是它的功能更丰富,普通的Key-Value存储都是属于String类型。Hash是字符串key和字符串value之间的映射,因此是展现对象的完美数据类型。List是一个常见的链表结构,默认按照插入的顺序排序。Set是一个无序的字符串集合,Set是可以自动排重的。SortedSet与Set非常相似,是一个没有重复元素的字符串集合。不同之处是有序集合的每个成员都关联了一个评分,这个评分被用来按照从最低分到最高分的方式排序集合中的成员[5]。同时Redis也使用了两种文件格式分别为全量数据和增量请求。2.3 EchartsEcharts是百度推出的可以流畅的运行在PC端和移动设备上的纯Javascript的图表类库,兼容当前绝大部分目前经常使用的浏览器(IE9/10/11,Firefox,Chrome,Safari等),Echarts依赖轻量级的Canvas类库,能够提供可交互的、生动直观、可高度个性化定制的可视化数据图表。Echarts提供了开发中能使用到的大部分图表,并且支持图与图之间的混合展现。会议室预约及门禁管理系统整合Echarts技术就可以显示出最为直观生动的图表,包含系统中房间的类型和数量、系统中人员的类型和数量、会议室预约的类型和数量、门禁开门的类型和数量等。加上动态刷新技术,这样Web端的系统中就会直观的显示出最新的系统数据。2.4 实时刷新技术当代网络技术的急速发展,使用B/S架构的项目应用已经越来越多,而实时监控一直是必备功能,当前实时刷新技术有多种实现方式,有ajax轮询、websocket以及与服务器建立长连接、jsmeta设置定时刷新等。ajax轮询是客户端脚本,通过XMLHttpRequest来发送http请求,查询服务器数据,从而将从服务器获取的数据显示在前端页面上,当前系统中使用的就是这种方式。但是这种方式会给服务器带来很大的压力,会导致资源的浪费。Jsmeta设置时间间隔更新是全网页的刷新,会导致页面的全部重绘,用户体验感会比较差。WebSocket开发设计出来的目的就是要取代ajax轮询等技术,使客户端浏览器具备像C/S架构下实时通讯能力。webSocket具有很大的性能优势,这是我们的奋斗目标。与服务器建立长连接,就是在一个显示数据的页面中嵌入一个隐藏的页面,这种方式就是将该页面显示数据的方法写成一个死循环,以此保持与服务器端的长连接。2.5 自动报警技术自动报警技术是服务和数据的集合,“服务”指的是第三方的通知方式,如短信、邮件、电话以及第三方门禁服务器提供的方式。“数据”指的是与后台服务器交互并且接收响应返回的数据,如会议室被预约、已被开门的信息。通过整合第三方通知,可以达到自动报警的技术,这样管理和维护人员可以第一时间得知报警信息,以便及时处理。短信通道可以服务现代大部分信息的通知需求,如验证码服务、通知服务。但是短信平台为了防止短信轰炸,也做了相关限制,这样对于报警功能就会产生一些影响。所以,如果采用短信方式就需要联系服务商,将对应号码加入白名单。语音通道可以通过直接拨打电话进行通知,但是大部分是模板语言,所以对一些内容可能会做一些限制。2.6 门禁控制器状态收集技术系统除了在会议室使用过程中需要问责情况下需要收集系统所需要的人员、预约、开门信息外,还需要监控门禁控制器的状态。统计系统的相关信息,那些信息可以用来找到当前系统性能瓶颈,以便寻找对于的解决方案。在目前该系统使用过程中,有时候会出现某个门禁控制器突然断开的状态,也会出现突然断电断网的情况,如果不对这些状态进行收集,这将会给管理人员和使用人员都造成一些不便。所以,对这些系统参数的收集也非常的重要,也是本的重要组成部分,它保证了会议室预约及门禁管理系统能够正常稳定的运行,当门禁控制器出现断开状态时,系统将会向该门管理人员的邮箱或者手机发送报错信息以提醒其及时处理2.7 Socketsocket本质是编程接口,也称为套接字,用于接收和发送网络请求。会议室预约及门禁管理系统中开门的指令就是通过socket实现的,比如用户使用预约时记录的IC卡进行刷门操作,Web端发起一个socket请求给门禁控制器,该请求中包含了房间的编号、房间的ip、操作的命令等信息。门禁控制器响应后对数据进行解析,获得请求的命令,然后对门进行相关的操作。操作完成后汇报状态给后台服务器,服务器记录状态,页面上及时拉取数据进行显示,这样页面上就是最新的状态了,方便了管理人员的查看。2.8 OAuth2.0OAuth2.0是一个全新的协议,是在“客户端”与“服务端”之间,设置了一个授权层。用户只能通过“授权服务器”(短期token),经过授权之后才能访问对应的服务器,这样就可以将客户端和服务端区分开来[6]。OAuth2.0主要有四种授权模式:授权码模式,填写对应的client_id,client_secret,redirect_uri即可调用统一身份认证;密码模式用于非PC或WAP端的身份认证,如:网站登陆;客户端模式用于未登陆时的接口授权,此时只能访问不需要登陆的接口,如:注册、登陆时的发送验证码功能;简化模式直接在浏览器中向认证服务器申请令牌,跳过了“授权码”这个步骤[7]。Larevel是目前PHP中排名第一的框架,可以很方便地集成OAuth2.0技术,对会议室及门禁管理系统起到了很大的帮助作用[8]。

第三章系统需求分析与设计3.1 设计目标该毕业设计的目标,是实现基于Web的会议室预约及门禁管理系统,是在传统门禁的基础上实现了页面展示、会议室预约、远程控制会议室,人员管理,签到管理,预约管理,故障汇报,会议室物品损坏责任追查,记录违约的功能,方便了管理人员对会议室的管理和维护,提高了会议室的使用效率。传统门禁的互联网化有助于改造传统产业结果,更好的实现创新型城市的目标。3.2 需求分析会议室预约及门禁管理系统是一款Web端管理系统,用于显示路灯的物理位置会议室的相关信息、预约的数量、系统人员的数量,以及对系统人员和预约信息的管理。根据系统设计的最终目标,系统可分为页面显示、指令传输、故障汇报、数据存储四个部分。其中页面显示需求如下:1.系统总览显示系统人员构成及对应人数、房间类别及对应数量、预约数量、开门方式及对应数量,同时利用图表按照月和周去查看各个会议室被预约对应数量或者按照日期去查看所有会议室当天所有的预约数量以及除会议室之外的房间的刷卡数量信息展示,管理员还可看到系统人员会议室违约的次数信息。2.预约系统会议室详细信息列表展示。增删查改会议室预约。查看删除的会议室预约3.门禁系统系统人员的列表、增删改查,同时删除的用户支持恢复。根据房间对其人员进行移入移出管理,同时管理房间的密码信息。房间管理员查看所管理房间的所有考勤记录信息,同时支持信息筛选。房间管理员查看所管理房间的所有刷卡记录信息4.账户信息查看个人基本信息以及最近登录、预约、刷卡进门信息同时可查看所有预约、刷卡、违约次数信息。5.后台管理预约管理。所有预约信息的列表、增删改查。预约回收站。系统所有已删除的预约信息一览。值班管理。为可值班房间添加值班人员。房间管理。系统所有房间的列表、增删改查。刷卡记录。查看系统所有人员的刷卡记录。用户信息。查看系统中所有用户信息并且支持导出。系统日志。查看系统人员一些操作,为维护提供方便。3.3 系统设计3.3.1系统流程图3.1系统流程如图3.1系统流程图所示,系统流程主要分为以下几个步骤(1)系统连接数据库,显示登录的主界面。(2)用户经过统一认证登录系统成功后,选择相应的标签(系统总览、预约系统、门禁系统、账户信息、后台管理),(3)进入相应的标签后,浏览相应的数据信息,对这些信息做相应的操作。(4)操作完成后将数据写入数据库,有相应操作的执行操作,然后刷新页面,调用相应的接口获取最新的数据并且显示在前端页面给用户查看。整个系统架构采用Browser/Server架构,即浏览器/服务器架构。B/S架构常见于各种管理系统、门户网站、个人博客等应用,只需在能可联网环境的浏览器中就可以访问,省去了安装桌面客户端的过程,大大提高了使用效率和简化了用户的操作[9]。3.3.2系统模块设计根据系统的流程图,设计出系统模块。如图3.2系统模块图所示,显示了系统模块图,而本套系统后端开发采用的是MVC设计模式。图3.2系统模块图M指的是Model,是系统数据处理模块,主要的功能就是对传入的数据进行处理,包括从数据库中读取数据,然后进行相应的转换,以特定的格式传递给View视图。V指的是View,是页面显示模块,主要的功能是显示页面,是系统的显示出口,一些界面的交互效果也是在这一步实现的。C指的是Controller,是系统逻辑控制模块,主要的功能是连接Model和View,实现数据处理模块与页面显示模块之间的数据传递[10]。图3.3超级管理员功能用例图如图3.3所示,显示了超级管理员功能的用例图,表明超级管理员主要有五个用例,预约信息管理、房间信息管理、违约信息管理、人员信息管理和值班信息管理。3.3.3权限控制流程设计如下页图3.4所示,显示了权限不可区分的控制流程图,该系统的权限控制主要通过下列几个步骤:对于权限不可区分模块当用户点击某个功能的按钮,系统根据这个按钮的链接,进入路由处理过程,路由分析出对应的controller,进入controller中的方法。Controller中的函数会进入Model层的函数去处理信息并且根据返回信息去判断当前用户是否具有该按钮的操作权限,有的话则继续进行业务处理,没有的话则退出,并提示用户没有权限[11]。图3.4权限控制流程图对于权限模块可区分部分,操作入口即分为可视与不可视状态,对于无此权限的用户此操作按钮将会隐藏,同时为了防止用户利用一些其他手段使按钮显示,我们也将进行如图3.4的权限控制流程图。3.3.4权限提取如下页图3.5所示,权限提取流程中首先需要用户登陆,登陆之后获取用户的账号信息,判断是否允许访问,如果允许访问的话则读取用户角色信息,通过角色信息读取对应的权限,随后进入系统管理界面,访问可以访问的功能页面。如果是不允许访问,则返回错误信息,并且返回登录界面[12]。如下页图3.6所示,为用户角色权限的类图,用户拥有getUserRole()和getUserPermission()方法,用户获取用户角色和权限。Role类中包含roleId和roleName属性,getRole()方法用于获取角色。Permission类中包含permissionId和permissionName属性,getPermission()方法用于获取权限[13]。图3.5权限提取流程图图3.6用户角色权限类图3.3.5终端参数配置图3.7终端参数配置图如图3.7所示,终端参数的配置按照这个流程图进行,包括控制中心中读取参数、编辑参数、比对参数、根据协议生成指令、发送指令、修改终端状态。数据解析程序中包括解析指令、寻找终端、发送指令、修改终端状态、新参数存入数据库。终端中包括解析指令、应用参数[14]。3.3.5通信协议门禁控制器与服务器协议设计包括:(1)控制器的通信端口为60000.(2)通信协议:UDP(3)packet固定长度64字节表3.1具体协议格式字节\BITS07815162324310类型(0x17)功能号保留4设备序列号(低位在前,高位在后)[请参考测试实例](设备序列号9位十进制数:1开头表示单门双向,2开头表示双门双向,4开头表示四门单向)8-39不同功能对应的数据内容(32字节)40-43数据包流水号,顺序累加,步长为1,循环使用(一对请求和应答消息的流水号相同)44-63扩展20字节第二版本中更改[未使用的以00填充]1.搜索控制器作用:用于在网络内搜索所有的门禁控制器,门禁控制器在收到packet后会返回自己的IP地址。表3.2服务器到门禁通信信息字节信息位占用字节值(十六进制)0类型10x17[固定]1功能号10x94[固定]2保留10x00[固定]3保留10x00[固定]4设备序列号字节1(低)10x005设备序列号字节210x006设备序列号字节310x007设备序列号字节4(高)10x00其他用0填充0x00

表3.3门禁到服务器通信信息字节信息位占用字节值(十六进制)0类型10x17[固定]1功能号10x94[固定]2保留10x00[固定]3保留10x00[固定]4设备序列号字节1(低)10x3B5设备序列号字节210xB66设备序列号字节310x4A7设备序列号字节4(高)10x0D0x0D4AB63B十进制为2230001238-11控制器IP01412-15控制器掩码416-19控制器网关420-25MAC地址626-27驱动版本(BCD码显示)2065628-31驱动发行年月日(BCD码显示)420150429其他不用考虑2.查询控制器状态作用:查询最后一条记录和最后一条记录的索引号表3.4查询控制器服务器到门禁通信信息字节信息位占用字节值(十六进制)0类型10x17[固定]1功能号10x20[固定]2保留10x00[固定]3保留10x00[固定]4设备序列号字节1(低)10x3B5设备序列号字节210xB66设备序列号字节310x4A7设备序列号字节4(高)10x0D0x0D4AB63B十进制为223000123其他用0填充xx0x00表3.5查询控制器门禁到服务器通信信息字节信息位占用字节值(十六进制)0类型10x17[固定]1功能号10x20[固定]2保留10x00[固定]3保留10x00[固定]4设备序列号字节1(低)10x3B5设备序列号字节210xB66设备序列号字节310x4A7设备序列号字节4(高)10x0D0x0D4AB63B十进制为223000123最后一条记录的信息8-11最后一条记录的索引号(=0表示没有记录)40x0000000012记录类型0=无记录1=刷卡记录2=门磁,按钮,设备启动,远程开门记录3=报警记录113有效性(0表示不通过,1表示通过)114门号(1,2,3,4)115进门/出门(1表示进门,2表示出门)10x0116-19卡号(类型是刷卡记录时)或编号(其他类型记录)420-26刷卡时间:年月日时分秒,如2012.12.1110:49:59727记录原因代码(查询刷卡记录说明中的Reason)1其他信息281号门门磁(0表示关上,1表示打开)10x00292号门门磁(0表示关上,1表示打开)10x00303号门门磁(0表示关上,1表示打开)10x00314号门门磁(0表示关上,1表示打开)10x00321号门按钮(0表示松开,1表示按下)10x00332号门按钮(0表示松开,1表示按下)10x00343号门按钮(0表示松开,1表示按下)10x00354号门按钮(0表示松开,1表示按下)10x0036故障号:0-无故障;非0-有故障137控制器当前时间时10x2138分10x4839秒10x5940-43流水号444-47备用448特殊信息1149继电器状态150火警/强制锁门:0-强制锁门;1-火警51控制器当前年10x1552月10x0453日10x29其他不用考虑3.获取指定索引号的记录作用:根据索引号获取记录信息表3.6获取索引号服务器到门禁通信信息字节信息位占用字节值(十六进制)0类型10x17[固定]1功能号10xB0[固定]2保留10x00[固定]3保留10x00[固定]4设备序列号字节1(低)10x3B5设备序列号字节210xB66设备序列号字节310x4A7设备序列号字节4(高)10x0D0x0D4AB63B十进制为2230001238-11记录的索引号(从1开始)40x00000001其他用0填充xx0x00如果=0,则取回最早一条记录信息,如果=0xffffffff则取回最后一条记录的信息)表3.7获取索引号门禁到服务器通信信息字节信息位占用字节值(十六进制)0类型10x17[固定]1功能号10xB0[固定]2保留10x00[固定]3保留10x00[固定]4设备序列号字节1(低)10x3B5设备序列号字节210xB66设备序列号字节310x4A7设备序列号字节4(高)10x0D0x0D4AB63B十进制为223000123记录的信息8-11记录的索引号40x0000000112记录类型0x00=无记录0x01=刷卡记录0x02=门磁,按钮,设备启动,远程开门记录0x03=报警记录113有效性(0表示不通过,1表示通过)114门号(1,2,3,4)115进门/出门(1表示进门,2表示出门)10x0116-19卡号(类型是刷卡记录时)或编号(其他类型记录)420-26刷卡时间:年月日时分秒(采用BCD码)见设置时间部分的说明727记录原因代码(查询刷卡记录说明中的Reason)10x00其他不用考虑4.远程开门作用:控制门禁开关表3.8远程开门服务器到门禁通信信息字节信息位占用字节值(十六进制)0类型10x17[固定]1功能号10x40[固定]2保留10x00[固定]3保留10x00[固定]4设备序列号字节1(低)10x3B5设备序列号字节210xB66设备序列号字节310x4A7设备序列号字节4(高)10x0D0x0D4AB63B十进制为2230001238门号(从1开始算.最大为4)10x01其他用0填充xx0x00表3.9远程开门门禁到服务器通信信息字节信息位占用字节值(十六进制)0类型10x17[固定]1功能号10x40[固定]2保留10x00[固定]3保留10x00[固定]4设备序列号字节1(低)10x3B5设备序列号字节210xB66设备序列号字节310x4A7设备序列号字节4(高)10x0D0x0D4AB63B十进制为2230001238信息位10x01其他不用考虑5.权限添加或修改作用:设置每个门禁控制器可以通过的卡号信息表3.10权限添加或修改服务器到门禁通信信息字节信息位占用字节值(十六进制)0类型10x17[固定]1功能号10x50[固定]2保留10x00[固定]3保留10x00[固定]4设备序列号字节1(低)10x3B5设备序列号字节210xB66设备序列号字节310x4A7设备序列号字节4(高)10x0D0x0D4AB63B十进制为2230001238-11卡号(不能为0,0xffffffff,0x00ffffff)412-15起始日期(年月日)20100101日期必须是2000年之后416-19截止日期(年月日)202912314201号门控制时段(0=禁止通过,1=允许通过)10x01212号门控制时段(0=禁止通过,1=允许通过)10x01223号门控制时段(0=禁止通过,1=允许通过)10x01234号门控制时段(0=禁止通过,1=允许通过)10x0124-26用户密码[启用了密码键盘才有效]密码最大长度为6位数字(也就是最大为999999)(如果有要求时设置.否则设为0)缺省值:3456783其他用0填充xx0x00如果成功,第8字节返回1,否则返回0表3.11权限添加或修改门禁到服务器通信信息字节信息位占用字节值(十六进制)0类型10x17[固定]1功能号10x50[固定]2保留10x00[固定]3保留10x00[固定]4设备序列号字节1(低)10x3B5设备序列号字节210xB66设备序列号字节310x4A7设备序列号字节4(高)10x0D0x0D4AB63B十进制为2230001238信息位10x01其他不用考虑6.权限删除作用:在门禁权限列表中删除某一卡号表3.12权限删除服务器到门禁通信信息字节信息位占用字节值(十六进制)0类型10x17[固定]1功能号10x52[固定]2保留10x00[固定]3保留10x00[固定]4设备序列号字节1(低)10x3B5设备序列号字节210xB66设备序列号字节310x4A7设备序列号字节4(高)10x0D0x0D4AB63B十进制为2230001238-11要删除的卡号4其他用0填充xx0x00表3.13权限删除门禁到服务器通信信息字节信息位占用字节值(十六进制)0类型10x17[固定]1功能号10x52[固定]2保留10x00[固定]3保留10x00[固定]4设备序列号字节1(低)10x3B5设备序列号字节210xB66设备序列号字节310x4A7设备序列号字节4(高)10x0D0x0D4AB63B十进制为2230001238信息位10x01其他不用考虑7.权限清空作用:清除控制器内所有卡号表3.14权限清空服务器到门禁通信信息字节信息位占用字节值(十六进制)0类型10x17[固定]1功能号10x54[固定]2保留10x00[固定]3保留10x00[固定]4设备序列号字节1(低)10x3B5设备序列号字节210xB66设备序列号字节310x4A7设备序列号字节4(高)10x0D0x0D4AB63B十进制为2230001238标识(防止误清空)10x55[固定]9标识10xAA[固定]10标识10xAA[固定]11标识10x55[固定]其他用0填充xx0x00如果成功,第8字节返回1,否则返回0表3.15权限清空门禁到服务器通信信息字节信息位占用字节值(十六进制)0类型10x17[固定]1功能号10x54[固定]2保留10x00[固定]3保留10x00[固定]4设备序列号字节1(低)10x3B5设备序列号字节210xB66设备序列号字节310x4A7设备序列号字节4(高)10x0D0x0D4AB63B十进制为2230001238信息位10x01其他不用考虑8.权限查询作用:查询卡号是否可以通过表3.16权限查询服务器到门禁通信信息字节信息位占用字节值(十六进制)0类型10x17[固定]1功能号10x5A[固定]2保留10x00[固定]3保留10x00[固定]4设备序列号字节1(低)10x3B5设备序列号字节210xB66设备序列号字节310x4A7设备序列号字节4(高)10x0D0x0D4AB63B十进制为2230001238-11要查询的卡号(不能为0,0xffffffff,0x00ffffff)4其他用0填充xx0x00如果成功,第8-11字节返回查询的卡号,否则返回卡号为0表3.17权限查询门禁到服务器通信信息字节信息位占用字节值(十六进制)0类型10x17[固定]1功能号10x5A[固定]2保留10x00[固定]3保留10x00[固定]4设备序列号字节1(低)10x3B5设备序列号字节210xB66设备序列号字节310x4A7设备序列号字节4(高)10x0D0x0D4AB63B十进制为2230001238-11卡号=0表示没有查到此卡权限412-15起始日期(年月日)20100101416-19截止日期(年月日)202912314201号门控制时段(0=禁止通过,1=允许通过)10x01212号门控制时段(0=禁止通过,1=允许通过)10x01223号门控制时段(0=禁止通过,1=允许通过)10x01234号门控制时段(0=禁止通过,1=允许通过)10x0124-26用户密码3其他不用考虑xx0x00

第四章系统实现4.1 系统架构图4.1系统架构图如图4.1所示,用户打开浏览器访问服务器(Apache),在系统中进行会议室预约,在会议开始时前去刷卡,刷卡时由java程序去获取门禁控制器返回的相关信息去数据库进行匹配来判断是否可进行开门操作,同时相关信息将会作为日志信息写入数据库,写库和读库之间保持数据同步[15],普通房间开门也是进行相似操作。4.2 数据库设计4.2.1邮件提醒表如下表所示,用来储存会议室违约、门禁异常等状况提醒的邮件模板信息,包含着title标题信息和content邮件内容信息。表4.1邮件提醒表(java_mail)字段类型描述idint自增idtitlevarchar邮件标题contenttext邮件内容4.2.2系统信息配置表如下表所示,用来存储系统需要的一些系统配置信息,如发件邮箱、密码,异常反馈接收邮箱列表、邮件服务以及会议室预约的数量。包含property配置描述、content配置详细内容、count数量表4.2系统信息配置表java_settings字段类型描述idint自增idpropertytext配置描述contenttext配置详细内容countint数量(仅用于预约数量记录)4.2.3系统房间信息表如下表4缩视,显示系统中所有房间的信息,包括name会议室名称、display_name显示名称、desk_num桌椅数量、describe房间描述、ip通信ip、stop_reservation是否停用、arrange是否可安排值班、room_sn房间序列号meeting_room_level房间等级mainpage_display是否在主页显示、delete_time删除时间。表4.3系统房间信息表meeting_room字段类型描述idint自增idnamevarchar房间实际名称display_namevarchar房间在系统显示名称desk_numint桌椅数量describevarchar房间描述ipvarchar房间门禁通信ipstop_reservationint是否可预约arrangeint是否可安排值班roon_snvarchar房间序列号meeting_room_levelint房间等级mainpage_displayint是否在主页显示delete_timedatetime房间删除时间4.2.4开门记录表如下表所示,记录开门信息,用来在前台显示,包括主键id,time开门时间,card_identity卡号,card_name卡名,room_id房间id,reason_no服务器返回代码,info门禁控制器返回信息,has_permission是否开门成功表4.4开门记录表open_room_record字段类型描述idint自增idtimedatetime开门时间card_identityvarchar卡号card_namevarchar卡名room_idint房间idreason_noint服务器返回代码infovarchar门禁控制器返回信息has_permissionint是否开门成功4.2.5人员与可进入房间对应表如下表所示,代表人员与可进入房间的对应关系,包括id主键,user_id用户id,room房间id。表4.5人员与可进入房间对应表pass_room字段类型描述idint自增iduser_idint用户idroomint房间id4.2.6会议室预约表如下表所示,显示会议室预约表的数据字典,会议室预约的统计数据。id位置自增id,room_id预约的会议室id,time_start预约开始使用时间,time_end预约结束使用时间,purpose预约使用目的,person_name开门人姓名,person_id开门人id,card_id开门人工号,phone开门人联系电话,mail开门人邮件,create_time提交预约时间,delete_time预约删除时间,user_id预约人id,need_sign_in是否需要签到,need_record_late是否记录违约,open_room_time开门时间,original_time_end记录违约时间表4.6会议室预约表reservation字段类型描述idint自增idroom_idint房间idtime_startdatetime预约开始使用时间time_enddatetime预约结束使用时间purposevarchar使用目的person_namevarchar开门人姓名person_idint开门人idcard_idvarchar开门人工号phonevarchar开门人电话mailvarchar开门人邮件create_timedatetime提交预约时间delete_timedatetime删除预约时间user_idint预约人idneed_sign_inint是否需要签到need_record_lateint是否需要记录违约open_room_timedatetime开门时间original_time_enddatetime记录违约时间4.2.7系统角色表如下表所示,显示系统角色的数据字典,id为自增id,group_id角色组id,role_name角色组名称表4.7系统角色表role_name字段类型说明idint自增idgroup_idint角色组idrole_namevarchar角色组名称4.2.8房间状态表如下表所示,显示房间状态的数据字典,id自增id,room_id房间id,state状态,time检测时间。表4.8房间状态表room_state字段类型说明idint自增idroom_idint房间idstateint房间状态timedatetime检测房间状态时间4.2.9系统用户表如下表所示,显示系统用户信息的数据字典,id为自增id,card_id射频卡卡号,user_name用户名,user_sex用户性别,user_number用户工号/学号,group_id角色组id,email邮件,phone用户电话,user_type用户身份,create_time创建时间,end_time使用失效时间,delete_time删除时间,room_id管理的房间id表4.9系统用户表user_card字段类型说明idint自增idcard_idint射频卡卡号user_namevarchar用户名user_sexint用户性别user_numbervarchar用户工号/学号group_idint所属角色组idemailvarchar邮件phonevarchar电话user_typeint用户身份create_timedatetime创建时间end_timedatetime系统使用失效时间delete_timedatetime删除时间room_idvarchar教室管理员管理id4.2.10系统日志表如下表所示,显示系统操作信息的数据字典,包括id自增id,user_id用户id,time操作时间,level操作等级,detail使用细节。表4.10房间状态表room_state字段类型说明idint自增iduser_idint用户idtimedatetime操作时间levelint操作等级detailtext使用细节4.3 页面实现4.3.1页面整体架构会议室预约及门禁管理系统页面显示分为五个部分。1.系统总览。显示系统中用户个数、房间个数、预约数、开门数,同时使用图表展示每周和每月每个会议室预约的数据(按照会议室或者按照日期)、会议室违约信息、门禁使用信息的汇总。2.预约系统。包括会议室介绍、会议室预约(添加修改和删除预约)、预约/签到汇总(删除)、个人预约回收站。3.门禁系统。包括用户/权限管理(增删改查用户基本信息和权限组信息)、房间权限管理(增删改查房间中可进入人员信息)、考勤记录、刷卡记录。4.账户信息。包括查看和修改部分个人信息,同时还可查看个人预约、刷卡、未预约次数,还包括最近登陆、最近开门、最近预约信息。5.后台管理。包括预约管理(删改查)、预约回收站、通知发布、值班管理(增删改查)、房间管理(增删改查)、刷卡记录(列表),用户信息(导出)、系统日志信息。4.3.2登录界面图4.2登录界面如图4.2所示,登录采用统一认证方式,极大增强系统的安全性。4.3.3系统总览在主界面上点击【系统总览】,出现如图4.3所示的图表,四个信息框,分别为用户数,房间数,预约数,门禁记录。在下方有监测信息表。图4.3系统总览4.3.4预约系统1.会议室介绍在界面的菜单栏中选择【会议室介绍】界面,主界面显示所有可用的会议室信息,包括房间号和座位数量。如图4.4所示。图4.4会议室介绍2.会议室预约此模块可以以对会议室进行预约,并且点击会议室可以看到各个会议室已经被预约的情况,防止冲突。图4.5会议室预约3.预约/签到汇总此模块可以看到自己预约的会议室开会的开门人的姓名、卡的工号以及预约的时间和会议室房间号的信息,同时,可以对自己预约的时间不满意的,或者到时间开门人到不了的,申请者可以进行删除,而且,也可以查看会议室的签到情况。4.个人预约回收站在该模块中,用户可以看到自己已删除的预约的信息。4.3.5门禁系统1.用户/权限管理在该页面中,会显示系统所有人员的信息,如下图所示:图4.6用户/权限管理(首页)同时,管理员可对人员进行添加修改和删除操作。如下图图4.7用户/权限管理(添加)在添加按钮旁边有一个回收站,人员删除以后将会在该页面显示,如图图4.8用户/权限管理(已删除)同时管理员对回收站的人员点击操作中的恢复按钮进行恢复。2.考勤记录考勤记录是为了管理员查看某一天某一个时间段某个房间的刷卡信息,如图所示,查看2016-9-4上午8点到下午8点的518的开门信息图4.9考勤记录3.刷卡记录该模块就是为了方便房间管理员查看其管理的房间的学生卡丢失后,所补办的新卡的信息。4.3.6账户信息在【账户信息】界面中,用户可以对自己手机号码和邮箱进行修改,可以看到自己预约约的次数和开门次数以及自己的其他一些个人信息。图4.10账户信息4.3.7后台管理该模块里分为5大功能,该功能针对超级管理员开放,由超级管理员进行管理。1.预约管理功能:该功能就是已经预约会议室的申请者在自己没时间去开门想修改或者取消预约时可以和管理员联系,让管理员帮其修改或取消预约。图4.11预约管理2.预约回收站功能:这个模块类似于一个删除日志,在里面管理员可以看到取消预约的信息。图4.12预约回收站3.值班管理:该模块的主要功能是为了方便管理员对一些需要安排值班的房间进行安排的功能。4.房间管理:这个模块是为了对所有在系统中的房间信息进行管理,管理员可对其信息进行修改或者添加新的房间。图4.13房间管理5.刷卡记录:这个模块类似于一个开门日志,在里面管理员可以看到所有已经开门的预约信息。图4.14刷卡记录4.4 实现难点以及解决方法4.4.1缓存机制在门禁系统大量开门产生高并发请求的情况下,如果将大量的数据读写放在数据库,数据库的磁盘读写和传输的速度远不及内存的读写速度。因此为了减轻门禁系统的压力和提高开门请求的响应速度,我们为门禁系统的数据进行了缓存。当进行开门请求处理时,系统都会优先在缓存中的用户信息,门禁信息,预约信息进行查找。当在缓存中数据中查找不到时,才会在数据库中进行查找并更新缓存数据。每隔一段时间为了防止缓存的数据因为断电或者程序异常而丢失,我们会每隔一段时间对缓存数据进行同步和备份,将数据存储到磁盘。具体流程如下页流程图所示:图4.15缓存机制流程图4.4.2违约机制随着系统上线后会议室使用越来越频繁,加之会议室资源本身的缺乏,会议室出现了资源不足同时存在资源浪费的问题,主要是一些会议室借用人员没有会议时间概念,预约了很长的时段,并且在预约开门时间很久以后才会使用会议室,这就造成了大量空余时间的浪费,以至降低了会议室的利用效率。针对会议室使用效率以及会议室日常管理要求,我们经过探讨开发了一套违约系统,用来约束会议室借阅行为。如下图流程图所示:图4.16违约机制流程图当用户预约了一个时间段以后,在起始时间后20分钟之内如果未前去开门,则系统将会判定预约用户违约,同时也会记录开门人违约,同时清空该条预约记录,当用户违约累积到一定次数时将会取消其预约会议室的权限。此流程中也需要使用到java程序定时去数据库中进行判别以及时间匹配。4.4.3通信中断在会议室预约系统初上线时曾经遇到过与门禁控制器通信中断的情况,最终可能导致房间和会议室人员开门不成功的情况,从而导致系统处于瘫痪的状态,针对这一问题,我们经过讨论制定了一个解决方案:当房间管理员为某个房间添加或者修改人员时,web端数据处理成功后,我们使用相关技术将用户数据同步更新至所对应的门禁控制器中,以保证在断网情况或者通信失败的情况下用户依然

温馨提示

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

评论

0/150

提交评论