基于指纹识别的门禁系统的设计与实现

摘要: 近年来,随着识别技术和网络技术的飞速发展,门禁系统也得到了飞跃式的发展,出现了基于指纹识别的门禁系统。这种系统具有安全性、方便性和易管理性等特点,是确保各重要部门出入口安全的有效措施,现已广泛应用于各领域。本文的主要目的就是设计和实现一套具有核心指纹识别服务器、指纹识别服务器控制器、指纹识别服务器管理器和数据库的基于指纹识别的门禁系统。本文在指纹识别理论的基础上,以查阅资料为研究方法,首先对整个系统进行设计规划,完成用例设计、程序界面功能设计以及数据库设计,进而建立数据库和实现门禁系统软件的各种功能,从而最终实现整个系统。
关键词: 门禁系统;指纹识别;关系型数据库

1. 引言

我们的手指和脚趾内侧表面的皮肤凹凸不平产生的纹路会形成各种各样的图案。这些纹路的存在增加了皮肤表面的摩擦力,使得我们能够用手来抓起重物。人们也注意到,包括指纹在内的这些皮肤的纹路在图案、断点和交叉点上各不相同,也就是说,是唯一的。依靠这种唯一性,我们就可以把一个人同他的指纹对应起来,通过对他的指纹和预先保存的指纹进行比较,就可以验证他的真实身份。这种依靠人体的身体特征来进行身份验证的技术称为生物识别技术,指纹识别是生物识别技术的一种[1]。

现代指纹识别技术是通过计算机实现的身份识别手段,也是当今应用最为广泛的生物特征识别技术,在过去主要应用于刑侦系统[2],近几年来已逐渐走向民用市场。同时随着计算机网络技术的发展,人们对指纹识别系统的应用正逐渐由单机转向网络,由单一的事务处理转变为资源共享、协同工作的分布式处理。指纹识别系统与Internet 技术的结合,产生了网络化的指纹识别系统。网络化的指纹识别使用户可以更加方便的使用指纹识别系统提供的指纹信息及其应用服务。基于指纹识别的门禁控制系统正是这种崭新的生物识别模式的具体应用:终端通过网络请求核心服务器访问数据库下载用户指纹信息,用户利用终端指纹识别器请求识别,终端根据用户的请求信息与数据库中的信息进行核对,完成指纹识别的任务并将结果通知服务器,再通过控制请求终端连接门的开或闭实现对用户访问的允许或拒绝。另外通过对访问记录的查询还可以获得任意时间段内人员进出的详细情况。这样的系统正适合于某些特殊的场所,例如:银行、政府机关、军事机构、大中型企业的某些部门等需要保密或控制人员出入的地方。因此,本文设计的系统具有较大的实际意义和应用意义。

本文首先介绍基于指纹识别的门禁系统的整体结构,然后对系统中各组件的设计分别进行描述,最后进行总结。

2. 系统结构

本系统以指纹识别服务器为核心,它直接为Virdi-200n 终端提供服务。指纹识别服务器控制器能够本地或远程直接控制核心指纹识别服务器的启动和停止。指纹识别服务器管理模块为系统管理员提供终端监视、用户管理、查询访问记录、进行系统设置、修改核心数据库数据等管理界面。数据库采用SQL Server 2000 提供数据集中管理以联系指纹识别服务器和服务器管理控制,以及存储服务器设置选项和用户、访客的档案。图1 显示了整个系统的总体结构,其中,Virdi-200n 终端和指纹识别服务器管理器都属于客户端的范畴;核心指纹识别服务器、核心数据库、日志数据库以及指纹识别服务器控制器属于服务器端的范畴。指纹识别服务器控制器和指纹识别服务器管理器都可以对核心指纹识别服务器进行远程访问。系统中各组件之间使用TCP 协议进行通信。

图1 基于指纹识别的门禁系统总体结构图

系统各组成部分的功能如下:

1.Virdi-200n终端:采用VIRDI-FPSVR (for VIRDI-200N)终端设备,集成了用户信息存储、指纹信息匹配、控制门锁开关和发送状态报告等功能。
2.日志数据库:记录各种服务器事件的发生时间。
3.核心数据库:存储用户、访客资料,终端信息和服务器设置等。
4.核心指纹识别服务器:为终端提供用户、访客数据,记录连接到服务器的终端数、状态,通过写数据库记录用户登陆情况,接收并处理指纹识别服务器管理器发出的各种指令等。
5.指纹识别服务器管理器:提供终端监视、用户管理、查询访问记录、进行系统设置、修改核心数据库数据等管理界面。
6.指纹识别服务器控制器:本地或远程直接控制核心指纹识别服务器的启动和停止。

3. 系统各部分的设计与实现

3.1 指纹识别终端

指纹识别过程(如图2所示)在virdi-200n终端设备上完成。下面简要介绍其指纹识别算法(包括指纹图像增强、特征提取和指纹匹配三个主要步骤):

图2 指纹识别算法流程

1.指纹图像增强:图像增强采用平滑、滤波、二值化、细化等数字图像处理方法来进行。指纹图像增强采用以下几个环节:规格化,方向图估计,频率图估计,生成模板,滤波。一幅指纹图像经过规格化后,才能将该图的均值和方差控制在给定范围,以便后续处理。
2.指纹特征提取:指纹的特征信息很多,这些所有的指纹特征信息构成了庞大的指纹特征集合。指纹特征提取主要的工作是提取脊线上的末梢点及分叉点,用于后续的细节匹配。
3.指纹匹配:指纹匹配是通过对两个指纹特征集间的相似性比较,来判断对应的指纹图像是否来自同一手指。匹配过程用上一步获得的细节点去匹配数据库中的模板,给出匹配结果。

3.2 数据库设计

使用SQL Server数据库软件建立核心数据库与日志数据库,其实体关系图如下:

图3 数据库实体关系图

3.3 核心指纹识别服务器

图4为指纹识别服务器程序的类图。其中的FingerprintServer为主类,ServerManager、FingerprintTerminal、ServerMonitor分别是指纹识别服务器的三个分服务器:管理器服务器、终端服务器、监视服务器。其中管理器服务器和终端服务器分别具有协议ManagerProtocol和TermianlProtocol。

图 4 指纹识别服务器类图

 

表1为指纹识别服务器进行网络通信时所采用协议的消息格式(这里规定Start统一为“!”;ExtraData为扩展点,表示接着要传送数据的长度):

 

表1 通信协议数据格式

FingerprintServer为主类:TerminalList维护各登录终端的状态,ManagerList记录各管理器IP地址,POLLING_TIME表示终端超过此时间未报告状态则视为失去连接,TerminalPort为服务器与终端之间的通信端口,ManagerPort为服务器与管理器之间的通信端口,ServerManager manager、FingerprintTerminal terminal和ServerMonitor monitor分别是指纹识别服务器的三个分服务器:管理器服务器、终端服务器和监视服务器。

FingerprintTerminal作为终端服务器,负责服务器与终端间通信的协议实现,其具体实现在TerminalProtocol类中。主要的消息类型有:0x01命令(Command字段为0x01)用于终端登录,服务器在TerminalList中记录终端状态;0x02命令用于断开终端连接,删除服务器记录的终端状态;0x09命令用于终端获取服务器的当前时间;0x0a命令用于终端通知服务器自己的状态(每隔一定时间必须向服务器发此数据包,否则视为失去连接);0x10命令用于选择用户的匹配方法(指纹、声音、密码等),可用uid或card number区分用户;0x11命令用于请求匹配并返回匹配结果;0x12命令向服务器通知匹配结果(匹配过程已独立在终端上完成)。

ServerManager 作为管理器服务器,负责服务器与管理器间通信协议的实现。它响应管理器的服务请求,将与终端有关的请求转发给相应的终端。

3.4 指纹识别服务器管理器

图5为指纹识别服务器管理器程序的类图。FpServerManager类调用FrameManager类创建服务器管理器程序主界面,根据主界面上的各个菜单、按钮的点击响应再分别调用诸如注册用户类、注册访客类、注册终端类和注册组类等,具体的功能分别由各个相应类实现。

图5 指纹识别服务器管理器类图

指纹识别服务器管理器的界面如图6 所示。

图6 指纹识别服务器管理器界面

3.5 指纹识别服务器控制器

图7为指纹识别服务器控制器程序的类图。Application类调用Frame1类创建服务器控制器程序主界面,根据主界面上的各个按钮的点击再分别调用控制器IP设置类和事件日志查看类,它们分别实现了设置要连接服务器的IP地址的功能和查看事件日志记录的功能。

图7 指纹识别服务器控制器类图

4. 结论

本文介绍了一种基于指纹识别的门禁系统的设计与实现。此系统运用指纹识别技术,采用Virdi-200N 终端系统,具有可远程控制服务器的管理器和控制器,允许管理员方便地对服务器和终端进行配置以及查看访问记录,为人员的进出提供了安全屏障,能够有效地解决出入人员混杂、难于控制的难题,实现了人员出入的自动化控制。目前本文所设计的系统没有考虑对数据库的冗余备份,而且通信过程中的消息加密算法也较为简单,因此存在一定的安全性问题,有待在进一步的工作中予以解决。

参考文献
[1] Salil Prabhakar. Fingerprint Classification and Matching Using a Filterbank[D]. USA: Michigan StateUniversity, 2001.
[2] 戴平阳.指纹识别技术研究进展[R].厦门大学学报(自然科学版),2002,第6 期,750-755。
[3] Leong Chung Ern, Dr.Ghazali Sulong. Fingerprint classification approaches: An overview[R]. Malaysia:Malaysia Technology University, 2001.
[4] 林剑,王宇飞.Java 实例技术手册[M].中国电力出版社,2005,106—155。

作者:张骞 北京邮电大学网络与交换技术国家重点实验室,北京 (100876) E-mail:zhangqian99-03@163.com

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注