2022年嵌入式数据库在指纹识别系统中的应用 .pdf

上传人:C****o 文档编号:34273304 上传时间:2022-08-15 格式:PDF 页数:4 大小:47.45KB
返回 下载 相关 举报
2022年嵌入式数据库在指纹识别系统中的应用 .pdf_第1页
第1页 / 共4页
2022年嵌入式数据库在指纹识别系统中的应用 .pdf_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《2022年嵌入式数据库在指纹识别系统中的应用 .pdf》由会员分享,可在线阅读,更多相关《2022年嵌入式数据库在指纹识别系统中的应用 .pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、嵌入式数据库在指纹识别系统中的应用The application of Embedded database in the Fingerprint Identification System (昆明理工大学1 云南大学2)侯明 1 杨俊东 2 摘要:指纹识别技术近年来逐渐成熟,在门禁、安防和金融等方面得到了越来越广泛的应用。随着指纹识别嵌入式系统的发展,我们对嵌入式系统的数据库研究和应用也越来越广泛,我们以嵌入式数据库SQLite 来进行指纹识别数据库系统后台数据库的研究,提高了嵌入式系统的数据库处理能力,又满足嵌入式硬件系统的要求。关键字:嵌入式数据库指纹识别 SQLite 中图分类号:TP3

2、92 文献标识码: A Abstract: Fingerprint identifying technology have matured in Control, Security and finance, and other fields in recent years.It has been used in wider range. With fingerprint recognition embedded system development, we embedded systems research and application of the database also become

3、 wider, and here we SQLite embedded database to conduct background Fingerprint Identification System database database of research to improve the embedded database system handling capacity, to meet the requirements of embedded hardware system. Keywords:Embedded Database;Fingerprint Identification ;S

4、QLite 1 前言指纹识别系统是以指纹传感器和DSP处理器为核心构成。指纹传感器采集指纹图像,DSP处理器实时实现指纹识别算法。同时,指纹识别系统还具有较强的通信能力和数据库处理能力。我们采用数据库来实现对指纹传感器识别的数据进行存储、检索和比对等功能。像MySQL这类基于CS结构的关系型数据库系统,虽然代表着目前数据库应用的主流,却不能满足嵌入式这样的应用场合。我们需要的只是一个简单的基于磁盘文件的数据库系统,这样就不必安装庞大的数据库服务器,简化了数据库应用程序的设计。在这个系统中, 由于系统的硬件软件资源都有限,传统的数据库产品就明显有一些臃肿,甚至不可实现。这样, 嵌入式数据库的优势

5、就特别明显了。嵌入式数据库通常与嵌入式操作系统应用集成在一起,无须独立运行的数据库引擎,由程序直接调用相应的API去实现对数据的存取操作。我们所使用的指纹嵌入式数据库是一种具备了基本数据库特性的数据文件。与其它数据库产品的区别在于它是程序驱动式,而不是引擎响应。嵌入式数据库还有一个重要的特点是它们的体积非常小,编译后也不过几十KB,在一些移动设备上极具竞争力。从目前嵌入式应用的发展趋势来看,嵌入式数据库的实现必须充分体现系统的可定制性,即系统选择的技术路线要面向具体的行业应用,因而研究源码开放的嵌入式数据库对指纹识别系统的实现具有特殊意义。 2 嵌入式数据库SQLite SQLite 是 DR

6、ichard Hipp 在 2000 年开发的一个小型嵌入式数据库。它是完全独立的,不具有外部依赖性, 可以较为方便地应用于指纹识别的嵌入式系统中。其源代码完全开放,可以免费用于任何用途,包括商业目的。与常用的数据库管理系统(如 MySQL 和 Oracle 等)有所不同,在SQLite 中并没有数据库服务器的概念。应用程序不需要事先同数据库服务建立起网络连接,而是通过内嵌在程序中的SQLite 函数库来完成对数据的保存、查询、修改和删除等操作。 所有与数据库相关的操作都由函数库负责统一完成,这样无论是系统中的多个进程,或者是相同进程中的多个线程,都可以在同一时间调用访问数据库的函数;而底层阅

7、读会员限时特惠7 大会员特权立即尝鲜名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - 的数据加锁、事务日志和存储管理等都在SQLite 函数库中实现。它们对应用程序来讲是完全透明的。SQLite 不是关系型的数据库,不能用标准的SQL语句对数据库操作,对它的操作要调用专用的 API 实现。这些API提供了查询、插入、删除等功能。比如com.sleepycat.db.Db 类代表数据库对象。Db 类的put( )方法完成的是插入功能

8、;get( )方法完成的是读出数据的功能;com.sleepycat.db.Dbc 是 Berkeley DB的游标类,提供了遍历数据库记录的功能。SQLite 虽然是个极端轻量级的关系数据库,却保留了数据库的大部分特征,提供了对SQL92标准的大多数支持:支持多表和索引、事务、视图、触发和一系列的用户接口及驱动;支持原子的、一致的、独立的和持久的(ACID)事务特性。零配置(Zero-configuration) ,即无需安装和管理。 一个完整的数据库存储在单一磁盘文件中。数据库文件可以在不同字节顺序的机器间自由共享。支持数据库大小至2 TB。字符串和二进制大对象(BLOBs) 的大小仅被有

9、效内存限制。 源码体积小,编译后低于250 kB。大部分的操作比关系型数据库引擎要快。简单易用的 API。SQLite 由于小、快、简单、可靠,一发布出来,便深受欢迎。对于嵌人式环境,管理、执行、维护的简单化比企业数据库引擎提供的许多复杂应用更重要,因此SQLite 数据库是一个很好的选择。 SQLite数据库的内部结构如图1 所示。图 1 SQLite数据库的内部结构SQLite 本身提供了C 语言的 API接口,使得对数据库的操作十分简单,主要是对3 个 API函数的调用。SQLite 的接口是一些已经编写好的C库,即使使用不同语言的API,在底层仍然使用C库执行。 SQL语句通过接口进入

10、到高效的SQL编译器,由标记处理器(tokenizer)分解成柠檬分析器 (parser)可以识别的各个标志符,然后由分析器重新组合标志符并调用代码生成器(codegeneratot) 生成虚拟机器码,交由虚拟机(virtual machine) 去执行,最终完成SQL语句指定的任务。虚拟机是SQLite 内部结构的核心,不仅完成与数据操作相关的全部操作,而且还是客户和存储之间信息进行交换的中间单元。数据库按照B 树(B-tree)的形式存储在磁盘上,通过可调整的页面缓冲获得对数据的快速查找和存储。为了方便移植, SQLite使用一个抽象层接口(OS interface)与不同操作系统进行对接

11、。 3 系统的数据库功能指纹采集子系统指纹采集子系统的功能是完成活体指纹采集;它由指纹传感器和相应的外围电路构成; 当用户需要通过门禁系统的时候,把手指放在指纹传感器上,指纹采集子系统就能自动完成指纹采集。指纹识别子系统指纹识别子系统的功能是对指纹采集子系统所采集的活体指纹图像进行处理和特征提取并与指纹门禁机中的授权用户指纹模板进行匹配;指纹识别子系统是一个运行指纹识别算法的嵌入式系统,它的核心是高速数字信号处理芯片DSP 和存储器;每个合法用户有一个用户名或者编号,当用户需要通过门禁系统的时候,输入自己的用户名或者编号,并且把手指放在指纹传感器上采集指纹;指纹识别子系统根据用户名或者编号从数

12、据库中提名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 4 页 - - - - - - - - - 取出与用户名或者编号对应的指纹特征编码,然后把从活体指纹图像中提取出来的指纹特征编码与从数据库中提取出与用户名或者编号对应的指纹特征编码进行匹配;如果匹配成功,则允许用户通过门禁系统,否则拒绝用户通过。图 2 给出了指纹识别系统的简单流程,从功能上来说, 指纹识别系统的数据库功能主要实现数据的存储、查询、输入、修改和删除等基本功能。图 2 指纹识别系统的一般流程由于我们使用

13、的是嵌入式数据库功能来加以实现,因此使用SQLite 数据库。 4 系统实现 SQLite本身提供了C语言的 API接口, 使得对数据库的操作十分简单,主要是对 3 个 API函数的调用。其中,sglite3_exec()函数的第二个参数用来处理一条或多条SQL语句,语句间必须用 ;号隔开。如果是查询(SELECT) 语句,查询结果的每一条记录都必须调用第三个参数的 Callback 函数,第四个参数则为Callback 函数的第一个参数指针。如果不是查询语句,第三、四个参数为NULL。所有 SQL执行完毕后返回0,否则返回错误代码,可通过第五个参数值来查看详细错误信息。本系统以32 位的 A

14、RM 微处理器S3C4510B为硬件开发平台,采用Clinux 操作系统,移植了 Boa 服务器和SQLite 嵌入式数据库。系统主要功能如下,从传感器采集的指纹数据,经过数据处理, 保存到嵌人式数据库SQLite。指纹识别系统可在任何时刻通过实时监控指纹识别输入设备的状态。 因此对数据库的访问有上端的以太网通信程序和下端的CAN通信程序。为了将嵌有SQLite 的 CGI程序应用到S3C4510B+ Clinux 开发平台上,必须对CGI程序进行交叉编译,然后下载到ARM 开发板。交叉编译时需要用到的静态库文件,结果生成300 kB的 cgi 程序,通过NFS方法调试通过后,放到cgi-bi

15、n 目录下,同内核一起编译后下载到开发板。经过论证开发实现,可以实现指纹识别系统对嵌入式数据库开发的需求。5 结论随着人们对移动数据处理和管理需求的不断提高,嵌入式数据库将会使得人们希望随时随地存取任意思数据信息的愿望成为现实。开源的嵌入式数据库SQLite,内核微小,有能够充分适应硬件的能力,能很好地适应嵌入式系统的需要。嵌入式数据库SQLite 在指纹识别数据库系统中的应用,满足指纹识别系统数据共享的管理要求。由于资源占用少、性能良好和零管理成本,嵌入式数据库大有用武之地。SQLite以他小巧的体积、快速高效、稳定可靠、易移植等优势将成为嵌入式数据库领域的新宠。参考文献1 美霍拉鲍夫著 ,

16、陈雷等译 .嵌入式Linux-硬件、软件与接口.电子工业出版社.2003 年11 月. 2孙鹤旭,林涛主编.嵌入式控制系统.清华大学出版社.2007 年 05 月. 3孙纪坤,张小全编著 .嵌入式Linux 系统开发技术详解-基于 ARM.人民邮电出版社.2006 年 08 月. 4 美斯洛斯( Sloss,A.N.)等著 ,沈建华译 .ARM 嵌入式系统开发:软件设计与优化.北京航天航空大学出版社.2005 年 05 月 . 5孙琼 编著 .嵌入式Linux 应用程序开发详解.北京 : 人民邮电出版社.2006 6 张仑 编著 .名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 4 页 - - - - - - - - - 32 位嵌入式系统硬件设计与调试.机械工业出版社.2005.7 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 4 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁