《基于指纹识别的门禁系统的设计与实现.pdf》由会员分享,可在线阅读,更多相关《基于指纹识别的门禁系统的设计与实现.pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、http:/-1-基于指纹识别的门禁系统的设计与实现基于指纹识别的门禁系统的设计与实现 张骞 北京邮电大学网络与交换技术国家重点实验室,北京(100876)E-mail:zhangqian99- 摘摘 要:要:近年来,随着识别技术和网络技术的飞速发展,门禁系统也得到了飞跃式的发展,出现了基于指纹识别的门禁系统。这种系统具有安全性、方便性和易管理性等特点,是确保各重要部门出入口安全的有效措施,现已广泛应用于各领域。本文的主要目的就是设计和实现一套具有核心指纹识别服务器、指纹识别服务器控制器、指纹识别服务器管理器和数据库的基于指纹识别的门禁系统。本文在指纹识别理论的基础上,以查阅资料为研究方法,首
2、先对整个系统进行设计规划,完成用例设计、程序界面功能设计以及数据库设计,进而建立数据库和实现门禁系统软件的各种功能,从而最终实现整个系统。关键词:关键词:门禁系统,指纹识别,关系型数据库 中图分类号:中图分类号:TP393 1.引言引言 我们的手指和脚趾内侧表面的皮肤凹凸不平产生的纹路会形成各种各样的图案。这些纹路的存在增加了皮肤表面的摩擦力,使得我们能够用手来抓起重物。人们也注意到,包括指纹在内的这些皮肤的纹路在图案、断点和交叉点上各不相同,也就是说,是唯一的。依靠这种唯一性,我们就可以把一个人同他的指纹对应起来,通过对他的指纹和预先保存的指纹进行比较,就可以验证他的真实身份。这种依靠人体的
3、身体特征来进行身份验证的技术称为生物识别技术,指纹识别是生物识别技术的一种1。现代指纹识别技术是通过计算机实现的身份识别手段,也是当今应用最为广泛的生物特征识别技术,在过去主要应用于刑侦系统2,近几年来已逐渐走向民用市场。同时随着计算机网络技术的发展,人们对指纹识别系统的应用正逐渐由单机转向网络,由单一的事务处理转变为资源共享、协同工作的分布式处理。指纹识别系统与 Internet 技术的结合,产生了网络化的指纹识别系统。网络化的指纹识别使用户可以更加方便的使用指纹识别系统提供的指纹信息及其应用服务。基于指纹识别的门禁控制系统正是这种崭新的生物识别模式的具体应用:终端通过网络请求核心服务器访问
4、数据库下载用户指纹信息,用户利用终端指纹识别器请求识别,终端根据用户的请求信息与数据库中的信息进行核对,完成指纹识别的任务并将结果通知服务器,再通过控制请求终端连接门的开或闭实现对用户访问的允许或拒绝。另外通过对访问记录的查询还可以获得任意时间段内人员进出的详细情况。这样的系统正适合于某些特殊的场所,例如:银行、政府机关、军事机构、大中型企业的某些部门等需要保密或控制人员出入的地方。因此,本文设计的系统具有较大的实际意义和应用意义。本文首先介绍基于指纹识别的门禁系统的整体结构,然后对系统中各组件的设计分别进行描述,最后进行总结。2.系统结构系统结构 本系统以指纹识别服务器为核心,它直接为 Vi
5、rdi-200n 终端提供服务。指纹识别服务器控制器能够本地或远程直接控制核心指纹识别服务器的启动和停止。指纹识别服务器管理模块为系统管理员提供终端监视、用户管理、查询访问记录、进行系统设置、修改核心数据库数据等管理界面。数据库采用 SQL Server 2000 提供数据集中管理以联系指纹识别服务器和http:/-2-服务器管理控制,以及存储服务器设置选项和用户、访客的档案。图 1 显示了整个系统的总体结构,其中,Virdi-200n 终端和指纹识别服务器管理器都属于客户端的范畴;核心指纹识别服务器、核心数据库、日志数据库以及指纹识别服务器控制器属于服务器端的范畴。指纹识别服务器控制器和指纹
6、识别服务器管理器都可以对核心指纹识别服务器进行远程访问。系统中各组件之间使用 TCP 协议进行通信。TCP读日志写日志日志数据库SQL Server核心数据库SQL Server指纹识别服务器管理器指纹识别终端核心指纹识别服务器指纹识别服务器控制器启动停止读用户信息写用户信息TCPTCP 图 1 系统总体结构图 系统各组成部分的功能如下:1Virdi-200n终端:采用VIRDI-FPSVR(for VIRDI-200N)终端设备,集成了用户信息存储、指纹信息匹配、控制门锁开关和发送状态报告等功能。2日志数据库:记录各种服务器事件的发生时间。3核心数据库:存储用户、访客资料,终端信息和服务器设
7、置等。4核心指纹识别服务器:为终端提供用户、访客数据,记录连接到服务器的终端数、状态,通过写数据库记录用户登陆情况,接收并处理指纹识别服务器管理器发出的各种指令等。5指纹识别服务器管理器:提供终端监视、用户管理、查询访问记录、进行系统设置、修改核心数据库数据等管理界面。6指纹识别服务器控制器:本地或远程直接控制核心指纹识别服务器的启动和停止。3.系统各部分的设计与实现系统各部分的设计与实现 3.1 指纹识别终端指纹识别终端 指纹识别过程(如图2所示)在virdi-200n终端设备上完成。下面简要介绍其指纹识别算法(包括指纹图像增强、特征提取和指纹匹配三个主要步骤):http:/-3-图 2 指
8、纹识别算法流程 1指纹图像增强 图像增强采用平滑、滤波、二值化、细化等数字图像处理方法来进行。指纹图像增强采用以下几个环节:规格化,方向图估计,频率图估计,生成模板,滤波。一幅指纹图像经过规格化后,才能将该图的均值和方差控制在给定范围,以便后续处理。2指纹特征提取 指纹的特征信息很多,这些所有的指纹特征信息构成了庞大的指纹特征集合。指纹特征提取主要的工作是提取脊线上的末梢点及分叉点,用于后续的细节匹配。3指纹匹配 指纹匹配是通过对两个指纹特征集间的相似性比较,来判断对应的指纹图像是否来自同一手指。匹配过程用上一步获得的细节点去匹配数据库中的模板,给出匹配结果。3.2 数据库设计数据库设计 使用
9、SQL Server数据库软件建立核心数据库与日志数据库,其实体关系图如下:http:/-4-图 3 数据库实体关系图 3.3 核心指纹识别服务器核心指纹识别服务器 图4为指纹识别服务器程序的类图。其中的FingerprintServer为主类,ServerManager、FingerprintTerminal、ServerMonitor分别是指纹识别服务器的三个分服务器:管理器服务器、终端服务器、监视服务器。其中管理器服务器和终端服务器分别具有协议ManagerProtocol和TermianlProtocol。http:/-5-FingerprintServer ArrayList Ter
10、minalList;ArrayList ManagerList;int POLLING_TIME;int TerminalPort;int ManagerPort;ServerManager manager;FingerprintTerminal terminal;ServerMonitor monitor;start();stop();main();ServerMonitor MonitorThread monitorTh;run();FingerprintTermianl Socket TerminalClientSocket;ServerSocket TerminalListenSock
11、et;TerminalProtocol TerminalServer;run();ServerManager Socket ServerManagerSocket;ServerSocket ManagerListenSocket;ManagerProtocol ManagerServer;run();MonitorThread run();ManagerProtocol Socket ManagerSocket;Socket ToTerminalSocket;run();TermianlProtocol Socket TerminalSocket;run();图 4 指纹识别服务器类图 表1为
12、指纹识别服务器进行网络通信时所采用协议的消息格式(这里规定Start统一为“!”;ExtraData为扩展点,表示接着要传送数据的长度):表 1 通信协议数据格式 Start Command CID TID Param1 Param2 Param3 ErrorCode ExtraData1Byte 1Byte 2Byte 4Byte 4Byte 4Byte 8Byte 4Byte 4Byte FingerprintServer为主类:TerminalList维护各登录终端的状态,ManagerList记录各管理器IP地址,POLLING_TIME表示终端超过此时间未报告状态则视为失去连接,Te
13、rminalPort为服务器与终端之间的通信端口,ManagerPort为服务器与管理器之间的通信端口,ServerManager manager、FingerprintTerminal terminal和ServerMonitor monitor分别是指纹识别服务器的三个分服务器:管理器服务器、终端服务器和监视服务器。FingerprintTerminal作为终端服务器,负责服务器与终端间通信的协议实现,其具体实http:/-6-现在TerminalProtocol类中。主要的消息类型有:0 x01命令(Command字段为0 x01)用于终端登录,服务器在TerminalList中记录终端
14、状态;0 x02命令用于断开终端连接,删除服务器记录的终端状态;0 x09命令用于终端获取服务器的当前时间;0 x0a命令用于终端通知服务器自己的状态(每隔一定时间必须向服务器发此数据包,否则视为失去连接);0 x10命令用于选择用户的匹配方法(指纹、声音、密码等),可用uid或card number区分用户;0 x11命令用于请求匹配并返回匹配结果;0 x12命令向服务器通知匹配结果(匹配过程已独立在终端上完成)。ServerManager 作为管理器服务器,负责服务器与管理器间通信协议的实现。它响应管理器的服务请求,将与终端有关的请求转发给相应的终端。3.4 指纹识别服务器管理器指纹识别服
15、务器管理器 图5为指纹识别服务器管理器程序的类图。FpServerManager类调用FrameManager类创建服务器管理器程序主界面,根据主界面上的各个菜单、按钮的点击响应再分别调用诸如注册用户类、注册访客类、注册终端类和注册组类等,具体的功能分别由各个相应类实现。FrameManager RegisterUser PanelRegUser;RegisterVisitorPanelRegVisitor;RegisterTerminal PanelRegTerminal;RegisterGroup PanelRegGroup;FpServerManager RegisterUser Reg
16、isterTerminal RegisterGroup RegisterVisitor 图 5 指纹识别服务器管理器类图 指纹识别服务器管理器的界面如图 6 所示。http:/-7-图 6 指纹识别服务器管理器界面 3.5 指纹识别服务器控制器指纹识别服务器控制器 图7为指纹识别服务器控制器程序的类图。Application类调用Frame1类创建服务器控制器程序主界面,根据主界面上的各个按钮的点击再分别调用控制器IP设置类和事件日志查看类,它们分别实现了设置要连接服务器的IP地址的功能和查看事件日志记录的功能。Application Boolean packFrame;Void main()
17、;EventLogViewer Database database1;QueryDataSet queryDataSet1;TableScrollPane tableScrollPane1;JdbTable jdbTable1;EventLogViewer(Frame owner,String title,boolean modal,String ServerIP);FingerprintTermianl String getIP();String getValue();Void setValue();Frame1 Socket socket;Network net;jButton1_acti
18、onPerformed JbInit();JButton3_actionPerformed JbInit();JButton5_actionPerformed JbInit();图 7 指纹识别服务器控制器类图 4.结论结论 本文介绍了一种基于指纹识别的门禁系统的设计与实现。此系统运用指纹识别技术,采用 Virdi-200N 终端系统,具有可远程控制服务器的管理器和控制器,允许管理员方便地对服务器和终端进行配置以及查看访问记录,为人员的进出提供了安全屏障,能够有效地解决出入人员混杂、难于控制的难题,实现了人员出入的自动化控制。目前本文所设计的系统没有考虑对数据库的冗余备份,而且通信过程中的消息
19、加密算法也较为简单,因此存在一定的安全性问题,有待在进一步的工作中予以解决。http:/-8-参考文献参考文献 1 Salil Prabhakar.Fingerprint Classification and Matching Using a FilterbankD.USA:Michigan State University,2001.2 戴平阳指纹识别技术研究进展R厦门大学学报(自然科学版),2002,第 6 期,750-755。3 Leong Chung Ern,Dr.Ghazali Sulong.Fingerprint classification approaches:An overv
20、iewR.Malaysia:Malaysia Technology University,2001.4 林剑,王宇飞Java 实例技术手册M中国电力出版社,2005,106155。The Design and Implementation of Fingerprint Identification based Access Control System Zhang Qian State Key Laboratory of Networking and Switching Technology,Beijing University of Posts and Telecommunications,
21、Beijing,PRC,(100876)Abstract In recent years,with the development of identification technology and network technology,access control system also gets fast development,and the access control system based on fingerprint identification appeared.This kind of system has many advantages such as safety,con
22、venient,easy management and so on.It is an effective method to insure the safety of the entrance and exit of important places,and now it has been used in many realms.The main purpose of this paper is to design and realize an access control system based on fingerprint identification that includes the
23、 core fingerprint identification server,server controller,server manager and database.Based on fingerprint identification theory and related documents study,the structure of the system is designed firstly,including use case design,GUI design,function design and database design.Then we establish the database and realize every function of access control system program.At last realize the whole system.Keywords:Access Control System,Fingerprint identification,Relational Database
限制150内