当前位置:首页 期刊杂志

基于指纹识别的图书馆管理系统研究

时间:2024-07-29

彭 敏

(东北石油大学 图书馆, 黑龙江 大庆 163318)

近年来,随着图书资料的不断增加和各个图书馆规模的扩张,有关图书的各种数据也与日俱增,这大大增加了图书馆的各种管理的工作量,降低了图书馆的控制管理和运行的效率。所以,开发一套功能完善、易于操作、实用和高效的图书管理系统是非常必要的。

目前,在大多数的图书借阅管理系统中,一般都是通过贴有条形码的借阅证来对读者信息进行管理,对读者的身份鉴别则采用传统的人工识别模式,也就是由借阅管理人员人工识别借阅者的身份。在这种管理方式下,盗用和误用他人借书证借书或者由于弄丢借书证而无法借阅的事情时有发生,给图书管理和读者借阅带来了不必要的损失和不便,这也为图书借还管理埋下了隐患。[1]因此,在图书馆借阅管理系统中建立一套准确而高效的读者身份认证方式正成为各个图书情报单位急需解决的一个问题。

一 开发环境与开发工具

本系统使用微软.NET作为开发平台,编程语言则采用C#,根据面向对象的软件开发思想,使用微软 SQL Server 2008关系数据库作为该软件的数据库,使用功能很强大的SQL查询语言建立和查询修改关系数据库,从而可以实现存取数据库,以及对数据库的更新等功能,从而较好地实现了需求分析中提出的各项功能。常见的开发模式有浏览器/服务器模式和客户端/服务器模式,本系统采用了客户端/服务器模式。

1.NET开发工具。

微软的.NET开发平台是一套完整的、功能强大的开发工具,用于生成Form窗体应用程序、Web网站应用程序和各种移动应用软件开发等。.NET的一个显著的优点是把Visual C#.NET、Visual J#.NET和Visual Basic.NET等集成在同一个开发环境下,并且可以使用一套相同的函数。该开发环境还允许共享工具和创建混合语言解决方案。此外,这几种开发语言利用了.NET Framework的功能,.NET Framework是一个独立的安装软件,容易安装且兼容性好。一个计算机只需安装.NET Framework,在没有安装.NET开发环境的情况下即可运行.NET开发环境下开发的软件。[2]

2.Visual C#编程语言。

Visual C#是微软公司重点推广的一种面向对象的开发语言,是.NET开发环境的非常重要的一部分。它的编程风格和语法有些类似于C++,它继承了C++的许多语法和关键字,但它又是与C++很不相同的语言。它丢掉了C++语言的一些复杂特性,例如不再使用指针,而且内存的管理采用自动管理的方式,而在C++语言中,分配堆空间和释放堆空间都不是自动管理的。另外,C#语言还支持中文变量名称,这给编程序带来很大的便利,特别是在变量很多的时候,采用中文变量名/类名更容易记忆,写出的代码可读性更强。[3]另外,.NET Framework还提供了非常多的类库,每个类库内又有很多方法和属性,比较常见的属性和方法在这些类库中都能够找到,这显著减少了软件开发周期,也减少了代码编写的工作量。

3.SQL Server数据库。

SQL Server是一个常见的、功能完善的中型数据库管理系统。它的操作要比Oracle和MySQL等相对简便,但是功能也很强大,完全能够胜任图书借阅中的数据管理工作。它最初是由微软、Sybase等三家公司共同开发的,后来微软将SQL Server移植到Windows NT系统上,Sybase则主要开发该数据库管理系统在UNIX上的应用,在本文中使用的是微软的SQL Server,在后文中简称为SQL Server。[1]

SQL Server 2008是新一代数据库管理系统(DBMS),也是当前比较主流的数据库之一。它支持存储过程、ODBC连接等功能,并具有自己的SQL语言。SQL Server以其强大的管理工具和内置的数据拷贝功能为广大开发人员和系统集成商提供了一个优秀的关系数据库平台。[4]

三 指纹识别结构设计

指纹识别是指通过人的指纹验证人的身份。它能够根据指纹识别的方式验证读者的身份,有效防止冒用他人身份的情况。指纹识别图书借阅管理能有效地对读者借阅图书的身份认证,解决读者因卡丢失、消磁、遗忘等对借阅图书产生的一系列问题,不但可以提高工作效率,而且还节省了许多人力物力,增强了学校资料的安全性。

1. 指纹识别原理及技术。

指纹识别技术主要涉及指纹图像采集,指纹图像预处理,特征提取,保存数据,特征值比对和匹配等过程。就是把现场采集到的指纹与一个已经在数据库中存在的指纹进行一一比对,来确认身份的过程,认证的前提是他或她的指纹在数据库中已经存在这样才可以操作。

系统使用的指纹识别技术原理如图1所示。

图1 指纹技术原理图

2. 指纹识别功能的实现。

指纹识别功能是该系统的重要组成部分。该系统采用了中控公司的指纹采集仪和指纹识别软件开发包(SDK)。[5]该软件开发包包括初始化、捕获图像、特征提取、特征比对等方法。如图2所示,在录入模式下,首先初始化指纹采集仪,然后调用相应的方法进入录入模式,接下来如果有手指按压的事件发生,就自动调用特征提取方法。如图3所示,在比对模式下,首先初始化指纹采集仪,然后调用相应的方法进入比对模式,接下来如果有手指按压的事件发生,就自动调用指纹比对方法。

图2 指纹的录入模式工作流程

图3 指纹的比对模式工作流程

为了便于保存特征,采用了将二进制指纹特征转换为文本字符串的方案。将一个字节的二进制字符转换为两个字节的文本字符。例如将十六进制字符0XAE转换为两个字符‘A’和‘E’,将转换后的特征文本字符串保存到数据库中。将来需要做指纹识别时,再把该特征文本字符串从数据库中读取出来,按照相反过程转换为二进制字符串以后,即可对其进行识别。

四 结语

本文设计并实现了一个通过指纹识别的方式正确验证读者身份的图书馆管理系统。使用此方式验证读者身份,可以防止读者冒用他人身份借阅图书。因为借书不用带借书证,也避免了丢失借书证的情况。实验测试中我们发现,如果读者录入的是拇指指纹,指纹识别不容易出错,如果使用其它指纹,偶尔会出现拒识的情况,这是因为拇指的指纹纹理更粗一些,因此采集到的指纹图像也更清楚一些。实际的使用表明该系统通过指纹识别,实现了对读者的身份认证,是一个实用的、功能较完善的系统。

[1]付兴宏.SQL Server 2000数据库项目教程[M].化学工业出版社,2000: 12-32.

[2]崔淼,陈明非.Visual C# 2005 程序设计教程实训与习题解答[M].北京:机械工业出版社,2008:11-13.

[3]李兰友,杨晓光.Visual C#程序设计[M].北京:清华大学出版社,2005:11-13.

[4]王珊,萨师煊.数据库系统概论[M].高等教育出版社,2006:70-100.

[5]http://cn.zksoftware.com [EB/OL].

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!